Today, it is said that everything is evolving rapidly and technologies are constantly evolving as well. As technology changes, the methods of managing and producing technology are also affected by this change. The needs and software development processes of companies in recent years have been evolving in parallel. Project management methods (waterfall) used in the past may not always meet these needs and processes as desired.
We can say that Agile project management approaches were born for this reason. Agile is more of an approach than a project management methodology, as I mentioned above. Under this approach, there are actually many tools or systematics such as Lean Development, Test Driven Development ( TDD), Feature Driven Development (FDD), Extreme Programming ( XP), Scrum, Kanban etc.
In other words, Agile is actually a philosophy, and this philosophy has become independent from software and has affected different departments in companies. In many companies, Agile or Agility has become a word and philosophy used outside of IT departments. You may have heard expressions such as agile company, agile process in meetings.
So what are these agile approaches in general?
How is waterfall different from project management? The Waterfall project management model is as follows:
It consists of phases:
- Project Plan/Preparation
The biggest problem in this method is the change requests that come after the analysis is completed, especially during the testing process. Especially when a big change is requested, there is a situation like returning to the previous phases of the project and it poses a great risk. Because the other processes affected by the desired change were made according to the initial design and submitted to the test yet again.
Agile approaches, on the other hand, tend to complete the whole by constantly testing and improving smaller workable parts. In other words, instead of developing and testing the whole project completely, it aims to develop and test it piece by piece, and to change the codes and, if necessary, the design again according to each test result.
The fact that Agile approaches have become more popular lately does not mean that they are suitable for every project. In another article, I will make a comparison with waterfall approaches and talk about their advantages and disadvantages.