Sanjay Zalavadia writes in an article for InfoQ that while Agile software development has proven to be a major benefit to various teams, it can affect businesses differently depending on their size and how they integrate the methodology into their operations. Zalavadia provides eight common areas which impact the adoption of agile development process in large enterprises:
#1 - Lack of Clarity
Large enterprises often include big teams that may consist of remote members. Under agile strategies, it’s important to have everybody involved in the project collaborate, so if remote workers aren’t able to easily communicate, it will be difficult to contribute.
It is also important to select an Agile project management tool that provides clarity for the whole team (especially when it’s a distributed team) and the managers that need information about the progress.
#2 - Continual Reliance on Legacy Methods
When you transition to agile, it requires a significant shift in culture. However, some teams still use waterfall and other legacy strategies for certain operations, which can lead to agile failure. A lack of management support and unwillingness of team to follow agile are some of the main reasons that agile projects failed.
#3 - Inadequate Experience With Agile
Possibly the biggest reason why agile projects fail in large enterprises is the fact that people just don’t have experience with the methodology or how to integrate it. For this reason, organizations should create a game plan and provide experience through pilot programs and coaching. Managers should also be included in the training because their roles and responsibilities will change radically when using Agile.
#4 - Lack of Collaboration in Teams Composed By Different Companies
Another problem, which is related to the first described problem, is the lack of collaboration within teams composed of members representing different subcontracted organizations. In this context, the team is not really a team, sharing the same objectives and the same plan. There is not one cooperative game but many games and the different games have different objectives. Team members need to respond to project objectives as well as those put forth by their own organization. However, the latter may not be aligned with the goals of other subcontractors working on the same project.
#5 - Lack of a Testing Strategy
The role of the tester changes and so the required skills to fulfill this role, equally changes. Testing needs to be done iteratively over features that, looking at them with an old fashion mind, are not fully completed. Moreover, regression testing is needed to continually assure that already built features keep working. It is clear that this implies deep changes for quality assurance teams.
#6 - Lack of Alignment in Other Areas of the Enterprise
It is very common in large enterprises that, while some areas work with Agile methodologies some others do not. The problem arises when these areas need to interact. When an Agile team needs something from another group during an iteration, and that other group works in a different way, has a different schedule and does not understand that by not providing what is needed, the Agile team won’t be able to complete the work for which it committed, there is a problem. It is a common error in big enterprises to think that this interaction will be possible and will work smoothly. In many occasions, it doesn’t.
#7 - Larger Teams and Big Pyramid Structures
It is clear that teams should be approximately the same size regardless of the size of the enterprise, with the ideal number hovering around seven team members. However, it is often the case that the number of teams working together end up being larger than what is really needed for the project. This could happen because of the restructuring of teams, because pyramid structures tend to induce the creation of bigger teams, because of culture or simply because large enterprises have many employees. The problem gets even worse when those team members are partially assigned to the project as the commitment is not the same. Added to this, there’s the problem of middle managers that participate in the project from an even more external perspective. The price to pay for overstaffed teams is having more complexity, larger meetings and lowered productivity.
#8 - Not Changing the Objectives
Radically changing the development approach should encompass changing the performance management objectives of the organization if they are not aligned. Otherwise, the development team would be working against one set of objectives while the management team against another. Also, consider the impact of individual performance metrics on teamwork measure the team on overall outcomes, not individual activity.
Learn more about Agile, download this eBook: DevOps misconceptions and best practices.
Large enterprises that are doing an agile transformation should learn from the many other companies that have already gone down this path. Agile can take time to get right, but by understanding the challenges other organizations faced, they can take these lessons into account for their own strategies. This will help businesses plan better for their transition to agile operations and boost their chances of successful projects.