320 likes | 759 Views
What is Configuration Management?. The management of a software development process as it evolves into a software product or system
E N D
What is Configuration Management? • The management of a software development process as it evolves into a software product or system • The means of communicating to the project's designers and developers the technical detail and events that lead to the eventual build and delivery of the final product
Configuration Management Configuration Management Configuration Identification Change Management Configuration Status Accounting Define the product and its configuration documentation identification Control changes to a product and its configuration documentation Provide status and information about a product and its configuration documentation Configuration Audits Verify consistency of configuration documentation against the product
History Of CM Configuration management (CM) was imposed on defense contractors in the 1960's as a way to define products and to process changes whereby those products could be properly maintained. CM forced contractors to consider total life cycle costs, not just development and production costs.Today, after 40 years of advancements in information technology, the basic premise of CM has not changed. CM itself, however, has not kept pace. It remains an underdeveloped discipline.
History Of CM CM, if properly in place, is ingrained in the fabric of the business. Trying to implement CM without proper preparation is to start a series of turf wars. That is only one obstacle.CM is a language within itself. It is difficult to discuss CM with those who do not "speak the language." Furthermore, different activities have their own dialect. Different activities may use different combinations of the terms shown below. Some do CM and never call it CM.
Roles and Responsibility Build Engineers ‘BE’ A: Responsible for integration of software development branches and component builds. B: Release of CI’s including software components. C: Collects CM Metrics. D: Development team member. -
Roles and Responsibility • Product Integration Engineers ‘PIE’ • A: Responsible for modification and development • of software to meet product delivery requirements . • B: Responsible for product integration. • C: Product software development team member.
Roles and Responsibility Project CM A: Management of build process and documentation. B: Release of CI’s including software components. a: Collects CM Metrics. b: Development team member.
Roles and Responsibility Build Managers ‘BM’ A: Responsible for scheduling builds of components and product code. B: Depending on requirements this person maybe A CM Build Manager or the Software Project Manager.
Roles and Responsibility Release Managers ‘RM’ A: Performs release of all phases of software development. B: Depending on requirements this person maybe A CM Build Manager or the Software Project Manager.
Roles and Responsibility Software Developers A: Responsible for software development of reusable software. B: File naming conventions. C: Branching requirements. D: Coding Standards. E: Execute the CM process.
Software Development life Cycle Review and inspections Configuration Control Board CCB Design Code/UT and UIT Comp Int Test Software Requirements CCB CCB CCB CCB Component Storage
Types of CM Tools • ClearCase • PVCS • DSDS • Continues • DDTS
ClearCase? • A comprehensive version control and software configuration management system that helps you automate the tasks required to write, release, Defect track and maintain high-quality software. • Enabler of: • Version Control • Build Management • Workspace Management • Process Control
ClearCase? • Provides versioning of all types of files and directories • Records and reports actions, history, and milestones • Guarantees accurate reproduction of every release • Provides traceability and reproducibility • Provides powerful branch-and-merge tools • Allows for customized process • Assures integrity of all software elements