Making Agile Mainstream–Crossing the Chasm


modify process components, use them internally, or make them available for free or sell them.

Evolutionary or revolutionary?
Agile development is often presented as an abrupt paradigm shift-a scary proposition for many companies. Agile transformations can be a continuous journey. You may transform additional projects every quarter, and each time, you learn and improve your transformation process further. You may introduce practices a few at a time. For example, you may start with iterative and test-driven development, and then follow up with pair programming and collocated teams.

Certain agile practices, such as self-organized teams, do represent true paradigm shifts. There is a big difference between allowing team members to influence decision making, and having team members truly control their own work and destiny. When a team is faced with a difficult choice, and team members turn to their manager for a decision and the manager replies, “I’m going out for a coffee, let me know what you decide,” it creates a radical shift in people's understanding of who is in the driver's seat. This can lead to a new level of collaboration and motivation, generating an often-radical productivity boost.

We also need to articulate what organizational factors are impacted by an agile transformation, and what commitments are required. If you are not prepared to revisit, for instance, how you approach testing, how you motivate and reward people, how your IT organization is collaborating with your line-of-businesses, and what tooling infrastructure you have, then full-scale agile transformations are not for you.

Dealing with large-scale organizational transformation
You can transform the way ten people work by having a skilled agile coach spoon-feed information to the right people, but transforming an organization of hundreds of people will also require the availability of a reliable infrastructure. Let's have a look at some of the issues that need to be addressed.

Knowledge transfer on a large scale
As consulting firm Industrial Logic was tasked to do an agile transformation of a 600-person development team at Kronos, it realized that just relying on a handful of coaches would not cut it. To help transfer basic knowledge about XP, the team built Web-based training courses, which allowed its coaches to focus on the higher-value activity of coaching teams on the practical application of XP. Large-scale adoption requires complementing traditional coaching models with electronically transferred knowledge, whether it is through Web-based training, process guidance, tutorials, or other means.

Changing HR policies
Agile development holds implications for traditional HR concerns, such as employee incentives and rewards, career paths, and responsibilities. We need early support from HR departments and managers in carrying out the necessary changes.

Agile development requires close collaboration among a set of people who regard each other’s as peers, which can change the dynamics associated with team leadership. Typically, a job promotion (from developer to architect, for example) is seen in larger organizations as a means to escape the dirty job of writing code. But these organizations need specialized and experienced people who serve as mentors in their team-lead roles, not as supervisors who have earned the right to sit on a pedestal.

A focus on collaboration also changes how you reward and measure people. Rather than measuring only individual productivity, you need to measure how much value an individual provides to the team. The most valuable team members often have lower individual productivity, since they spend most of their time mentoring other team members.

These HR-related notions reflect agile values, and it is crucial that an organization articulates the values it wants to live by in rewarding and promoting its people. [3] For agile development to

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.