Why Your Agile Project Failed: 5 Lessons to Learn
Chances are we’ve all participated in an agile project that failed – it was delivered late, wasn’t delivered at all or lacked some features that the management expected to see.
Nowadays Agile is often considered an end-all solution to any problem. So why does it happen that projects following different agile methodologies still fail? Here are some of the most common problems that agile projects face and what can be done to eliminate them.
Lesson #1: Set a deadline keeping all conditions in mind
Planning is never easy, and when you estimate a deadline, you simply make an assumption. For example, you plan to hire 2 more people and set a project deadline as if you already had them in a team. But then you fail to hire these 2 people, you team can’t complete the work on time and the management works off anger on you because you’ve set this deadline.
So make sure you keep all possible conditions in mind when setting a deadline. For example, “With 5 people, I can deliver feature A by around time X. If I hire 2 more people, we will increase the velocity and finish by time Y”.
Lesson #2: Hiring more people doesn’t mean more progress
You can’t pay 9 women to deliver a baby in 1 month. You definitely can get more people to finish the project, but when you hire them, make sure you hire the right profile for the job. If your developers work 10 hours a day, you should add a good developer, not a manager.
Lesson #3: Always have a project sponsor
No matter how highly Agile is praised, it is not a magic bullet. That’s why it’s very important to have a sponsor who will stand behind the project in case of emergency.
Lesson #4: Take your time to make estimations
It often happens that the management expects a specific deadline even before they know anything about the project. For example, “We want to build a tool X. When will it be ready?”
It’s always hard to set a deadline, especially early in the project, and Agile doesn’t make it easier. Here is what you should do:
- Create a product roadmap
- When you have an idea, write it down and roughly estimate it. Then discuss this idea with various product teams, add more details and estimate it together again.
- Break big items into smaller chunks/stories. It will make them easier to estimate.
Lesson #5: Everyone’s opinion matters
Agile teams have a very flat hierarchy. Every team member is usually an expert in their own field, so they have opinions about project processes that matter to them. That’s why when a developer feels really connected to the project and has suggestions on, for example, UX or other things, listen to them and make a decision taking into consideration all opinions.