The technology and solution providers has been in this quest and journey of helping or making enterprises become agile. Most of the conversations I have had with management teams will always bring up a topic to a certain degree that refers to being agile or become more agile. Just like the words innovation and DevOps, the word agility is a loaded terminology. Every organization will look at this differently based on its organizational or enterprise context. Speed of delivery has always been something that management or the executive team wants to have due to market and economic conditions. The challenge is how does one implement agility in an enterprise and not just the I.T. organization.
The usual approach is to start with I.T. particularly when building a technology solution; software and/or infrastructure. However, starting with I.T. does not always mean that agile adoption or agile transformation will work and add value to the organization. It is all about the adoption and transformation context. Most of the time the agile transformation or adoption is challenged if not completely failing. There was even an article written here in LinkedIn titled “Agile does NOT work!“. I agree with some of the frustrations written in the article. However, this tells me that the people particularly the management/leadership did not really support the initiative to make sure it works and adds value to the enterprise. I always say this to anyone I speak with. When you choose to take the path into enterprise agility, you don’t just do cowboy coding. You don’t forget the practices that makes a product fit for use and fit for purpose. The trouble most of the time is that the people almost always fall into the trap of “just doing it”. Product release (software or otherwise) should always be based on the principles of fit for use and fit for purpose that is delivered faster to meet business and market demand. Adrian Wible wrote some sample considerations when working towards enterprise agility. Below is his sample list :
- Legacy system dependencies
- Vendor dependencies
- Disparate technologies requiring different skill sets, resulting in divided teams—e.g., mainframe versus Java, mobile versus web
- Geographical separation of talent (different time zones, or even just different floors)
- Coordination among software, firmware, and hardware teams
- Lack of automated tests (I think this is one important key constraint in achieving agility).
Adrian further talked about potential agile maturity performance indicators to consider when transforming into an agile enterprise or at the minimum an agile I.T. They are as follows:
- Agile requirements maturity. What to build.
- Engineering practice maturity. How to build.
- Testing practice maturity. How and what to validate.
- Deployment maturity. How to release.
I thought some of the contents in his article would help the reader take a step back and re-consider the approach they are taking towards enterprise agility.
What’s your thought?