In his CM: the Next Generation series, Joe Farah gives us a glimpse into the trends that CM experts will need to tackle and master based upon industry trends and future technology challenges.
In his CM: The Next Generation series, Joe Farah writes that software configuration management (SCM) can be a daunting venture for a small team. It seems that many solutions require a lot of effort and money, but this is not always the case. This article looks at what a small team really needs for CM.
Software configuration management (SCM) can be a daunting venture for a small team. It seems that many solutions require a lot of effort and money, but this is not always the case. Let's look at what a small team really needs for CM. Some of these requirements may seem counterintuitive at first, but on closer inspection they will make a lot of sense. This is because what seems like a more comprehensive requirement results in a more comprehensive saving of resources, which makes a small team more competitive.
An "obvious" first approach may be to start small and grow. While this may work for complex CM and application lifecycle management (ALM) solutions, it can be a recipe for disaster for the following three reasons:
1. It's hard enough starting small. Repeating this process multiple times as you grow, with more and more constraints and tool integration effort all along the way, is not something that a small team can absorb. In the end, the team not only starts small but ends small.
2. Small teams must compete either in an internal (i.e., corporate) or global marketplace. They need to deliver high value at a low cost. CM exists because of hard requirements, which a team must meet regardless of the requirements’ being big or small. A team operates at a huge and dangerous disadvantage without the right tools. A larger team can shift resources to cover holes in their CM process and tools, but no such luxury exists for a small team. To compete, the small team really needs all its ducks in a row and needs to do better than a big company’s big team, especially by focusing on automation.
3. Starting small and growing is an expensive proposition. At each step, you dish out budget for tools, process, and integration. That budget becomes a significant part of the small team’s expenses. Full ALM solutions are cheaper, even if you don't initially use the full capability. At least the integration is complete, and the price is typically far less than the sum of all the solution’s individual parts. Most vendors will recognize the budget constraints of small teams and will adjust pricing and payment schedules to suit them.
You may have read this story before: A smallish team in a new company of about thirty people wanted to start CM by doing everything right. After getting some startup funding, they went out and looked at the biggest CM tool on the market—very expensive! But, they were going to do it right. After trying to customize the solution to meet their needs, the company went belly up in less than a year. No doubt the hundreds of thousands of dollars they spent on CM tools could have helped them stay solvent.
Out of the ashes, a new company was formed by a few former executives and employees. The company’s founders looked back on their previous experience and decided to use a much less expensive and less known ALM solution that one of the founders was somewhat familiar with. After looking at the evaluation, software, and documentation, they called the vendor for a purchase.
In three days from the point of arrival, they had implemented the solution, trained the CM staff and developers, fully captured the data from the original company, and completed customizations well beyond the level they had achieved at the old company. The cost was much less, with no months of consulting and a much lower priced toolset. They were happy and used the tool for many years without any further training or customization costs. Furthermore, they never needed a full-time CM staff. Even when they deployed their multiple-site solution, they rarely needed as much as 10 percent of a person’s efforts to perform the functions of CM manager.