Discover PerformanceHP Software's community for IT leaders // March 2014
The model for enterprise-level Agile
Agile seems straightforward in small teams. But for large organizations, maintaining agility is tough. An HP CTO talks about what enterprise Agile should mean.
The cloud and the shift toward mobility have put enterprise IT under intense pressure to increase agility. Ten years ago, IT might have released application updates every six months, but today, a business that wants to compete has to release updates nearly every week. Yet enterprises are like big ships: hard to turn quickly.
Shamim Ahmed, CTO for Application Lifecycle Management in HP Software Professional Services, has been blogging and conducting webinars on the topic, so we sat down with him to discuss how enterprises can maintain agility when they’re coordinating releases across hundreds of development teams.
Q: The first time we talked, you said that there’s no single, rigid formula for good Agile. That said, what are the key commonalities of a successful "agile enterprise"?
Shamim Ahmed: At HP, we’ve been developing a model for enterprise agility, and we’ve come up with four levels. The first is the "team" level, and that’s where organizations start. They have teams that embrace Agile, and their next step is to determine how well they’re following the 12 principles of Agile.
The second level is the "program" level, and this involves teams of teams. The challenge here is maintaining agility with hundreds of development teams and thousands of developers. This is where we see a lot of customers struggling.
The third level is the "portfolio" level, and you’ve arrived here when you can not only understand but also predict changes in customer preferences, and course-correct your portfolio accordingly.
The fourth and final level is the "business" level, and this isn’t even about software development anymore. It’s about how quickly the business can make changes and roll out new apps. It’s taking those Agile concepts and applying them to the broader business as a whole. It’s more strategic.
Q: If most organizations are struggling at the program level, what advice would you give?
SA: One of the problems of having so many development teams is that they all have their preferred toolsets, and they don’t want to be forced to use the same thing. Fighting a battle on tools is a losing proposition, so we advise VPs-Apps to use an enterprise-class tool that can integrate all the other tools their teams are using. When you do that, ALM becomes the system of record, syncing data automatically so you can see what’s going on. It also lets you orchestrate activities across all of these teams from one central place without having to do it manually.
Q: QA is a step where you can’t take shortcuts. But it can really slow down the release cycle. Is there any way to speed up QA?
SA: Traditionally, developers write their code and compile locally. When they’re done, they commit it to the source code management system. Then you do a build, and then you run a set of tests on that build.
To speed it up, we recommend a set of processes and best practices so that every time there’s a commit, the quality assurance people know exactly what’s changed. That way, at the same time developers are writing code, you can plan for testing. Otherwise, you have to wait for phone calls and status reports to tell you what’s happening, and QA will always be a step behind the development team. But if you follow these processes, you can actually start doing testing in parallel.
Q: How do you maintain that speed throughout the QA process?
SA: Usually, when a build finishes, you run tests. But enterprises may have 10 different build systems that don’t talk to each other, so nobody knows when each build is done. Somebody has to monitor the systems, and then manually consolidate and run the tests. You can lose a lot of speed and introduce errors this way. If you have an integrated ALM system, you have monitors that can tell you when the builds are finished. It will even trigger tests automatically, so you don’t have to intervene manually.
Q: So solid automation is the key?
SA: Yes, but it’s always important to remind customers that progressing through these levels requires a big cultural shift. People have to learn how to collaborate better, and many just don’t know how. So there are a lot of transformational activities that need to happen before the technology transformations will take hold.
Shamim Ahmed consults (and sometimes blogs) on ALM transformation and Agile implementations. For more, listen to his on-demand webinar "Best Practices for Scaling Agility to the Enterprise Level" (reg. req’d).
Dev Center 20/20
How will we organize development centers for the apps that will power our enterprises?
Introduction to Enterprise 20/20
What will a successful enterprise look like in the future?
Challenges and opportunities for the CIO of the future.
Welcome to a new reality of split-second decisions and marketing by the numbers.
IT Operations 20/20
How can you achieve the data center of the future?
What the workforce of 2020 can expect from IT, and what IT can expect from the workforce.
Preparing today for tomorrow’s threats.
Looking toward the era when everyone — and everything — is connected.
Data Center 20/20
The innovation and revenue engine of the enterprise.