Coordinating releases across hundreds of development teams? Here’s how to maintain agility

shamim ahmed.jpgShamim Ahmed has over 20 years of experience in large-scale application architecture, design and development, product research and development, large multi-shore project/program management, organizational quality management, and IT consulting.

 

When I talk to customers I hear that because of cloud and mobility, enterprise IT is under intense pressure to increase agility. Traditional IT might release application updates every six or nine months. But the level of agility the business is looking for requires updates every week. If you’re a laggard you’ve pretty much lost the business.

 

But—as I’ve written before—enterprise IT has a hard time scaling up to this level of agility. Sure, Agile principles work well in small app dev teams. But there’s a pretty large gap between something that’s effective when you have ten developers coding one app versus hundreds of developers working on a host of enterprise applications. I work with customers through our Enterprise Agile Transformation Services to take Agile principles and adapt them to work at an enterprise scale.

                                                                                                                      

Here’s a very condensed version of what I tell these large enterprise clients about how they can become agile at coordinating application releases from multiple teams. This is what we call the program level of enterprise agility, and this is how you get there:

 

1. Solve your integration problem instead of fighting a losing battle on tools

If you’re like many a VP of Applications I talk to, you’ve got multiple development teams, each with their  favorite tools – such as IDEs, build, SCM and test tools. You can’t really tell the application developers to use one particular tool. People will use what they love.

 

But you still need to coordinate releases of applications across all these different teams every week, and make sure that the QA’s done by a certain date. Our approach is to use an enterprise-class tool, HP ALM, and hook up all these tools to it.

 

ALM becomes the system of record, syncing data from these tools automatically, and that gives you the view into what’s going on across all these different teams. It also provides the capability to orchestrate activities across all of these teams from one central place without having to do all this manually.

 

2. Work QA in parallel with development

In classic application development, developers write their code and compile locally. When they’re happy with it, they commit it to the source code management system. When all the other developers have done their commits, then you do a build. Once the build has finished, you run a set of tests on that build.

Now, how can you speed this up? At HP, we have a set of processes and best practices so that every time there’s a commit, the quality assurance people know exactly what’s changed. While developers are writing code, you can plan for your testing. Previously you would have to wait for emailed change reports, calls and status meetings and so on, and QA would always be behind development. But now, you can actually start doing change-based testing in parallel.

 

3. Automate testing workflows

When the build finishes, you run your tests. But in an enterprise there may be ten different build systems, and nobody knows when each build is finished because the systems don’t talk to each other. Instead, somebody has to monitor the systems, and then when the builds do finish pull together the code, consolidate and run the tests. It’s a highly manual, error-intensive process.

 

But in an integrated system such as HP ALM, you have monitors that will tell you when the build systems are finished and what’s more, will intelligently automate and synchronize them. So now you’re able to trigger the tests automatically with very little manual intervention.

 

Moving beyond program agility

Once you’ve mastered the program level of agility, the next step is to examine your practices at the portfolio and business levels of the HP Enterprise Agile framework. HP Software Professional Services can help your organization adapt to a changing business environment, and increase the speed at which the business makes decisions and rolls out programs.

 

For more on this topic, see my webinar on scaling agility to the enterprise level.

 

Related links:

 

 

Leave a Comment

We encourage you to share your comments on this post. Comments are moderated and will be reviewed
and posted as promptly as possible during regular business hours

To ensure your comment is published, be sure to follow the Community Guidelines.

Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
Search
Showing results for 
Search instead for 
Do you mean 
About the Author
This account is for guest bloggers. The blog post will identify the blogger.


Follow Us
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation