Understanding the development process can be challenging. The software development process features many different methodologies, models process models, activities, tools, and frameworks. The list of concepts is long. A few key development process models will be presented: Waterfall, Agile, and Spiral.
What’s important to understand is the “Why we need a software development process?” One of the things that should become apparent is that organizations use a software development process because they need IT development to be well defined, repeatable and predictable. Organizations need to create products for delivery to customers, and to do so consistently; they need to follow strict software development process. Let’s take a look at some models.
Waterfall – The waterfall model of development is a model broken up into phases. The phases are: requirements, analysis, design, coding, testing, and operations. That is not to say that one cannot return to a previous phase. It is possible to return to a previous phase, however it may be complicated to redo the work. Ideally, once deliverables have been signed off for a given phase, they should not need to be reworked. This model is good for projects that have clear requirements specifications and that do not need many changes to requirements during development.
Agile – More recently, Agile, instead of relying heavily on written documentation, daily team meetings are the focus of Agile. Sometimes organizations do not have a clear picture of the requirements, or they have the requirements, but the organization knows to expect that the requirements will change throughout the project. Agile is good for this because it divides application development into modular components called iteration or sprint. Each component piece focuses on a set of requirements or features that the customer prioritizes. By dividing the work, a system can be delivered quicker, even if it is only partially complete. However, agile does not work all the time. If the system is a large application system, it may not be able to be broken down into smaller components.
Spiral – Under the spiral model, the project is broken down into sub-projects, which are then categorized according to their risk weighting. By attempting to tackle the toughest risks first, it demonstrates that if those are possible, then the rest of the project will be much easier and will lead to success. If the team cannot handle the initially tough risk component, then it will at least the project team did not spend months on work, only to find out that the project will stall near the end.
Interested in Management? Check out our management course!