One of the main issues with Agile implementation is that organizations more than often fail to benefit from the benefits proposed by the framework. Organisations have high hopes, and lots of expectations when they decide to use Agile, and it is not uncommon for businesses to think in terms of increased business opportunities and enhanced earnings using the framework. Agile is eventually implemented after many discussions, and as the implementation process commences, the management realizes that things are not as easy and simple as originally envisioned. Iterative development cycles fail to deliver successful stories, the correct business value is not offered to the client, and the team may seem to be struggling with Agile processes and principles. Perhaps the main reason why this happens is that:
- The team and the management have not fully grasped Agile, and
- The management has not correctly identified the need for Agile based development.
Failure to understand and follow Agile processes
Agile principles are very easy to understand and follow but difficult to practice. The team needs to mold its working as per the principles, and this requires a certain degree of mental discipline. Often, team members are not ready for this. They are not committed enough. All Agile based frameworks such as Scrum support collaboration and teamwork. The “inspect” and “adapt” principles help to improve the feedback system which is very important to Agile. This is possible only when the team is ready to share ideas and accept Agile wholeheartedly. When the management decides to implement Agile, the team is often reluctant to accept new changes, and views the implementation process as a “company decision” – A typical scenario where the team is forced to accept what the management decides.
A lot depends upon how the management decides to introduce Agile to its teams. While some organizations favor a gradual transition from existing development methodologies to Agile, a few businesses may still support “sudden-death” format in which organizations abruptly change over to a new working process overnight. Whatever the process, the management should give some time to the team so it can prepare itself mentally to accept the changes. People need time to understand newer processes. If a team is made to follow new processes all of a sudden, it could lead to reluctance and resentment. Incentives and perks are great morale boosters. If the company cannot afford to reward the team financially to accept the Agile process, it should do everything in its power to make the transition more appealing and acceptable. Training sessions can be conducted so the team can understand the framework, and what it proposes to do. Above all, team members should be made to realize that Agile processes can help them to increase their productivity, which, in turn, could lead to higher incentives since the company benefits through the new process as well as individual efforts of the team members.
Comparing Agile to Waterfall methods
A second common problem faced during Agile implementation is introducing the framework to teams following Waterfall and traditional development methods. People following a particular methodology get used to it over time and have a tendency to reject new methods and ideas – at least mentally. With Waterfall, most development teams seem to make it a habit all over the world to compare Agile with Waterfall and start picking faults with Agile. It would seem that Waterfall has a dedicated fan club with highly loyal subscribers, who simply refuse to give up Waterfall. This mentality creates a serious hurdle for Agile coaches promoting the process to potential clients. When efforts are made to introduce Agile to Waterfall teams, teams fail to make serious efforts in embracing Agile – simply because Waterfall still exists and can be followed.
It can be difficult to remove old habits since most development teams tend to remain skeptical about adopting newer methods. The possible way out for the management would be to coach the benefits of the proposed system and encourage the team to accept new ideas and methods. A reward and penalty based system could possibly solve the issue. The management could make the adoption process mandatory and evaluate the team based upon the performance it delivers. The role of senior team members is important too – they can lead by example. If seniors start adopting the process, the rest of the team would be inclined to follow. It would be up to the management to decide which process is suitable and effective, however, whichever process it chooses to adopt, Agile should be understood and followed keeping the basic principles in mind to avail positive results through its implementation.