“Ambition is a very pretty thing; but sir, we must walk before we run.” 1851 G. Borrow Lavengro II. ii.
This truism applies to many areas of life and is highly appropriate for large organizations when attempting to adopt agile within a traditional software development environment (aka waterfall). This blog explores what transpired when a large company (150+ years old) embarked on an enterprise agile transformation program that would fit their existing corporate culture. The program would pilot a newly devised agile delivery framework that would provide pragmatic, realistic measurements that will evaluate the effectiveness of the agile practices on the company’s software development projects. Software development is a critical part of any business model today and in many regards has become viewed as a competitive advantage for a company. Admittedly, a company’s waterfall development approach worked well for projects that has well understood timelines, domain space and technology, but often failed to meet business expectations in newer, innovative areas. In general, the a company's application development teams struggled to deliver value quickly, and most projects ended up costing more than expected and consumed unplanned resources. Enterprise transformations are difficult at best in large companies and they typically require a gradual and phased adoption strategy that permeates the organization over a period of time. Armed with this organizational insight, a company realizes that they would not be successful with a haphazard approach to their agile adoption. Instead, a company can put in place a deliberate and strategic agile adoption plan based on a hybrid delivery model that applies an iterative and incremental approach to agile transformation based on a common set of guiding principles:
To start an agile adoption, i recommend the following:
1) Assess the organization to identify the current state (current software practices, scaling factors and organizational challenges that could impede their agile adoption),
2) Define an initial agile framework to pilot in conjunction with their traditional process
3) Create a set of criteria, or decision matrix, to identify agile-friendly projects, and
4) Conduct an agile pilot using a “real-world” capital project to measure the effectiveness of the agile practices and the company’s adoption strategy.
As the pilot progresses, use feedback from the pilot team and results to update and adjust the agile framework, adoption strategy, and decision matrix, as necessary, and conduct additional pilots to expand the framework in different areas of the both the business and IT. By adapting agile practices in line with a company’ scaling factors (organizational complexity, governance, functional roles), the company can attain significant improvements in product quality, speed of delivery, and increased customer satisfaction that were unattainable. Remember: “Enterprise Agile Adoption is a marathon, not a sprint.” Gerald Smith, MBA, PMP, CSP