Just another free Blogger theme

Powered by Blogger.

Followers

Find us on Facebook

Thursday, 25 December 2014

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:
  • Teams are not ready to accept changes and new challenges because it does not understand the new method of working
  • Individuals may feel threatened they might not be able to perform well under the proposed system and this could challenge their future growth in the company
  • Old working habits may be difficult to give up, and the team might not be ready to compromise upon its comfort levels – unless forced to do so.
  • Since Agile proposes self-organisation and self-management, the management might feel uncomfortable giving up its authority while controlling the team. Agile teams are autonomous, and are empowered to decide how to work. It means the management cannot instruct the team how to work – the team decides for itself. This might make the management feel insecure and uncertain since it cannot directly control the team.
  • Teams have a habit of reverting to old habits while working under pressure. Even though a team might have attended training sessions and may be performing well under normal circumstances, it might collapse when told to face challenging situations and stress-associated conditions. The reason could be individuals tend to revert to their original mode of working since they are more accustomed to dealing with work pressure in a process flow they know best – the older way of working.

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.
  • Educate the team
  • 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”.

  • Hold talks and discussions
  • 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.

  • Client participation advantages
  • 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.