Programmers and software development teams have a World of their own, and for their work to get done, and your project to be delivered, the development team handling the project will probably be following a specific way of doing things, in other words, a specific software development methodology.
Here are three types of popular software development methodologies:
1- “The Waterfall” Model: No Way Back!
This type is the classic way of doing software development. As the name suggests, the overall flow of the project resembles the waterfalls you see in nature, the water keeps flowing down and can never go back up again.
In other words, the project is split up into different stages, each stage begins with a plan and clear expected output. Once the stage at hand is complete, only then can the next stage start.
This methodology lacks flexibility and doesn’t involve the client or get his feedback until all the stages are complete. However, if the final product has some issues, the development team and the client might have to do it all over again (the planning, the coding, the testing!), a process that can be really expensive both money and time wise!
3- “Scrum”: Suggest & We Will Modify
Scrum is a methodology so popular among many developers, and for reasons you can easily understand!
Scrum involves sprints, each sprint is timed to be finished within 1-4 weeks period! Every sprint involves a plan, time to execute, then a wrap up once the sprint is over and everything is working, or an extension of the current sprint if modifications need to be made.
During aach scrum sprint, daily meetings are held on the go to assess each team member updates, and to get any necessary guidance from the scrum master who is the person in charge of making sure all goes according to plan.
The development team can start a new sprint only once the previous sprint is completely done. Though this methodology is very popular, things can get a bit messy if one of the team members lacked the skills or the commitment to keep up with his individual tasks causing delays to the overall team work. However, if the team is highly skilled and very committed, you as a client will be very satisfied.
4- “Lean”: Get Rid of The Fat, Stick With The Meat!
This methodology is all about saving resources and getting rid of anything that seems to add no value for the project or the client. Just like removing the white fat completely from the red meat steak.
This methodology is known for its flexibility and its high level of commitment to save the client’s money and time when it comes to the overall software development process, as unnecessary small features and requirements could increase the amount of time needed to finish the project and could cost more money having to use more tools and resources. So Lean methodology is kind of “Saving” at its best!
We at Transcend usually use Scrum methodology, because we do realize how important the clients’ feedback and modifications can be along the way, and Scrum allows for such involvement and such feedback.