Many software companies are adopting Agile methods - whether the adopting company is a software service or a product development firm or whether the work is on retail domain or avionics. A few of our KnowledgeHut experts cover the challenges that software organizations face and recommend possible solutions that help in successfully adopting Agile.
A typical software services company can be viewed to be made of three layers of people with a varying degree of authority.
Our experts have conducted numerous training programs about Agile. Developers and project managers form the majority of attendees. These are the people who:
These people are eager to learn Agile and look forward to implementing it in their projects. This kind of “bottom up” Agile adoption is a strategy that may work in the short run but is a non-sustainable model of Agile implementation. Not that the developers do a lousy job in implementation - it is simply that they lack active support from the sponsors.
In a “top-down” Agile adoption strategy, the sponsors take the initiative and encourage (not push) the teams to adopt Agile methods. Some of the Agile practices need investment for procuring tools, changing the physical environment, organizing training for the developers, having a coach, etc. Such decisions are typically taken by the sponsors.
Some of the advantages of top-down adoption include:
Agile is all about people, trust, communication, flexibility, and feedback. These values need a lot of nurturing at all levels in the organization. First and foremost, the sponsors must believe in these values for effective Agile adoption.
In a bottom-up Agile adoption strategy, many of these values cannot bubble up easily when compared to the top-down strategy. The challenges are:
Changes needed during Agile adoption. Each type of change is discussed in detail below.
|Changes needed||Requirement from sponsors|
|Change in thinking patterns and culture||Encouragement, motivation|
|Investment in new tools||Capital|
|Sustained support for Agility||Encouragement, motivation and commitment|
This is one of the most difficult things to achieve. We, as human beings, resist change and hold on to our old beliefs and thoughts that are close to our heart.
The following thinking/culture changes are necessary for Agile adoption:
In an Agile training program, a team was discussing about the usage of Post-Its to display project information, a project manager asked - “What should I do if my team members remove post-its without my knowledge?”. This is a clear sign of lack of trust within the project team.
In this case, the manager was sent to attend Agile training and implement his experiences on project. But, such managers who lack trust—a fundamental value of Agile—will be ineffective in implementing Agile practices. Management should keep observing the teams, identify issues that crop up (they will!), and coach them accordingly. In fact, it is healthy to see lots of issues in this stage - this implies that the system is gearing up for the new philosophy.
The sponsors should encourage an environment for learning for continued Agile adoption.
Here is the "Prime Directive which is commonly used during retrospective sessions”:
Regardless of what we discover, we must understand and truly believe that everyone did the best job he or she could, given what was known at the time his or her skills and abilities, the resources available, and the situation at hand.
The Prime Directive just redefines what trust is all about.A team practicing Agile methods might work collaboratively, trusting each other, but if the customer or sponsors don't trust the development team or vice versa, the foundation of Agile becomes weak.
A command and control system is created due to fear and lack of trust. Employees in the traditional organizations are controlled through a set of processes. For example, a developer working in a service organization is expected to gather all requirements upfront. The stakeholders create a plan and the developers are expected to stick with the plan and deliver the product as per the deadline. The developers' lives are controlled through a predefined plan written on Gantt charts.
Traditional organizations also create and track various types of metrics. Even though many metrics may be useful, some of them are misused for controlling individuals and teams. Some metrics are also used as a weapon during performance appraisals. (Does this ring a bell to you?)
In a command and control environment:
Agile organizations, on the other hand, discourage usage of such metrics and encourage only those metrics that adds value to the customers. These include burn down charts and velocity metrics.
In an Agile environment, self-organizing teams make the necessary decisions on a project, as opposed to one person making all decisions (as in traditional projects). A single person in control leads to lot of subjectivity and personal bias.
The culture of one person in charge and making decisions for project needs to be dismantled. This can be done only with the support from the sponsors- otherwise self-organizing teams cannot emerge.
In traditional systems, the customer's role begins by validating and signing off on the requirements. Later, the customer may participate in periodic reviews done during milestones and monitor project progress. We can equate this behavior to a fire and forget culture, and one that leads to inadequate communication and collaboration.
Software development is inherently a complex process which requires frequent inspect and adapt cycles. This demands strong communication and collaboration -between the customer and the development team and within the team itself.
Developers and customers working together with a commitment to achieve common goals is real collaboration.
The Agile principle, "Business people and developers must work together daily throughout the project" brings out the importance of collaboration.
Some practices in an Agile method like Scrum that exemplify this principle are:
Some of the changes to improve communication amongst the team members can include:
After considering the various challenges and solutions during Agile adoption, our experts have found that Agile adoption is much smoother with continued support from sponsors. Organizations will succeed in Agile adoption with the right mixture of both top-down and bottom-up strategies.
Your email address will not be published. Required fields are marked *