There are lot of methodologies available in which we can run a project. Choosing the methodology is the biggest challenge. Some use waterfall, some use iterative waterfall, some use Agile and etc based on their company culture or project.
We have to be wise in choosing the methodology, so that we can ensure that the project is completed on time, client is satisfied, project output is up to the mark and profitability.
Here I am listing out few questions based on which you can decide which methodology will be good for your project development.
1. What is the Project Type? Feature Based/ Timeline/ Budget
Feature Based Project: If the client is focused on feature based project then it is better to go with Agile & Scrum based approach. We can set a dedicated team and track the ongoing performance. But in this approach the client must be active all the time to define the scope of work for Sprint and to attend the daily calls. If the client cannot be active all the time then go for Time & Material model.
Timeline/ Budget: If the client is concerned on timeline/ budget then go with the traditional approach.
2. What is the Project Size? Small/ Medium/ Large
Based on the company the project size will vary. Example: For a start up the small size project will be around 50 days, medium size will be around 100 days and large will be around 150+ days.
Whenever the project size is size then don’t go for any modern approach. Just go with the traditional way. Example: Implementing Agile for small project might result in loss.
If the project size is higher (As per the budget for the company) then go for the modern approach like Scrum, Agile with Scrum, etc. Also if the project size is high then spend some time in the initial phase to find out the complexities, for POC’s, etc to judge the scope of work and timeline required to choose the methodology.
3. Requirements are stable?
If the client is define the scope on exactly what he/ she needs then go with waterfall method. If the client is not sure what is needs or the requirements are not up to the mark then spend time with the client to freeze the requirement (At Least minimum level). Then based on the SOW either go with T&M or Agile.
Assume, you have chosen waterfall and client is kept on providing changes during development then based on the situation go for iterative approach because here you can accommodate new features even after the project is started.
All the above are based on my experience, so if you have any suggestions or comments, please do share.