When Choosing Agile?
What is the best approach to achieve a software project?
As Project Manager, when we start a new software project, we always have this dilemma: What is the best development approach to use? There are many models and approaches available today that can suit a variety of projects and organizational processes. The most popular and successful of these have been the Waterfall and Agile.
The Waterfall approach, sometimes referred to as "Big Design Up Front", is a model that begins with one initiation phase and then proceeds from one phase to the next in a purely sequential manner. We have usually 5 main phases: Requirements, Design, Implementation, Verification and Maintenance.
Agile refers to an iterative approach, where requirements and solutions evolve through collaboration among customer and development team. In other words, the Agile approach means that you create deliverables early and refine them through several iterations with the customer.
Many projects use the hybrid model. In this case, there are two approaches: Using Agile within Waterfall and Using Waterfall within Agile.
Making the choice between Agile and Waterfall
So, how do we choose?
We consider the following factors (but also others) when analyzing which approach to use:
The factors above are not equally weighted; each is assessed depending on the project and circumstances.