SCM helps milk valuable market
Most software developers would benefit from a software configuration management tool, writes Bob Tarzey.
No man is an island, and this is certainly true of software developers, even if some look like they have spent months stranded on one.
Even the smallest teams need to share ideas and code, avoid duplication of work and pass tasks from one team member to another. Even lone workers need a level of organisation that allows them to repeatedly rebuild a programme from multiple components and to document the changes they make to their code.
Development teams carry out these tasks with varying levels of efficiency. Too much software is developed using half-baked in-house systems and procedures. This is daft, because there are a load of great tools out there ready-built to do the job.
Admittedly an all-singing, all-dancing process control system for software development can cost an arm and a leg. However, there are plenty of products on the market that meet the core requirements for software configuration management (SCM) at a reasonable price.
Your customers should not waste valuable programmer time building this capability in-house, when it is available off the shelf. What components are required and which vendors are best positioned to support the channel?
1. Configuration management is the core requirement, common to all tool sets. Included is a shared library, code check-in and -out, version control, application building and back-up.
2. Change request control enables bugs, software updates and requests for new features to be collected and acted upon. The few vendors that do not have this capability can easily interface with third-party products.
3. Process control is when things start getting expensive and complicated, but is required for the development of mission-critical software in industries such as defence, aerospace, finance and pharmaceuticals. Any organisation, large or small, developing software for these industries will have to pay heed to regulatory requirements and may benefit from process control to obtain appropriate accreditation.
What platforms do these products run on?
Most SCM products have a client and a server component. All vendors support Windows, while most support Unix and Linux. Unix support includes IBM AIX, HP UX and Sun Solaris, except for Borland StarTeam, which is only on Solaris, and Merant Dimensions, which is not available on HP UX.
Three vendors provide their products on mainframes - Computer Associates (CA) has two products with a gateway between them. Other vendors support deployment to mainframes.
Client software is generally available on Windows and sometimes on Unix and Linux; most vendors also have a web interface. Some support many more platforms. Perforce has 50-plus client-server combinations, for instance. Unsurprisingly, Microsoft supports only one platform.
When advising customers on which products to use you need to know which vendors support the channel and which products suit SMEs and corporates.
MKS, Telelogic and CA all admit to being focused on selling their products directly to corporates - leave them to get on with it. Serena is pretty much the same, although its recently acquired TeamTrack product (for change and process control) may be targeted at the channel.
IBM recently moved into the SCM market by acquiring Rational Software. There is a version of its ClearCase product for SMEs but this has mostly been sold directly. IBM's approach may change this.
Merant is a veteran SCM vendor. Its PVCS Version Manager is one of the most widely used multi-platform products, and is available to the channel.
Borland also recently entered the SCM market by acquiring StarBase. Its StarTeam Standard Edition is targeted at SMEs and is available to the channel. Microsoft's Visual SourceSafe is widely used by SMEs but it does not make much effort to market it as a stand-alone product.
Perforce has a good product for SMEs but sells it direct over the web, so it's little use to the channel.
Ask your customers if they develop software in-house, and how they manage their development teams and protect their accumulated software assets. If they are not using an SCM tool, they should be, and you have an opportunity to sell to them.