Agile project management
has a long history, but we have started to hear this methodology more frequently in last 5 years. Because of the increasing change speed of technology and importance of cost reductions in projects, Agile Project Management approaches started to become more important especially in Software Projects
Agile Project Management:
Agile project management methodology
proposes to deliver a product or work package to a customer in smaller pieces instead of a complete delivery at the end. These smaller pieces are called as “sprint” and at the end of each sprint, customer has chance to see a testable deliverable of a software, for instance a module of a big screen. Since bigger software parts are decomposed into smaller, testable and verifiable parts, this methodology enables to show the outcome of the project work sooner compared to former methodologies. Following figure shows Agile Project Management Methodology in projects.
Instead of Project managers
, agile projects are led by the Scrum Masters
and they are responsible from team coordination and collaboration. Delivery sets for each day are shaped during scrum meetings which take less than 15 minutes each day. Main purpose of these meetings are letting know each other that “where I am in my activity”, and also fixing problems of team members if there is any.
Let’s say that in your software project, you have a very big screen that needs to be developed, your estimation is 70 days and this screen includes 20 modules. If you use former methodologies, they imply to plan this screen to be developed as a whole and tested by the customer at the end once it is ready with its all modules. Changes are inevitable in projects, and it is more inevitable in software projects. 70 days is a very long duration in software world that many things can change during this period including:
Therefore, instead of developing and delivering such a big screen as a whole might cause problems especially in user acceptance or in other terms validation. Because, only at the end of the screen customer will be able to check the functionality of the screen and then accept, reject or request changes.
For example, at the end of the screen, customer might come with a change request which affects 6 modules of the screen and needs 1 day of rework in each. This means 6 days of rework in total.
However, if you have adopted Agile Project Management methodology, this change request would have been received right after you delivered first module of those 6 modules, and this change would be causing rework only in 1st module. Rest of the modules would be developed in compliant with the requested change since change request has been received for the first module. This means 1 day of rework in total. As a consequence 5 days of saving compared to former methodologies.
As expressed in the example above, agile methodologies can enable more frequent deliveries of the project work, shorter testing and validation periods, decreases rework and increases team collaboration. If you are adopting agile methodologies in your projects, the most important thing in my opinion is to avoid scope creep. Because customers see frequent outcomes and based on the outcomes they might request excessive change requests and these may result in scope creep that you can lose the control of the project.
A common mistake about Agile Project Management is done by the organizations. I have seen even in a very mature and corporate organization with over 10.000+ employees that “Agile” is abused by “Unplanned” or “Very Fast”. I remember through our meetings with one of my customers during project initiation that an executive of the customer said “We do not have enough time for planning; we need to deliver this project by end of this year. Therefore we need agile project management”.
Agile can save time in your projects, but this doesn’t mean that you will go without planning. You will still have a scope, a budget, a time-plan, resources, constraints etc. Only methodologies and approach of Agile Project Management
might save your time, it will save time through decreasing rework, spreading validation through time and decomposing the bigger work into smaller more manageable and deliverable pieces. Keep in mind that if development of a screen is 5 days, you cannot deliver in 3 days by adopting agile methodologies. Effort needed to be spent to complete a specific activity is same and depending on the activity, performer, project and other constraints.
Author : Resit Gulec