Application Lifecycle Management (ALM) may not survive the undeniable success of the Agile movement. I know developers who won't even take a job with a company that fails to embrace Agile practices. ALM certainly has it's own following, but how does ALM operate in a world where so many organizations embrace Agility? The truth is that ALM and Agile enjoy a tremendous amount of synergy and this article will look at how ALM thrives in an Agile World!
Agile in an ALM World Application Lifecycle Management is not without its own significant camp of supporters. Creating a comprehensive software (or systems) development lifecycle that allows you to fully track requirements (to test cases) and all the way through to deployed releases is a basic requirement for many technology development efforts that need to be done right. I have worked in many environments where I had to implement comprehensive ALM tools to support the entire development effort and their success was both striking and significant. Perhaps the real question is how can Agile survive in an ALM world?
Bring Back Waterfall Last week, I found myself chatting with a CTO about the relative benefits of Agile versus Waterfall software development methodologies. This gentlemen pointed out to me that their senior management was not interested in sprints, scrums and iterative development. Instead, they wanted solid requirements analysis and robust planning as part of the overall IT governance effort. The folks controlling the purse strings would just not approve projects unless there was adequate governance in place to show that all requirements were well defined and traceable. Can Agile survive in this type of environment?
Hybrids on the Way The price of gasoline has certainly made the economics of using cars fueled by both gas and electricity far more appealing. I recently got to enjoy driving around in one of these vehicles with it's push button on-off switch and longer periods before having to fill up at the pump. Hybrids have their value and this is also true in the software development methodologies.
ALM and Agile Sharing the Stage I am seeing more and more organizations where the approach is to have an overall iterative waterfall process that meets all regulatory requirements and satisfies senior management's need for transparency too. These organizations may have a strong product or project lifecycle with all of the governance and traceability desired by senior management, but that's not all. In these same companies we see developers conducting their daily stand-up meetings and maintaining product backlogs. The team has information radiators and thrives on holding honest and open retrospectives. There is a relationship with the business end user or their representative. For all practical purposes, the team is doing Agile on a daily basis and eating their cake too.
Agile Growing Up Agile needed to mature into a well defined framework. Scott Ambler has done some great work on this topic, especially with regard to Agile process maturity (or Agile @ Scale). There are products that help Agile maintain its core characteristics while maintaining traceability and transparency. Agile has matured into a methodology that is far more than just a powerful manifesto with principles and guidelines. Still the journey continues.
ALM Growing Up ALM boasts a comprehensive full lifecycle approach with a heavy focus on tools and traceability. ALM has also matured. Many vendors now participate in open standards such as IBM's well received OSLC efforts. I have seen many organizations benefit from being able to trace requirements to test cases and beyond. ALM has become a mature set of practices that align well with comprehensive toolsuites. ALM also exists in an Agile context.
Agile ALM Embracing ALM with Agile is very much a compelling combination that has been very successful as well. In this context, ALM not only coexists with Agile, but helps to facilitate the Agile development effort too. In this context, ALM supports rapid iterative development that still provides the necessary IT governance and compliance such as traceability. Agile ALM also boasts a strong focus on end-to-end testing that results in both improved quality and productivity.
Conclusion ALM in an Agile world actually provides a great deal of synergy that consists of the right balance of process with Agility. If you learn to balance ALM and Agile, your own development efforts will benefit and you will be able to achieve tremendous success!
About the Author Bob Aiello is a Consultant, Editor-in-Chief for CM Crossroads, and the author of CM Best Practices: Practical Methods that Work in the Real World, Addison-Wesley Professional ( http://cmbestpractices.com). Mr. Aiello has over 25 years experience as a technical manager in several top NYC Financial Services firms where he had company-wide responsibility for CM, often providing hands-on technical support for enterprise Source Code Management tools, SOX/Cobit compliance, build engineering, continuous integration and automated application deployment. Bob has served as the Vice Chair of the IEEE 828 Standards working group (CM Planning) and is a member of the IEEE Software and Systems Engineering Standards Committee (S2ESC) Management Board. Mr. Aiello holds a Masters in Industrial Psychology from NYU and a B.S. in Computer Science and Math from Hofstra University. You may contact Mr. Aiello at bob.aiello@ieee.org, link with him at http://www.linkedin.com/in/bobaiello or visit his corporate website http://yellowspiderinc.com
Trackback(0)
Comments 
Write comment
 |