Agile implementation and the development team
As the popularity of Agile based frameworks such as Scrum and XP keeps on increasing, more and
more software development businesses and IT companies are migrating towards the frameworks to reap the benefits of Agile. Organisations new to Agile have many expectations, about how, and up to what extent they will benefit from the product incremental cycles and the basic Agile principles which offer and promise a lot to organizations implementing them. In practice, however, the scenario is quite different and instead of benefiting from increased productivity levels, IT businesses tend to face many types of problems while implementing Scrum. If or when the implementation fails, or desired results are not availed through Agile, managements start having second thoughts regarding the practicality of using Agile. While a lot has been discussed as to why Agile might fail, a highly common reason that contributes to the failure is the attitude of Scrum teams and their willingness to accept Agile. Reluctance of development teams to accept Agile framework
Agile implementation involves changing the current working pattern, especially if you are following
traditional development methodologies like Waterfall, and aims to make the development team more self-reliant and self-organizing. In Agile, the team is offered more autonomy. The team is allowed to function in any manner it so desires - as long as it follows Agile principles. However, along with working independence and autonomy comes responsibilities and self-governance - the two aspects most teams fail to uphold in the manner as suggested by Agile.
One of the primary reasons why teams fail to implement Scrum, or any other Agile framework for
that matter, is that it becomes difficult for the individual team members to accept changes and mould their working to suit a new working pattern. As a rule, most people who are habituated to one particular method of working, and who feel comfortable doing what they have been doing since quite some time, do not feel comfortable when exposed to new working conditions and a new set of rules to follow. Changes are not easy for most individuals and managements need to understand this fact. As is often the case, when managements decide to introduce Agile, they do so without issuing any prior warnings to the team. The team is not mentally prepared to learn or accept a new method of working – especially a method which may seem to challenge their basic beliefs in how production and development should occur. Agile may seem radically different to people who have developed projects using traditional development methods. It challenges team members, even senior management personnel, to think differently, and to trust each other as far as work is concerned. And therein lies one of the important issues – it is not easy to put trust in somebody whom you have known for a short time, or who does not share your ideas or beliefs. Another issue is understanding a totally new way of working. Some individuals welcome changes while some don't. From the management's point of view, it is difficult to force people to accept new working environment. It is also important to maintain the retention levels of employees since a team is difficult to train, it takes a lot of time in training new employees, and the management may have to invest in trainers and coaches on a frequent basis to train employees as and when they join. Why Agile may fail to implement correctly
Some of the common issues why teams fail at Agile:
Agile advantages for the management and stakeholders
Agile is a framework and not a methodology. Unlike methodologies, Agile principles have to be
implemented in a project, and stringently monitored to ensure that Agile processes are followed by the team. Only when a team follows what Agile preaches, it can successfully avail the desired results. It is important to know that there are no fixed rules or theories concerning the implementation – teams have to study the framework and decide collectively how to implement it in their projects
A few suggestion may help teams new to Agile and Scrum plan their project transition in a more successful
manner.
The first and the foremost activity is to train the development team in Agile framework and impart
sufficient knowledge so the team can grasp the fundamentals. The management should select a trainer
who is experienced, and who has the ability to engage on a personal level with the team members.
Face-to-face communications can help to resolve many types of misunderstandings, so active
participation should be encouraged and promoted between the team and the management. It is
generally observed that when teams are properly explained how Agile can help to reduce their
burden and increase their productivity, they tend to realise the fact that Agile may, in fact, prove
to be useful to them in many ways and help them to perform better at work. Senior management
members have to put in enough efforts and convince the team that the Agile way is most suitable
for all concerned – the management as well as the team – and planned and sustained development should be the “norm for the day”.
Agile promotes openness and transparency. Above all, Agile principles encourage face-to-face
discussions in lieu of emails and in-direct means of communications such as emails and online chats.
Perhaps, the main reason why Agile promotes personal communications is because people can easily
open up in their discussions when they discuss topics face-to-face. The more the management
communicates, easier it becomes for the teams to present their issues. Discussion can lead to sharing of
ideas. When ideas are shared, it becomes clear what is acceptable to the team, and what is not. Once it is
possible for the management to understand and pinpoint the exact issues troubling the teams, it
becomes easier to find acceptable solutions. Problems concerning Agile implementation can be effectively
resolved only when talks and discussions are held more openly and frequently.
Contrary to the belief, client involvement can actually lead to improved development and reduced
turnaround times. Generally, development teams abhor discussing their work to clients. Most teams
believe client involvement can actually slow down the development process, or create problems some way
or the other. Actually, this is not true. Agile emphasizes upon client participation. From a practical
viewpoint, it is important to “satisfy” the client by giving her/her what is required. The bottom line is
to fulfill, or provide, what the client really needs. In most cases, teams take the initiative and present the
development based upon its vision as to what the client expects. It is when the client disapproves the
development because it does not support what was originally envisioned, the team starts investigating
what kind of development was originally planned, and what has in fact been delivered. Productivity and
time is wasted in such cases. Agile, on the other hand supports a special event – the sprint review -
in which it can be ascertained whether the development meets the client’s approval or not. Problems
can be detected at an early stage and rectified. Agile can be properly implemented when the client
works side-by-side and provides valuable inputs regarding the process flow. Keeping the client satisfied
can lead to happy and profitable situations for the entire team in the future.
These are a few common pitfalls which can be analysed to improve Agile implementation. These are
not the only issues concerning the implementation, however, they are most common, and usually faced by teams new to Agile and Scrum. |
Just another free Blogger theme


