Enterprise Agile Adoption: The Role of Audits

Organization-wide continuous improvement programs that notably include an agile adoption and It compliance function can play a vital role in driving the levels of collaboration and reuse necessary to achieving scale. Audits can directly contribute to collaboration and knowledge reuse among agile teams.

Even before the first "agile" methods were formalized, industry reports such as The Chaos Chronicles confirmed collaboration and reuse as significant contributors to IT project success. [1] Agile methods conspicuously bring their importance into focus.

On an Extreme Programming (XP) team, for instance, an absence of collaboration could manifest as non-implementation of pair programming, a core XP practice. Similarly, any self-proclaimed agile team lacking an actively engaged customer-user would likely raise more than a few eyebrows. Simply put, ignorance of collaboration and reuse opportunities, whether deliberate or unintentional, directly undermines a team's ability to deliver a continuous flow of value to the customer.

But how are collaboration and reuse encouraged across project boundaries in large, globally distributed organizations employing agile methods? Further, how can an organization maintain and enhance its agility as it grows?

Institutionalizing agile practices across an expanding enterprise poses a change management challenge. This is true even when individuals are philosophically aligned to the values and principles which underpin the process. Organization-wide continuous improvement programs that notably include an adoption and compliance function can play a vital role in driving the levels of collaboration and reuse necessary to achieving scale with agility.

Audits can directly contribute to collaboration and knowledge reuse amongst agile teams in three key ways:

    • Actively introduce processes and best practices at the time of project inception to avoid projects "reinventing the wheel."
    • Collect new ideas for processes/tools and best practices for existing processes/tools that can be incorporated into an organizational knowledge base.
    • Disseminate new best practices across many project teams within an organization.

Establishing Defined Agile Processes
Agile methods do not lack discipline. Some practices, such as Test-Driven Development (TDD) with its implication of 100% unit test coverage, are among the most rigorous software engineering techniques used today. The fact that agile methods carry with them clear behavioral expectations means that they can be codified and shared amongst practitioners. Articulating the intent of an agile practice is in itself a form of process reuse that leads to efficiencies. This is clearly seen if one considers the kind of confusion that would ensue during an iteration planning session if every member of an XP team held fast to his own unique personal view of what constituted a good user story. Typically, this kind of conceptual and behavioral alignment is achieved on a local scale through the use of agile coaches. However, relying only upon agile coaches for the purpose of "spreading the gospel" imposes significant limitations in hyper-distributed organizations wherein every project team is {sidebar id=1} potentially housed in multiple, different locations.

At the start of every project at Sapient, we create a process adoption plan consisting of a set of organization-standard policies that capture the essence of Sapient|Approach, our project delivery methodology (see Figure 1). Working with project leaders, we tailor the policies to accommodate the project's unique circumstances. These conversations challenge project teams to think critically about what processes actually make sense for them and to justify their rationale. This activity results in a defined process that is owned by the project team - not by ivory-tower process junkies removed from the on-the-ground realities of the project - and drives a number of key outcomes:

    • Organizational knowledge is cultivated around what constitutes the canonical set of agile best practices for the vast majority of IT projects undertaken. Exception cases where certain practices are unfeasible or fail or add commensurate value are also made visible.
    • Project and organization leaders learn where peoples' understanding of best practice is lacking before the project gets substantially underway. When left to their own devices, projects run

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.