Why Enterprises Should Adopt Agile Methodologies
A few days ago, one of my friends asked me, can Agile Methodology be applied to enterprise-level IT implementation and transformation programs, and does it really bring in efficiency gains?
I explained to him how Agile can be applied from small to large scale enterprise projects and how it brings increased efficiency. While much has been written about Agile, I thought of penning down my experience with Lean Manufacturing and how I see it being customized and adapted into the IT world in the form of Agile methodology and how powerful the results can be.
A few years ago, when I was working in the automotive industry, I was a customer to my IT division and I used to wonder: why does it take so long for simple IT enhancements/change requests?
At that time I knew very little about IT function intricacies, I always wondered, how could IT functions be more responsive to our business needs? Why can’t IT learn from this style of system, Lean manufacturing? Many IT people I talked to that time, told me that IT works very differently and due to its complexities, there is no possibility of IT embracing anything from the auto industry. My argument was if the automotive industry could come a long way from the age of “you can have any car as long as it’s black” (Henry Ford’s famous statement) to offering different models, colors and variants as per customer needs, why can’t IT?
When I worked for a leading automotive company, I got a chance to witness and contribute on a large project enabling car dealers to change product mix (model, variants, colors, etc.) they were ordering from 30 days to 7 days before production.
People familiar with the Automotive industries will understand and appreciate how challenging it is to change production schedule when each car will have around ten thousand components going into it (electric cars have far fewer components). Each car comes to life with different manufacturing processes such as pressing and cutting the sheet metal to carving out car body parts, weld shop, engine castings, machine shop, engine assembly, electrical components & wirings, etc.
I understand, there is a difference between how operations functions and projects work, after this experience, however, I was convinced that any organization can be Agile in the true sense. IT function is no exception to this, more and more organizations are adopting Agile methodology but not all are implementing it in the true sense and leveraging benefits. I am quite optimistic that more and more organizations will gain a better understanding of Agile processes and leverage the benefits in a greater way.
To emphasize my point of Agile scalability, let me give you another example. When I changed sides and joined the IT function team, in a company already familiar with Agile. Soon, I got an opportunity to work on possibly one of the biggest Agile implementations worldwide. The customer was in telecoms, and they were implementing Agile across their IT function covering 13-14 key platforms, supporting more than 10,000 users. This was done, when the term Scaled Agile was yet to be coined and I witnessed how Agile improved efficiency.
As you can imagine, for a transformation of this magnitude, we had to do a lot of changes. Right from the 90-day release cycle, release planning meetings, Scrum of Scrum, continuous testing, how we gathered requirements and how the solution design worked, how we ensured quality, design sign-offs, how we coordinated across platforms and how we worked in regulated environments. By the end of the project, we witnessed an 80% efficiency gain with Agile.
As per my perception, some of the key similarities between Lean Manufacturing and Agile are as below.
|Base your management decisions on a long term philosophy, even at the expense of short-term financial goals.||Focus on Products and not features|
|Eliminate waste Reduce/avoid unusable inventoryJIT- reduce excess inventory in-processAvoid unusable by-products||Early and continuous delivery of viable solutions One active user story per developer|
|Create continuous process flow to bring problems to the surface.Use Visual Control so no problems are hidden.||Scrum meetings are forums to highlight problems Scrum/ Kanban boardsProject dashboards|
|Pull system to avoid overproduction||Kanban board Incremental delivery as per business needsBusiness gets the opportunity to prioritize requirements more frequently|
|Build a culture of stopping to fix problems, to get quality right at the first time.||Test-driven development Continuous testing|
|Become a learning organization through relentless reflection (Hansei) and continuous improvements (Kaizen).||Retrospectives to learn and improve from previous experiencesAdjust scrum delivery capacity taking into account previous flow rates/ developer|
|Respect human element- Show them the purpose behind workChallenge them without demandingMaintain high accountability for success and failure||Agile expects people to be able to work in a high paced environment and collaborate. When people know what we are doing and why we are doing, they tend to be more involved.|
Finally, I would say Agile is not just methodology, it is a way of life. In order to foster collaboration and quality, we need to build up the culture within teams and organizations. It is very important to identify the right people to do the right job and empower them to make decisions and keep concerned people informed. It was through these experiences that I understood the efficiency and importance of a well-managed Agile methodology.
Sachin Madnurkar is a Freelance IT Program Manager and Consultant. He has over 20 years of experience in IT and Business function, he is certified SAFE5.0 Agilist, Prince2 Practitioner, and Salesforce Consultant.