There is an extended number of software methodologies that have their own advantages and disadvantages. First, it is possible for organizations to use the Waterfall method that is based on a sequential approach. Its main pros are that it is rather functional and understandable, and it can be successfully used in a limited period of time (Jamsheer, 2018). Its key disadvantage is that each process has to be completely finished before the next phase begins because it is impossible to come back to the previous one and make changes.
The second software development methodology is Prototype one. Its initial idea is to integrate clients into the process of software development, which is both the weakness and the strength of this method (Jamsheer, 2018). Since the developer first has to create a prototype or sample and then make sure the customers see its value allows this method to avoid errors and reduces the risk of failure. Further, there is also a useful software development methodology known as Agile. It is often compared with Waterfall, and the principal difference is that Agile uses a more iterative, adaptive, and flexible approach, which is its main advantage (Jamsheer, 2018). As for its cons, they are the lack of efficiency of documentation and unclear outcome.
Generally, the models mentioned above are useful in different situations. The Waterfall method is helpful in cases when the requirements are easy and less time or money has to be spent on the project (Jamsheer, 2018). The Prototype model is used when the product’s instructions are not specific or can change quickly. Finally, Agile should be preferred when the features and the vision of the product are not defined clearly, and priorities can be aligned by the product owners.
Unfortunately, it is not always possible to predict the positive outcomes of a software project, and some of them fail. For instance, in 2015, a medical equipment manufacturer CareFusion had to recall its Aleris Pump because it did not work as planned (Tricentis, 2018). Instead of delivering infusions to patients on time, it constantly delayed them. The reason is not stated, but this manufacturer has many other failures, and it probably does not comply with production conditions. Another example is “a serious software glitch in the F-35 Joint Strike Fighter air crafts” that did not allow the plains to detect targets correctly (Tricentis, 2018). The reasons are the lack of cyber security and software bugs.
References
Jamsheer, K. (2018). 12 best software development methodologies with pros and cons. Acodez.
Tricentis. (2018). Real life examples of software development failures.