What is the definition of “Agile” ALM?


I find myself using the word “nimble” a lot more these days. Agile has become so loaded with meaning that it handicaps any discussion. When I ask customers if they are “doing Agile” the response is invariably affirmative but when I drill deeper I find much more “wagile” (Waterfall and Agile blend) and “scrumbut” (Scrum but we don’t do “x” and we do “y” like this).

So what is Agile Application Lifecycle Management (A-ALM)? To answer this we have to think about outcomes and actions. Outcomes are the drivers of our development methodology: they determine the speed, quality and risk in our delivery system. Actions are the delivery system of tools, methods and practices.

In the past decade there has been a shift in the emphasis placed on application developers. We are now much more cognizant of time-to-market, compliance and developing “the killer app”. This has changed the outcomes we expect from IT and we have traded eliminate risk, guarantee uptime and service level and, frankly, some quality to meet these new market pressures.

How we satisfy this new world order is through ever more nimble ways of developing software. At each point on the Software Development Lifecycle (SDLC) we are looking for ways to streamline our actions to deliver the outcomes. At the beginning of the lifecycle we have seen dramatic use of prototyping and simulation tools in shortening and improving the requirements gathering phase. More openness in requirements selection and verification with internal online discussions has led to greater alignment of IT with Business priorities and developing more of the more important features first. Self-organizing development teams iterating incremental content to our systems are delivering the most important features first and fast, with less risk and higher quality. With automated testing allowing for near 100% code coverage entire systems can be fully tested every night so that errors are detected early when they are easier and cheaper to fix. And at the end of the lifecycle everything from the build to the deployment, from packaging to installation is able to be automated. Even the Project Management Office is getting more nimble through automation of the SDLC and live feedback on project status instead of interminable project status meetings.

But is this Agile ALM? Velocity has certainly increased in every part of the lifecycle. Individual contributors are more empowered and collaboration has been enhanced to the point of being traceable and reportable. Teams are negotiating new ways of working within their own boundaries and with their development partners up and down the lifecycle. Everyone is optimizing their processes and automating where they can. This is a significant change in our thinking about IT. We have long been the “cobbler’s children” when it comes to automating our own infrastructure. In order to meet the new demands and expectations of the business we have to change our manual ways. Automation makes it possible for us to trust that our peers complete their piece of the puzzle before handing to us and ensures we do the same for the next group.

What makes ALM Agile (or nimble) is the commitment to increasing velocity, collaboration and automation. The more parts of the SDLC you are able to do this in more Agile your ALM becomes. And more nimble too.

About these ads

About Kevin

In the past year Kevin has spoken at 20 conferences and seminars on a range of leading IT topics, including methodologies, business analysis, quality assurance techniques, governance, open source issues, tool interoperability, from the mainframe to distributed platforms to the web and mobile and embedded systems. He is a much sought after speaker, recognized around the world for his provocative and entertaining style. Kevin is a 30 year industry veteran, holder of three technology patents and today is VP and Chief Evangelist at leading Application Development vendor Serena Software. He started his career as a software developer and rose to lead the engineering team as VP of R&D at Serena Software, a role he held for 8 years. In the past five years he has been crossing the globe and has met with over 4,000 people. At Serena he works closely with industry analysts, the press, customers, partners and employees to exchange ideas about industry direction and business issues. Today he is leading the Value Engineering initiative at Serena bringing measurable benefits to their customers. He was born and educated in the UK and lives on a boat on the San Francisco Bay and works in Redwood City California.
This entry was posted in Business and Technology and tagged , , , , , . Bookmark the permalink.

2 Responses to What is the definition of “Agile” ALM?

  1. Sorry, but no. What makes an ALM “Agile” is the mindset adopted by the folks involved (and expressly, NOT just the developers). A mindset centred around concepts like: respect for people, self-organising teams, Theory-Y, an appreciation of customer value, and some kind of synergistic perspective across the whole organisation. The characteristics you mention offer little benefits in and of themselves, being, rather, observable symptoms of an Agile AML, rather than its essence.

    HTH

    – Bob @FlowchainSensei

  2. I don’t agree that velocity is important for an Agile ALM. You mention actions and outcome, but what are those actions and what concretely is the outcome?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s