When Should An Agile Method Be Used In A Project?

When Should An Agile Method Be Used In A Project?

Agile has become very popular in the last few years. Its iterative and flexible approach is considered more and more suitable to manage information technology development projects in fast changing organizations.

There are multiple Agile software development methods that can be adopted, Extreme Programing (XP), SCRUM, Lean Development (LD) and Dynamic System Development Methodology (DSDM) are some of them. From those, SCRUM is the most popular and widely used. The Guide to the Project Management Body of Knowledge (PMBOK® Guide) includes Agile methods under the Project Lifecycle definition: “Adaptive life cycles are intended to respond to high level of change and ongoing stakeholder involvement. Adaptive methods are also iterative and incremental, but differ in that iterations are very rapid (usually with a duration of 2 to 4 weeks) and are fixed in time and costs”. PMBOK ® Guide Fifth Edition, page 46.

When an Agile method should be applied to a project? In order to take that decision you may verify the following characteristics in your project:

Project size: Agile works better in small projects where you can provide small and punctual deliverables in very short periods of time in order to build gradually the final product. It is also good to use Agile in complex projects where the customer has difficulties to define the requirements or those are subject to change very frequently. You may also break a big project into smaller parts and apply Agile to manage those parts individually.

Customer / stakeholder’s availability: Agile requires high stakeholder engagement as deliverables are to be produced in very short periods of time covering multiple iterations. Stakeholders provide high-level input to produce those deliverables and they normally participate in the testing process. Collaboration between stakeholders is very important.

Project objectives and requirements: if requirements change frequently, Agile provides a flexible approach that let you prototype ideas to the customer in a fixed time-scale, allowing modifications to deliverables in each iteration. In an Agile approach requirements emerge gradually by constant feedback cycles and interaction among project participants.

Project team: in Agile, the team is empowered and self-organized to accomplish the tasks. They work in a truly cooperative environment where leaders collaborate with team members to produce the deliverables in an incremental way. It is important to take on account if the team is collocated or geographically dispersed in order to evaluate the organization and communications difficulties you may face.

Project estimation and planning: when using Agile the iterations are the planning units for your project. In every iteration, a set of activities related to certain deliverable(s) is completed. You may not get the deliverable(s) for that iteration totally correct, then you would refine them in the next iteration and so on. If planned deliverables cannot be completed within the specified iteration, functionality may be reduced or tasks may be rescheduled.

Project’s value for the Customer: verify with your client if the project results will add more value if they are accomplished incrementally, in small pieces or if his expectations will be fulfilled only when he can see a complete product.

Organization’s experience in Agile methodology: if your organization is new to Agile concepts it will take more time and effort to adopt those processes before you can apply them to a project. If that is your case, you may start talking about Agile and promote its use among your teams.

Some projects suit Agile more than others. For example. if your project’s main objective is to implement an ERP module where the supplier has a pre-defined process and detailed steps, it might be better to adopt a water fall approach. By contrast, if your project is related to a reporting system where multiple reports will serve diverse business units or it includes the deployment of a system that requires multiple iterations to be setup and tune, an Agile approach would work better.

In my next entry I’ll talk about the project manager role in Agile projects.

Are you using Agile already to manage your projects? Share your experience with us, we’ll be happy to hear from you.

Share this Post!

Related Posts

Gamification, serious game
T1FC Is A Great Team Building Activity!
Congratulations To All Who Have Participated In The T1FC at IUT Lumière Lyon 2!
Questões Abordadas no Webinar: Pergunte Sobre Gestão de Projetos
Marianela Abarca

Marianela Abarca

Versatile, proactive, and engaging professional with wide experience in project management and IT business analysis in several international companies related to Internet, finance, food, manufacturing and merchandising industries. Able to manage and deliver IT and business services dealing with multicultural and cross-functional teams. Linkedin profile.

2 thoughts on “When Should An Agile Method Be Used In A Project?

  1. My opinion is that it does mttear, but there is also a delicate balance to maintain. When working with remote teams, we try to make sure that there are full feature teams at the location and well-defined and frequent (at least daily) touch points back to headquarters and we always work to get those teams co-located in the same space.The trade-off is between team and personal productivity. I do think that most individuals are for periods of time more productive when they have privacy and seclusion, but that it always comes at the expense of the larger group being part of what they are doing. Taken to its extreme, it leads to documentation replacing human interaction – something we all know is counter to what we are trying to accomplish. I also think that seclusion leads to distraction – co-location tends to help keep everyone on the team focused on what the team needs now. Your teammates help keep you from following tangents that are unrelated to the current work in progress.

    1. Thanks for your comment. You are right with an Agile approach, direct human interaction is very important as depending of the project nature it could increase productivity. On the other hand, if the team is goegraphically dispersed communication rules and the methods to be used must be very clear and well respected. I’ve worked with a mix of virtual and co-located team and results can be impressive if everybody is motivated to work on the project and working rules are clear. Of course, issues are inevitable but that’s part of the job of the project manager.

Comments are closed.