Agile projects come with their own challenges. While the tech industry has increasingly adopted agile, practical experience about agile methods is not always available. Certain consultancies and third parties have made roaring business out of the agile coaching usually solicited by corporations while embarking on agile transformations. In many cases, the corporations did not have a system of follow-up and in others the consultants did not help adapt the frameworks to the specific case at hand. In the end, teams end up without understanding the agile values and “whys” of using agile and focus on ceremonies like the stand up meeting or having a kanban board. Along with misconceptions and lack of clarity about the methods to be worked with, these are some of the main reasons I’ve seen agile projects fail.
- Lack of experience with Agile methods as well as insufficient or poor quality training: Before launching an agile project, all team members should be trained on the agile values and methods. Ideally a good agile coach should help guide the team through the forming/self-organizing, the agile events (planning, daily stand up, retrospectives) and at least one or two iterations. The coach needs to revisit the team after certain amount of time has passed (six months / a year) to review and fine-tune the continuous improvement process of the team. Without such help, teams are often stuck in ceremonies without any value and often perform worse than plan-driven projects.
- Lack of technical experience in the development team or lack of architect / technical lead: Agile methods mandated generalizing specialists for the team. Unfortunately with the rapid changes in technology, it’s difficult to find such developers due to cost constraints. Often experienced developers / technical leads / architects are in short supply and not available on a regular basis to the team. If there is rarely any overlap in the skillsets of the team, assumptions are less likely to be challenged increasing the risks. Lack of experience may lead to dependencies and tasks not being identified during planning or not being able to demand enough detail from the product owner.
- Confusion about the product owner role and responsibilities: Frameworks like scrum mandate having one individual performing the product owner role in order to avoid confusion of too many people managing the product backlog. The product owner needs to be knowledgeable to be able to discuss on business terms with product manager / users/ customers while at the same time being able to define stories and discuss technical aspects with the team. Too technical POs often spend more time writing stories working with the team rather than validating priorities and ensuring what they’re building is correct. POs without technical grounding often find it difficult to explain details of requirements or provide acceptance criteria to the technical teams.
- Silo-ed working instead of a true cross-functional team - even after feature teams are formed, if certain team-members continue to identify themselves by function (developer / tester / operations etc.), this could lead to reduced collaboration and communication problems.
- Lack of stable teams - if the corporation does not have a product organization and continues with functional / matrix structures where teams are reorganized due to projects and change initiatives, the knowledge acquired between iterations could be lost and team dynamics could be impacted
- Company culture being at odds with core agile values - if the corporation has not completed agile transformation and agile exists only in pockets in the development teams, it’s likely that agile teams/project managers would have to follow traditional processes across other areas: e.g. customer collaboration may be impacted if participation is not assured or if budgeting still follows one-off initial baseline and change control.
In most cases, company culture is the primary reason for failure of agile projects. If corporations manage to instill a culture based on agile values, teams would appreciate why they follow agile-methods and self-organize in an enabling environment. The role of management in removing organizational impediments for the team to maximize delivering value is crucial.
comments powered by Disqus