Agile ALM for Delivering Customer Value: Back-end Disciplines: Page 2 of 3

Part 2 of 2

Additionally, the customer validation process should have the ability to trace current sprint functionality to the code that built it—e.g., integration with version control system—and record an end-of sprint or demo session for view or reuse during additional customer validation sessions.       

Test (in an Automation Framework): Establishing a Work Area from Which to Test the Product Value
While a prioritized scope delivers customer value, we need to ensure that value is of high quality—this is where the test function is important. We need the ability to run and repeat functional tests, system tests, regression tests, performance tests, and load tests in as much of an automated framework as possible. In agile, automation helps reduce the manual testing that slows the team down. As you add automation, you should be able to highlight velocity and quality data in order to recognize improvements. Finally, it is important to tie the appropriate automated testing into the IDE, continuous integration, and build.  

Integration: Establishing Traceability of Value from the Vision to Customer Delivery
Did I mention integration? A key attribute of an effective ALM product for agile is the ability of the various functional areas or disciplines to be tightly integrated. Customer value is thought of every step of the way and is traced from the vision, to the story, to the working functionality. It involves identifying it, building it, verifying it, validating it, and securing the value. Of course, this is easier said than done, but after all, this is in an ideal agile ALM framework.

ALM Infrastructure “In-the-Clouds”
As mentioned, in the agile world, there is strong focus on customer value. It is ideal when the team spends as little time as possible establishing and maintaining an ALM infrastructure. Instead the team should attempt to use all of their resources spending the maximum time building customer value. Having an effective and reasonably integrated ALM infrastructure is a step in the right direction.

With the advent of cloud technology, you now have a choice of deploying tools locally (i.e., physically installing it) on premise or utilizing the web-based cloud infrastructure (i.e., software as a service or application service provider model). The former approach (on premise) ensures that you have total control over the technology and data, while the latter (in-the-clouds) ensures that you ramp up quickly and have the ability to scale as needed.

There are distinct advantages of using cloud infrastructure for those who are agile proponents. One advantage is that a cloud infrastructure provider enables a team to use only what they need, which is directly in line with agile. This “use-what-you-need” approach minimizes infrastructure debt and allows the product team to adjust and scale to its need in a “just-in-time” manner. Otherwise, you may have an ALM system that has low utilization.

Another advantage to renting the cloud infrastructure is that it helps you minimize capital expenses and lowers up-front costs, since you do not have to buy hardware, software, and other components. Essentially, the infrastructure—including servers, software, etc.—becomes more of an operating cost instead of a capital expenditure.

A final advantage is that the agile team does not have to establish and manage the infrastructure. You do not need to hire and manage IT staff for maintenance and upgrade work. However, it is important to have people on your staff who know how portable the hosted data is, and how easy (or challenging) it is to get it off the cloud should the service provider go out of business.

About the author

Mario  Moreira's picture
Mario Moreira

Mario Moreira is a Columnist for the CM Journal, a writer for the Agile Journal, an Author, an Agile and CM expert for CA, and has worked in the CM field since 1986 and in the Agile field since 1998. He has experience with numerous CM technologies and processes and has implemented CM on over 150 applications/products, which include establishing global SCM infrastructures. He is a certified ScrumMaster in the Agile arena having implemented Scrum and XP practices. He holds an MA in Mass Communication with an emphasis on communication technologies. Mario also brings years of Project Management, Software Quality Assurance, Requirement Management, facilitation, and team building skills and experience. Mario is the author of a new book entitled “Adapting Configuration Management for Agile Teams” (via Wiley Publishing). It provides an Agile Primer and a CM Primer, and how to adapt CM practices for Agile Teams. Mario is also the author of the CM book entitled, “Software Configuration Management Implementation Roadmap.” It includes step-by-step guidance for implementing SCM at the organization, application, and project level with numerous examples. Also consider visiting Mario’s blog on CM for Agile and Agile adoption at http://cmforagile.blogspot.com/ . You may reach Mario by email at Mario.Moreira@cmcrossroads.com.