What Is the Real Difference between Software Configuration Management and Hardware Configuration Management?

In his CM: The Next Generation Series, Joe Farah recently noticed an increasing level of discussion on CM communities discussing software configuration management (SCM) versus hardware configuration management (HCM). Remember that there are many similarities between hardware and software, but there are certain differences that significantly impact your ability to develop and manage.

As the discussion goes on, some questions arise. Are the fundamentals the same? Should there be one CM department or one for both hardware and for software? Can we use the same tools for both types of configuration management? Is SCM the same as HCM?

These are not easy questions to answer, but if we want to delve into them in more detail, it’s necessary to understand some fundamental differences between software and hardware.

But first I’d like to make an observation. The fact that there is an increased level of discussion on this topic implies that software and hardware teams are having more interaction with one another. I believe this is due to more and more software creeping into traditional hardware solutions and the fact that people are understanding that you can’t treat software as simply as being “part” of hardware. Additionally, as hardware development becomes cheaper, software further impacts hardware requirements.

I’m sure there are other drivers too, but the key point is that software and hardware teams are synergizing more than they have in the past.

Remember that there are many similarities between hardware and software, but there are certain differences that significantly impact your ability to develop and manage.

For example, hardware is built to last while software is designed to change, although this does not imply that hardware cannot be designed to change. Also, software longevity is important, but you don’t go out and build a smartphone or tablet that will need hardware improvements after the customer buys it. On the other hand, customers might not buy that phone or tablet if they thought they weren’t going to get frequent software updates.

Additionally, hardware costs tend to be production-oriented, while software costs tend to be development oriented. Once the development is completed, the hardware is then moved over into the production phase, where parts and materials have to be purchased or mass produced, then assembled, and finally tested. An efficient process is needed both for inventory management and for production to ensure cost effectiveness of the end product.

Pages

About the author

Joe Farah

Joe Farah is the President and CEO of Neuma Technology and is a regular contributor to the Techwell Community. 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). 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