Application Services provides a platform for IT Development and Maintenance professionals to discuss and gain insights into best practices, process innovations and emerging technologies that will shape the future of this profession.

« Ensure success with agile - Three critical precepts | Main | Simplifying Upgrades: The Analysts' role »

Agile Adoption - Easier said than done

Agile has become mainstream and is no longer a buzz word. In recent times, organizations have used agile methodology in multiple projects and have realized its benefits. But the question is whether agile adoption is really benefitting you to the extent it should have and will you be able to successfully scale up agile adoption in your organization? Why such doubts about the success of large scale adoption when projects have been successful? Let us first see some examples of counter claims between IT and Business about goal achievements which generate doubts about IT's endorsement of large scale agile adoption.
  • IT claims to have achieved higher productivity and reduced cycle time with agile. However, Business still talks about a huge time lag; from the time it started funding to the time the end-user is able to use the feature. It questions if there are holdups in one or more processes? These stick-ups could be in any of the processes like funding or initial scoping or development or deployment or some other process.
  • IT asserts faster delivery of higher priority requirements. Business contends that those are not really deployable. In large organizations, you will rarely find applications which are absolutely independent.  In such an integrated scenario, one application delivering early is not benefitting the end user since dependent applications are not ready for the change. This can happen as either the dependent applications have not adopted agile or their goals and release plans are not aligned. It strongly suggests the need for aligning goals across projects, programs and portfolios to provide benefits which business needs.

Thus, even if projects have been using agile, it looks like there is still a lot of work to be done before moving from projects to portfolios so as to ensure large scale agile adoption can really fulfill business needs. What needs to be done differently to help scale up agile adoption? Let us discuss some key areas

  • Excitement of success of small independent projects leads to replicating their execution model across more projects. But it is not enough for scaling up agile execution in a large organization. Programs and portfolios need different focus areas than projects like dependency management, release alignment, goal percolation, KPI distribution etc. Doing more and more agile projects is not a way of achieving enterprise IT agility.
  • Just defining agile methodology for an organization is not sufficient. IT organization has many units and functions such as governance, infrastructure management, funding etc. which support IT projects. If these functions and their processes are not optimized for agile execution, it is difficult to realize the perceived benefits.
  • Rapidly developing code in agile projects does not help realize business value as much as expected. It is important to have engineering ecosystems built in organizations which will help this 'rapidly developed code' to be 'deployed rapidly' to production systems for the benefit of end users.
  • Most importantly, multiple stakeholders with different views on agile adoption is a hurdle for its large scale agile adoption. Organizations must foster agile in terms of culture and capability rather than just a methodology. This will aid in swift agile adoption.

To summarize, organizations need to undergo complete change management to achieve enterprise IT agility. They can start off with a focus on defining the uniform processes and process aids to be adopted across the organization. This will be help the cause of compliance and standardization. Further emphasis on culture and mindset changes, capability building, tools and technology, career streams, governance models etc. is required so as to enable rapid agile adoption. Organizations need to encourage support functions and their processes to become 'agile friendly' for example budgeting and contracts, vendor governance, shared services functions etc. They need to further focus on business stakeholders' agile enablement and building automation focused engineering ecosystems. Finally and most importantly organizations need a reference scalability framework which can help scaling up from projects to portfolios to be able to achieve a common goal. For a more details, please refer to our point of view on "A holistic approach to Enterprise IT Agility"

Comments

You do raise a valid question. However, at the sametime care and thought needs to be given by the technology delivery teams before adopting Agile. Developing software is more complex as the end outcome cannot be seen till it is completed, unlike building something that is visible through its lifecycle.
The key to success of Agile lies in Technology teams take a hard and independent stance if they believe it would be the right model to implement based on the factors of the environment that they would operate on.
Some of these parameters are
1) Availability of Domain expertise
2) Technology complexity
3) Scale that is expected
4) Requirements stability
If this is not well considered we may end up burning more hours in less fruitful outcomes and also be disappointing our business partners.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.