In this article, I'll focus on application lifecycle management (ALM) "best" practices. I've listed them below, and then I go into some detail on each of them. Hopefully you'll find these to be key factors to consider for your own environment.
- Look at what processes and tools are available and how they fit your environment
- When selecting a tool, use the vendor for free training
- Don't be afraid to change your configuration management processes and or tools
- Look at the full application lifecycle management problem, not just configuration management
- Use agile software configuration management methods
- Use role-based interfaces and dashboards
- Perform interactive build comparisons
- Pay attention to backups, recovery and availability strategies
- Use multiple site solutions that span the entire application lifecycle management spectrum
- Unit testing and peer review of changes
1. Look at What Processes and Tools are Available
How long has it been since you had a good look at what CM/ALM technology and tools are available? As CM matures, CM processes mature, and the tools evolve to support these processes. It's true that it's a royal pain (in the wallet and in resources) to adjust some tools to maturing processes. It's also true that any change within the tool framework is generally not well received by the user base. However, with 3rd and 4th generation CM technology comes both an ease of customization, and a real focus on ease of use. This will help to address both cost and user concerns. On top of that, operational overheads/costs can be significantly decreased, freeing up your CM team to provide better customization.
Many tools do not evolve rapidly. Perhaps they focus on simplifying administration or on improving performance. But there are a few tools out there that evolve very rapidly compared to the rest of the industry. As well, there are a number of new tools on the market. If your needs are modest, new open source offerings may be able to provide much of the capability you're currently paying for. But, as license costs are such a small portion of the total cost of operation (TCO), I would strongly recommend you look beyond open source.
2. When Selecting a Tool, Use the Vendor for Free Training
As you go through the tool selection process, identify key new features that you haven't seen before. This is a great time to upgrade your CM technology knowledge. If vendors want you to choose their tools, not only will they tell you all about their nifty new capabilities, but they'll also give you ammunition to shoot down claims by their competition. In other words, they'll provide you with the right questions to ask to identify the weak spots of their competition. Perhaps you shouldn't wait until you're ready to procure new technology to talk to vendors. Many are willing to share their expertise with you so that you'll consider their solutions when you are ready.\par
This is an opportunity for free training in state-of-the-art CM technology. And as many vendors are process centric at this point, you're CM process skills may be broadened somewhat as well. Now I've been in the CM industry for better than 30 years and I'm still broadening my reach. It's important to understand what capabilities there are and what trends you see so that you don't lock yourself into 2nd generation, or even early 3rd generation, solutions.
3. Don't be afraid to Change Your CM Processes and/or Tools
We touched on this in the first point - resist the tendency to resist change. People are really used to change, especially as technology advances accelerate. They actually like