Why Agile Doesn't Work or 12 Fatal Mistakes
Going in for agile make sure the game is worth the candle. It has been one of the hottest trends in the IT for some time. Therefore, there are many people who either need software or provide software and are sure that’s a miraculous solution to their problems. In fact, the agile approach is just a methodology, a tool, just like a hammer. You can nail with it or crack a nut, however, it is absolutely useless to bake a cake or wash a window.
With Agile Software Development you can do a lot:
- prioritize and get the basic version of the product asap;
- tweak the product as you find appropriate;
- always be aware what stage the product is at;
- find another software development company if you doubt the current team ability to fulfill the project.
According to the statistics provided by Actuation Consulting research agency some type of agile is the most adopted approach nowadays.
Choosing an agile outsourcing company you must be sure it is what it claims to be: devoted or at least experienced agile adherents. Despite the seeming easiness of the idea its actual implementation can stumble and halt at times.
12 Fatal Mistakes that can ruin the Agile development process
- 1. Custom software development: Agile projects in waterfall environment
Most companies have a mix of development approaches as you see at the scheme above. The new approach is mostly implemented during development and delivery stages. Other employees who actually take part in the project realization (for example, architectures and designers) might still remain within the traditional scheme. This might raise tension within the company, especially when new features added by the customer require design tweaking or architecture overhaul.
- 2. Ignoring Agile best practices
The process has its indispensable traits: small cross-functional teams which move a user story to its logical end, everyday standup meetings, development priorities and regular iterations. Violating them will put any agile project to its knees. Therefore be sure to choose only true Agile evangelists for your project.
- 3. Lack of communication and self-organization
In Agile projects communication is the king. Team members MUST talk to one another every day. Short daily stand-up meetings are an indispensable part of the process. Every member should know what happened yesterday and what’s planned for the next day. Every member can provide his/her vision and insights and participate in planning what to do next.
- 4. Overmanagement
It is hard to believe that any work can be done without proper guidance and strict control. That’s why a close parental guidance from a manager will kill any agile project for sure. Management is bad while leadership is what you need to see the product delivered. We, at R-Style Lab, strongly believe that self-organization and self-management usually motivate employees.
- 5. Wrong choice of a Key Person
The key person is the one who understands how it all works and how to manage the agile development workflow and eliminate impediments if any. He or she always keeps to best agile practices and makes sure the rest follow these practices as well. But! No assigning tasks to members. No making decisions on behalf of the team. Make sure that person isn’t the product owner or an individual contributor to the team at the same time. That’s a good way to fail.
- 6. No Product Owner participation
If you are a Product Owner, your feedback and insights are vital. They show whether the product development is moving into the right direction. Share your vision with the agile team, discuss the progress of every new iteration and evaluate it. Make sure everybody concerned is aware of your feedback and it is not neglected. Be a good leader as a Product Owner or make sure the company has the right person for that role.
- 7. A piece at a time, not a feature at a time
Any project (especially a large one) must be broken down into digestible development pieces. The smaller the tasks are, the easier they are accomplished. So, your project backlog should be detailed enough. Though, not to specific to cause too frequent sprints.
Features usually do not appear during a single iteration but are evolved over time. In such a way marketers have enough time to assess the audience feedback and a Product Owner can tweak his or her requirements to meet the consumers’ ever changing needs.
- 8. Bad estimation and planning
First sprints are always difficult to estimate. Our vast experience shows that with time the team will be more precise in counting user-points for the next iteration and doing iteration planning. Thus be careful working with beginners in agile development, because only continuous practice makes perfect. By the way, backlog grooming shouldn’t be neglected either.
- 9. Delivery delays
An agile team has a schedule, developing a product little by little at time. A new iteration is delivered in about every 2-4 weeks. Everything which is committed to deliver is delivered. Being late for a day or two for every iteration can end up in a month delay altogether. And delays are well-known project killers!
- 10. Not delivery over quality
Early visibility of the product is a huge advantage for customers and end-users. However, strive for that should not boost the defect backlog to the unmanageable scale.
- 11. Poor testing
QA members of agile teams test every piece developed instead of waiting till the feature is delivered completely. Thus, testing becomes a continuous process, which helps prevent bugs instead of searching for them. We’re sure that good QA is not about finding bugs, it’s about preventing them.
- 12. Unclear done criteria
Done criteria show what the product should be at the very end. When they are achieved, the project is completed. Make sure they exist and are explicit and devoid of ambiguity. In general, human beings work better when they know what they should achieve.
It does not work wonders but practice makes perfect.
If you have a project which is badly described and are pressed for time, it is naïve to hope that Agile will solve the problem. What’s worse, you will be disappointed at the promising development methodology and quit all the attempts to turn to it in future.
In fact, there are very few companies which have managed to work with a classic scheme described in so many books. Agile is just a framework and every company finds its own way how to follow that path using Scrum or less popular Kanban or even a mixture of the two.
Our company has worked out the approach which allows for adopting agile workflow and enjoying it. We don’t just work according to agile principles; we live by them and love it. However, to make your project successful in agile environment, your participation and contribution is critical as well. Only then the well-known approach will bring benefits and foster your company’s success.