IT paper
Software Configuration Management
Abstract
This paper evaluates and analyzes the article ‘Software Configuration Management: State of the Art, State of the Practice’, written by Karol Fruhauf and Andreas Zeller. The article mainly covers open issues of the software configuration management and focuses on those solutions that are provided by some automated tools in the form of the prototypes or the developed commercial system. However, authors have discussed few tools concerning the SCM this paper discusses some latest Software Configuration Management concepts and tools that can provide competitive advantages to recent software developments.
This paper further discusses the innovative concepts of the SCM to be considered, as the collection of activities that are designed to manage the variations by identifying the work products that are likely to change, making associations among them, describing the mechanism for managing the distinct versions of the software products. From the evaluation, it is found that Software Configuration Management also manages the changes that are imposed and audited as well as reported on the variations. Therefore, few latest Software Configuration Management tools have been identified in the paper such as visual SourceSafe, ConfiguRAD, and LIFESPAN that provide effective solutions to the software configuration and its developments.
Table of Contents
Abstract2
Introduction4
Software Configuration Management5
Teams Centered Functionality Areas of SCM7
Team7
Component8
Structure9
Construction9
Deployment9
Process Centered Functionality Areas of SCM10
Processes10
Auditing11
Accounting11
Controlling11
Evaluation and Conclusion12
Reference14
Introduction
The software configuration management is considered as the major accomplishment of the software engineering and all the software organizations accept the significance of the software configuration management for the synchronized development of the software[ CITATION Ste03 \l 1033 ]. The SCM is the collection of the activities that are designed to manage the variations by identifying the work products that are probable to change, creating relationships among them, describing the mechanism for managing distinct versions of the software products, managing changes that are imposed as well as auditing and reporting on the changes that are completed [ CITATION Rog10 \l 1033 ]. For example, the recent innovative software configuration tools such as visual SourceSafe and ConfiguRAD provide effective solutions to the software configuration and its developments in the recent competitive software development environment[ CITATION Key04 \l 1033 ].
The Software Configuration Management takes into consideration the several aspects of the varying software that splits into the change management, version management, system building, and the release management[ CITATION Ian04 \l 1033 ]. In change management, the consideration takes place that in what way the variations are requested and in what changes will be made however, version management is concerned with keeping the track of the several versions of the code that are made where the SVN and CVS permits the branches of code to be built, merged and versions tracking[ CITATION Ian04 \l 1033 ]. Moreover, to keep the operations of the versions running, it is significant to keep track of the baseline of the system, holding the entire configuration parameters utilized to make a specific version[ CITATION Fru99 \l 1033 ]. The system building goes one-step further and is related with the complete building process including different tasks such as external libraries and components together to build the complete system. However, the release management considers all the module of the software into final released product that documentation and software that worth for release[ CITATION Ian04 \l 1033 ].
The software release management comprises of the identification, packaging, and delivery of the element of the product. For instance executable documentation, release notes, and configuration data[ CITATION Rog10 \l 1033 ]. This paper provides the critical analysis of the research paper named as ‘Software Configuration Management: State of the Art, State of the Practice’ and discusses major innovative concepts and tools along with developments in Software Configuration Management.
Software Configuration Management
In the paper ‘Software Configuration Management: State of the Art, State of the Practice’, the author Karol Fruhauf and Andreas Zeller discuss about the open problems of the SCM and emphasized on those solutions that are provided by some automated tool in the form of prototype or a developed commercial system[ CITATION Fru99 \l 1033 ]. The functionality of the SCM systems can be categorized into the two significant functional areas that include the teams centered functional areas dealing with the technical aspects of the SCM such as components, structure, construction, team, and deployment. In contrasts the process centered functional areas, the management issues include such as auditing, accounting, controlling, and process as demonstrate in the figure below[ CITATION Fru99 \l 1033 ].
Figure 1: SCM Functionality Areas [ CITATION Fru99 \l 1033 ]
For each of these areas, the authors have discussed the state of art for evaluating the present and proposed SCM solutions that solve the particular tasks of SCM. The solutions are evaluated in the following categories:
Effectiveness
In the paper, the author illustrated about the effectiveness of the solution demonstrates as how well the solution performs the particular task[ CITATION Ale05 \l 1033 ]. For instance, recently, the software configuration engineers are moving from the ClearCase user configuration management to the Rational Team Concert, which is five times more productive in the simple task completion operations as compared to ClearCase hence it increases the effectiveness of the software configuration management[ CITATION Rog10 \l 1033 ].
Affordability
The authors also described the concepts of affordability is the level that demonstrates, at what level usual software development organization can afford to perform the solution, as there are the probabilities that the solution is that costly that organizations are incapable to utilize it[ CITATION Rog10 \l 1033 ]. For instance, the IBM leading and innovative Rationale Suite includes the Rational Team Concert (RTC) and ClearQuest that provides effective capabilities for managing the work and version management and hence helps to reduce the IT and additional tool support cost and ensures infrastructure simplification and reliability[ CITATION IBM11 \l 1033 ].
Teachability
The paper demonstrated effectively the concept of teachability that at what level the solution can be taught feasibly and how well the user can understand the solution[ CITATION Key04 \l 1033 ]. For example, the recent software configuration management tools such as SCM tools of IBM provides the training material in the form of user manuals that help to instruct all the IT users of the solution to effectively access and support the configuration management within organizations[ CITATION IBM11 \l 1033 ].
Teams Centered Functionality Areas of SCM
Team
According to Fruhauf & Zeller [ CITATION Fru99 \n \l 1033 ], the concept of the workplace that separates the developer from works of other is significant to the SCM and hence the workspaces are required to provide their personal structure, configuration items, appropriate configurations and access rights for the distinct functions in the software development. The SCM system provides the ways to create promulgate and apply changes therefore every SCM system permits to simulate the workspaces. The groups working together require connectivity to proliferate variations as the small group with effective interconnection provides the central repository suffices for all the software project sizes[ CITATION Ger08 \l 1033 ].
However, I believed that that the management of tasks becomes more complex for the multi sites, multi organization software developments, and demand local copies of the shared resources to be replicated and cached as well as remote access must be developed so that teamwork is predictable while avoiding disclosures of the software projects. Various commercial SCM tools for instance CLEARCASE provide support for the wide area connectivity of the project while the advanced visual SourceSafe tool is oriented towards the management of small teams[ CITATION Key04 \l 1033 ].
Component
It is observed that organizing the individual components is the major task of SCM where tools such as source code control system (SCCS) and Revision Control System (RCS) are being utilized for several years to manage multiple components of the project. I believed that the fundamental requirement of the SCM systems is the version control that is controlling multiple versions of the software development objects where the tools like SCCS and TCCS provide an effective way to store and retrieve the large amount of versions in the repository present and have been systematically authenticated. Moreover, recognizing and rebuilding a configuration through its components or variations applied to the baseline is the task feasibly solved with all the existing SCM tools[ CITATION Ste03 \l 1033 ].
Structure
There are several commercial SCM systems and tools such as CVS that permits the decent versioning of the file hierarchies, problems of renaming and reorganizing the structures are still not managed properly. Moreover, the SCM systems provide methods to choose the particular configurations that goes from tags in the RCS or CVS to complicated rules as demonstrated in the ADELE tool. However, I believed that the version model of SCM has the considerable influence on the way the user communicates with the SCM system. For instance, the ConfiguRAD provides the user friendly and intuitive SCM communication in the recent days [ CITATION Dav111 \l 1033 ].
Construction
It is observed that the task of the software configuration management of creating the software products by utilizing the MAKE rules include the smart recompilation, parallel and distributed creation and automatic dependency tracking as well as caching the derived version of the products and it is widely used in the recent days[ CITATION Mar104 \l 1033 ].
Deployment
The deployment is the innovative field of software configuration management and according to the Fruhauf and Zeller [ CITATION Fru99 \n \l 1033 ]; the deployment includes installation, parameterization, instantiation and reconfiguration as well as replication. The replication ensures that the intended configuration of the product is properly duplicated on the medium selected for the product delivery. The installation is the task of SCM to transfer the product to the user but this task becomes complex when the software product relies on the other products in particular versions[ CITATION Ale05 \l 1033 ].
The parameterization is the task of the SCM to acclimatize the product to the context of the user and currently parameterization is performed using the tools GNU AUTOCONF that automatically establish system properties[ CITATION Ger08 \l 1033 ]. However, I believe that the instantiation is the major task of SCM that start the product into the execution but this task of SCM becomes challenging when different components of the product communicate with each other for instance COBRA tool can be utilized to determine the reliable configuration. On the other hand , the reconfiguration is the task of the SCM that acclimatizes the product to the new user requirements before its execution[ CITATION Key04 \l 1033 ].
Process Centered Functionality Areas of SCM
Processes
The SCM systems that are quite inflexible in implementing the processes lessen the effectiveness of the product, advanced SCM systems are not only effective in enforcing the activities but also provide the way to follow the existing and pending activities. For instance, the Rational Unified Process tools permit the customization of the process in an effective way. However, I believed that the SCM systems operate the states of the configuration items while the project management for the process control utilizes this information. For instance, recent starteam tool organizes and supervises software delivery process[ CITATION Dav111 \l 1033 ].
Auditing
The Software Configuration Management systems offer the characteristics of inquiring the change records of the particular configuration items and these features are extensively used in the recent days[ CITATION Ger08 \l 1033 ]. I believe that the SCM auditing usually conducted all through the software development life cycle to provide the management, enduring evaluation of the sufficiency of the policies, plans, processes, and systems to fulfill the requirements of the evaluation. It also provides conformance of the configuration items to the user requirements as well as the usefulness of the SCM tool capabilities and competence of resource consumption[ CITATION Rog10 \l 1033 ].
Accounting
It is also observed that the accounting facilities of the SCM systems provide users and manage to identify the status of the software product. It permits to organize the components and versions to the particular properties[ CITATION Ger08 \l 1033 ].
Controlling
The access control is considered as the primary standard of the automated software configuration management, as every SCM system contains some form of access control usually through locks that only one user can modify the file at a time. Moreover, I believed that the advanced SCM system such as LIFESPAN provides the sophisticated arrangement of the change request. For instance, Vesta provides versioning of the file system and supports the distributed repositories[ CITATION Mar104 \l 1033 ].
Evaluation and Conclusion
It is concluded that the software configuration management makes sure the reliability, consistency and reproducibility of the developing software product from beginning to its release. The software configuration management is the task of tracking and controlling the variations in the software product that includes the practices of revision control and the foundation of the baselines. In the paper ‘Software Configuration Management: State of the Art, State of the Practice’, the authors Karol Fruhauf and Andreas Zeller discussed the major issues of the SCM and focused on some solutions through the illustration of some automated tools. However, widespread concepts and latest tools can be discussed in this research paper and hence the authors did not give emphasis on the latest development concerning the software configuration management.
The authors could evaluate the state of SCM by identifying the effective SCM tasks and solutions as well as core SCM knowledge and concept in much more effective ways by describing the latest concepts of SCM and tools such as Rational Team Concert (RTC), visual SourceSafe, ConfiguRAD, and LIFESPAN in the research paper. However, the authors did not identify these limitations in their research of their own but should have been discussed in the paper in order to do much more effective future research on the software configuration management.
The major strengths of the research paper is that it conducted the in-depth analysis of the significant concepts concerning the SCM such as team centered functionality and process centered functionality as compared to the article ‘Software Configuration Management’ that focuses on only the limited concepts of SCM. However, the major weakness of the research paper is the lack of illustration of the innovative SCM concepts and tools as discussed in the research paper ‘Software Architecture and Software Configuration Management’[ CITATION Ber08 \l 1033 ].
In the paper ‘‘Software Configuration Management: State of the Art, State of the Practice’, the author effectively provided the in-depth information of the team centered functionality areas that are the technical aspects of the SCM that included the components, team, structure, construction and deployment. Moreover, strength of the paper is the effective and in-depth illustration of the process-centered functionality and the authors efficiently demonstrate the issues concerning the auditing, accounting, and controlling.
In the paper authors efficiently demonstrated the solutions of the software configuration management in five different categories that included the effectiveness, affordability, teach-ability, uses in practices and the research potentials that enhanced credibility of the paper. However, the major weaknesses of the paper is that the authors failed to describe the innovative concepts of the vendor control and interface control as effectively described by John A. Scott and David Nisse in their paper Software Configuration Management. Concerning the subcontracted software, the SCM requirements are required to be imposed on the subcontractors SCM processes considering as the part of the subcontract to monitor the compliance of the software. Moreover, this vendor control concepts also include the consideration of what SCM information must be available for the effective compliance monitoring. The paper also lacks to illustrate the concept of the interface control that demonstrated when the software item interfaces with the another software and hardware item the variations in the items influences the software and the effective planning for the SCM considers in what way interfacing items can be identified and changes can be management[ CITATION Joh011 \l 1033 ].
Reference
Berczuk, S.P. & Appleton, B., 2003. Software configuration management patterns: effective teamwork, practical integration. Addison-Wesley Professional.
BernhardWestfechtel & Conradi, R., 2008. Software Architecture and Software Configuration. Norwegian University of Science and Technology, pp.1-16.
Blokdijk, G., 2008. Configuration Management 100 Success Secrets - Covering CM Software,Jobs,Plans,Tools,Control,Database,Process and Systems. Lulu.com.
Fruhauf, K. & Zeller, A., 1999. Software Configuration Management:State of the Art, State of the Practice. Proceedings of the 9th International Workshop on Software Configuration Management, 1675, pp. 217-227.
IBM, 2011. Rational software. [Online] Available at: http://www.ibm.com/developerworks/rational/ [Accessed 26 January 2012].
Keyes, J., 2004. Software configuration management. Auerbach Publications.
Leon, A., 2005. Software configuration management handbook. Artech House.
Moreira, M.E., 2010. Adapting Configuration Management for Agile Teams: Balancing Sustainability and Speed. John Wiley and Sons.
Pressman, R.S., 2010. Software engineering: a practitioner's approach. McGraw-Hill Higher Education.
Scott, J.A. & Nisse, D., 2001. SOFTWARE CONFIGURATION MANAGEMENT. Lawrence Livermore National Laboratory, pp.7-16.
Sommerville, I., 2004. Software engineering. Pearson/Addison-Wesley.
Tuffley, D., 2011. Software Configuration Management: A How to Guide for Project Staff. CreateSpace.