Agile vs Non-Agile Development Process
While delivering a training session on development life cycle, a discussion started stating we should have separate development life cycle for agile. Let’s discuss should it be really separate? Let’s talk about in term of phases. I will not write down the name of the phase just for the comparison purposes. Let’s look at both models and focus of phases within them:
| Phases | Non-Agile Methodology | Agile Methodology |
| Phase I | In this phase, we are most concerned about business modeling of the solution we have to work on | Its pre project planning, it might be involve feasibility and establishing a vision about the project |
| Phase II | More focus is on requirements finalization to start performing analysis and design | This phase is about team development, initial requirement envisioning, initial architecture envisioning and stuff |
| Phase III | In this phase, real concentration is on software construction | This phase is about iterations, in which some piece is being developed. It will include activities like analysis, design, developing through TDD and that will be an on-going process |
| Phase IV | This phase is all about testing to stabilize our solution | This phase involves final testing, some reworks, deployment, and user documentation |
| Phase V | In this phase, solution is moved on to production | This phase is about handing the solution over to users |
| Phase VI | This is the life phase of the product. In which support, maintenance and other support activities are performed. Finally product is retired once its life cycle is over | It’s about retirement of the solution. It involves support functions required to maintain our application |
After looking at phases for agile and non-agile practices, it’s prevalent that we may define a process on the basis of phases. From an organization’s stand point a process model could be defined that may suit both of these development practices. As artifacts produced in both the practices are same, it’s just about how detailed they should be and in which phase we expect what different artifacts. But again it’s a comparative analysis; someone could have different perspective than this one. Comments are welcome.
whats an non- agile process model?
By non-Agile I mean traditional model being followed which is Water fall.