I’ve been asked to do an independent root cause analysis for a client on a software engineering project. It was a leading question as they indicated lack of testing.
In my opinion lack of testing is never the root cause but the penultimate symptom – but the sequence of events that led to a leadership decision for lack of testing is. That is normally buried in the culture and environment – the people, processes, and technology. Lack of testing was the last item to test the other items that failed.
A root cause analysis is often the beginning of a change to a culture or environment. They are often met with resistance that employee’s do not feel comfortable presenting, or feel pressured to lean one way or the other for fear of offending someone. They often default to “lack of testing” as the root cause . As an independent with no “internal politics” to deal with I am free to gather findings without prejudice.
Preventative actions are often training, mentoring, and coaching – oh and sometimes patience because technology when done right can’t be rushed.
Without doubt the two most common features that I find whilst performing a root cause analysis are not lack of testing but:
- pressure from non-technologists to implement change to fast and scheduling change without first understanding the impact and risk
- inability of technologists to explain and non-technologists to understand the intricate nature of Software Development Management