Looking back, I feel that the bugs that we experienced during Seneca could have been prevented if we had followed a more formal software development process.
An important aspect of any formal software development process is to perform a hazard analysis.
Basically we need to think about all the conditions, events, or circumstances that could lead to or contribute to an unplanned or undesirable event (the hazards and their causes).
Then we need to assess the risk by combining the severity of consequence with the likelihood of occurrence in a matrix (the risks).
If a risk is unacceptable we need to mitigate it (the mitigations).
Then we need to check that the residual risk is acceptable...
Looking back, I feel that the bugs that we experienced during Seneca could have been prevented if we had followed a more formal software development process. An important aspect of any formal software development process is to perform a hazard analysis. Basically we need to think about all the conditions, events, or circumstances that could lead to or contribute to an unplanned or undesirable event (the hazards and their causes). Then we need to assess the risk by combining the severity of consequence with the likelihood of occurrence in a matrix (the risks). If a risk is unacceptable we need to mitigate it (the mitigations). Then we need to check that the residual risk is acceptable...