Choosing a development methodology. Agile and Waterfall were invented in order to satisfy a certain type of management need. Companies have to identify the advantages and disadvantages of these two methods and to work with the one that satisfies their needs and final scopes. Let’s see exactly which one is the best approach for enterprise app development.
Agile it’s considered more an attitude than a method in its own rights. It is an approach in which the project team accepts changes and updates, according to some project specifications. The Agile method gives more freedom to developers and designers. Changes can be made after the initial planning phase and as the client makes changes, the program can be re-written. There are some specific agile methodologies used by teams, the most popular ones are Scrum, Kanban and XP.
- Scrum. Scrum originally was designed for software development projects, but it works well for all types of complex and innovative scope of work. Scrum is an agile process where teams self-organize to determine the best way to deliver the highest priority features. Scrum projects make progress in a series of sprints and their typical duration is 2-4 weeks or a calendar month at most. During the sprint, the product is designed, coded and tested. A project team is typically formed by 5 up to 9 people and includes programmers, testers, business analysts and a scrum master.
- Kanban. Kanban is another framework used to implement agile. The main method of visualization is the Kanban Board. A typical development team has four workflow states: To do, Doing, Code Review and Done. One of Kanban’s core values is continuous improvement. Team members can visualize easier what has to be done and ensures easier decision on possible changes.
- XP (Extreme Programming). This type of project makes a clear distinction between the decisions made by business interests and those to be made by project stakeholders. Using this method, the developers are working on software products in pairs, two programmers at one screen. However, this method is controversial because it means that the team members are somehow forced to specialize and become analytics, architect, programmers, testers or integrators since every XP programmer participates in all of these critical activities every single day.
Waterfall. This is a linear method for project management from around the 1970s. Like the name suggests, development flows sequentially from start point to end point and has some basic steps: Gather and document requirements, Conception, Initiation, Analysis, Design, Construction, Testing, Implementation, and Maintenance. With the waterfall approach, the client knows exactly what to expect from the team, has a good idea about the time frame, size or cost of the project and knows exactly what their products will do. Once a stage of development is completed, the team can’t go back to the previous stage to make changes.
A hybrid between agile and waterfall. A hybrid of agile and waterfall methodology can provide a suitable structure for some companies. This method enables certainty in respect of the time and the costs, while realizing the benefits of the Agile approach.
Every organization has to figure out what approach works best for their culture, clients and employees. For us, the agile approach works very well. To learn more about our development process, contact us any time.
Photo source: http://amuse.rocks/wp-content/uploads/2015/04/develop_04.png