CM: THE NEXT GENERATION of SCM For Small Business

personnel is typically a smaller overall expense, but a larger per
person expense.   And how much can you really afford to have these key personnel absent?   Ideally, this training should be graduated - you start off with a day or two (or a week or two with some tools), and are able to keep the team running.   Another
session and you can start improvements and introduce some automation.   Another session and you can eliminate the vendor loop for most issues and customizations.

As with all roles, the key for CM managers and administrators is ease-of-use.   But even more important is automation.   Automation eliminates the need for the CM
manager and administrator except in extraordinary situations.   Does your CM manager have to do labelling and merging or is this automated?   How are baseline definitions put together? What do you have to do to identify what has gone into a release?   What about breaking out a new release?   Nightly builds?   Development environment support?   The more that can be automated, the smaller the role for CM managers.   And the same goes for administrators.   How is the repository backed up? How much effort do upgrades involve?   What about server operation, especially after outages?   Are there special recovery procedures that have to be learned?   The
more that is automated, the less need for administration, and the less chance of human error.

The Adminstrator's job should be to understand the tools enough so that if something does go wrong, it can be quickly resolved.   It should not be a fire-fighting role or a tedious set of operations.   It should not involve having to be a database administrator.   And it should not be one of having to tune the tool and repository to
get adequate performance or scalability.  

The CM manager's job should involve taking decisions and acting on them with the
fewest clicks/keystrokes possible.   In a multiple product, stream-based change management environment, the CM manager would ideally signal only the out-of-the-ordinary procedures.   Nightly builds should run automatically based on changes that have been promoted in each stream.   Labelling should be automated based on the
actions and context/environments of the developers and based on decisions made
at the CRB.   Perhaps the CM manager may have to ask the system to freeze a baseline.   Perhaps ask the system to produce a set of tech-writer-ready release
notes.  Perhaps kick-off a verification or release process.   Perhaps troubleshoot
when a developer accidentally puts the right code into the wrong development
stream.  But normal day-to-day operations should not require a lot of CM manager input.   As such, there should not be a lot of training required up front. A
quick hands-on run-through of the daily operations and maybe some customization
training.  The point is, if it's a lot more than that, then your small business is not going to be competitive because you're using a greater percentage of your resources for non-core business.

For customization, it may well be worth it to outsource customization to an expert,
if one can be found at SMB prices.   But if the customization is complex, you may be binding yourself to long term contracts and costs.   So look carefully at your tools to see how much effort it is to customize.   If you're basically programming to do
customization, watch out.

6. Sufficient quality management to ensure the process is being followed and is beneficial

The final mile is the most difficult.   And SMBs are pre-disposed to thinking that when they see the first working lab model, that they are into the final mile.   The final mile is shortened primarily by introducing effective process and quality procedures into the first

About the author

Joe Farah's picture
Joe Farah

Joe Farah is the President and CEO of Neuma Technology and is a regular contributor to the CM Journal. Prior to co-founding Neuma in 1990 and directing the development of CM+, Joe was Director of Software Architecture and Technology at Mitel, and in the 1970s a Development Manager at Nortel (Bell-Northern Research) where he developed the Program Library System (PLS) still heavily in use by Nortel's largest projects. A software developer since the late 1960s, Joe holds a B.A.Sc. degree in Engineering Science from the University of Toronto. You can contact Joe at farah@neuma.com