This document discusses software configuration management principles and practices. It begins with an introduction to configuration management and its history. The main principles of SCM are then outlined, including configuration identification, change control, configuration status accounting, and configuration audits/reviews. The document also discusses SCM automation and tools, challenges in SCM, and provides a comparison of various SCM tools.
In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines.
This Presentation explains the SCM Process.
Software Configuration Management And CVSRajesh Kumar
scmGalaxy.com is dedicated to software configuration, build and Release management. This covers CVS, VSS (Visual Source Safe),Perforce, SVN(Subversion) MKS Integrity, ClearCase,TFS,CM Synergy, Best Practices ,AnthillPro, Apache Ant, Maven, Bamboo, Cruise Control and many more tools.
Robust configuration management (CM) practices are essential for creating continuous builds to support agile’s integration and testing demands, and for rapidly packaging, releasing, and deploying applications into production. Classic CM—identifying system components, controlling changes, reporting the system’s configuration, and auditing—won’t do the trick anymore. Bob Aiello presents an in-depth tour of a more robust and powerful approach to CM consisting of six key functions: source code management, build engineering, environment management, change management and control, release management, and deployment. Bob describes current and emerging CM trends—support for agile development, cloud computing, and mobile apps development—and reviews the industry standards and frameworks essential in CM today. Take back an integrated approach to establish proper IT governance and compliance using the latest CM practices while offering development teams the most effective CM practices available today.
In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines.
This Presentation explains the SCM Process.
Software Configuration Management And CVSRajesh Kumar
scmGalaxy.com is dedicated to software configuration, build and Release management. This covers CVS, VSS (Visual Source Safe),Perforce, SVN(Subversion) MKS Integrity, ClearCase,TFS,CM Synergy, Best Practices ,AnthillPro, Apache Ant, Maven, Bamboo, Cruise Control and many more tools.
Robust configuration management (CM) practices are essential for creating continuous builds to support agile’s integration and testing demands, and for rapidly packaging, releasing, and deploying applications into production. Classic CM—identifying system components, controlling changes, reporting the system’s configuration, and auditing—won’t do the trick anymore. Bob Aiello presents an in-depth tour of a more robust and powerful approach to CM consisting of six key functions: source code management, build engineering, environment management, change management and control, release management, and deployment. Bob describes current and emerging CM trends—support for agile development, cloud computing, and mobile apps development—and reviews the industry standards and frameworks essential in CM today. Take back an integrated approach to establish proper IT governance and compliance using the latest CM practices while offering development teams the most effective CM practices available today.
Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system's or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.[1] For information assurance, CM can be defined as the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures, and test documentation throughout the life cycle of an information system.
scmGalaxy.com is dedicated to software configuration, build and Release management. This covers CVS, VSS (Visual Source Safe),Perforce, SVN(Subversion) MKS Integrity, ClearCase,TFS,CM Synergy, Best Practices ,AnthillPro, Apache Ant, Maven, Bamboo, Cruise Control and many more tools.
Introduction To Software Configuration ManagementRajesh Kumar
Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system's or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.[1] For information assurance, CM can be defined as the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures, and test documentation throughout the life cycle of an information system.
Change is inevitable
Defined procedures are required to manage change without preventing change
Software presents many challenges from a control, management, and tracking perspective
Knowing what you have and how you got there is very important
Being able to recreate exactly what is delivered to customers is essential
A detail review of configuration and change management. This lecture provides details about how to manage different software versions of same software in a market with different customers clients and different set of functionalities.
Robust configuration management (CM) practices are essential for creating continuous builds to support agile’s integration and testing demands, and for rapidly packaging, releasing, and deploying applications into production. Classic CM—identifying system components, controlling change, reporting the system’s configuration, and auditing—won’t do the trick anymore. Bob Aiello presents an in-depth tour of a more robust and powerful approach to CM consisting of six key functions: source code management, build engineering, environment management, change management and control, release management, and deployment. Bob describes current and emerging CM trends—support for agile development, cloud computing, and mobile apps development—and reviews the industry standards and frameworks essential in CM today. Take back an integrated approach to establish proper IT governance and compliance using the latest CM practices while offering development teams the most effective CM practices available today.
Change And Configuration Management Market Volume Analysis, size, share and K...Monica Nerkar
Change and configuration management is gradually gaining importance across enterprises due to its several benefits such as reduction in cost as it avoids unnecessary duplication due to knowledge of all the elements required for configuration, provides greater agility and faster problem resolution, thus giving better quality of service. In addition to this, change and configuration management have the ability to define and enforce formal policies and procedures that govern asset identification, status monitoring, and auditing and offers enhanced efficiencies, stability and control by improving visibility and tracking. Hence by configuring an efficient change and configuration management system, an enterprise can achieve greater levels of security and minimize the risk factor involved in any project.
Configuration management system comes into picture if there is any change related to the development of the product, for example if a new feature is added into the scope during the development phase of the product. Change management system is relevant when there is a change related to the timeline or the cost of the project.
Axway Managed Services for Exchange and Integration PlatformJean-Claude Bellando
Methods, tooling, highly skilled and experimented staff help Axway customers to increase productivity and maximize quality of service of the interaction layer.
Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system's or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.[1] For information assurance, CM can be defined as the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures, and test documentation throughout the life cycle of an information system.
scmGalaxy.com is dedicated to software configuration, build and Release management. This covers CVS, VSS (Visual Source Safe),Perforce, SVN(Subversion) MKS Integrity, ClearCase,TFS,CM Synergy, Best Practices ,AnthillPro, Apache Ant, Maven, Bamboo, Cruise Control and many more tools.
Introduction To Software Configuration ManagementRajesh Kumar
Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system's or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.[1] For information assurance, CM can be defined as the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures, and test documentation throughout the life cycle of an information system.
Change is inevitable
Defined procedures are required to manage change without preventing change
Software presents many challenges from a control, management, and tracking perspective
Knowing what you have and how you got there is very important
Being able to recreate exactly what is delivered to customers is essential
A detail review of configuration and change management. This lecture provides details about how to manage different software versions of same software in a market with different customers clients and different set of functionalities.
Robust configuration management (CM) practices are essential for creating continuous builds to support agile’s integration and testing demands, and for rapidly packaging, releasing, and deploying applications into production. Classic CM—identifying system components, controlling change, reporting the system’s configuration, and auditing—won’t do the trick anymore. Bob Aiello presents an in-depth tour of a more robust and powerful approach to CM consisting of six key functions: source code management, build engineering, environment management, change management and control, release management, and deployment. Bob describes current and emerging CM trends—support for agile development, cloud computing, and mobile apps development—and reviews the industry standards and frameworks essential in CM today. Take back an integrated approach to establish proper IT governance and compliance using the latest CM practices while offering development teams the most effective CM practices available today.
Change And Configuration Management Market Volume Analysis, size, share and K...Monica Nerkar
Change and configuration management is gradually gaining importance across enterprises due to its several benefits such as reduction in cost as it avoids unnecessary duplication due to knowledge of all the elements required for configuration, provides greater agility and faster problem resolution, thus giving better quality of service. In addition to this, change and configuration management have the ability to define and enforce formal policies and procedures that govern asset identification, status monitoring, and auditing and offers enhanced efficiencies, stability and control by improving visibility and tracking. Hence by configuring an efficient change and configuration management system, an enterprise can achieve greater levels of security and minimize the risk factor involved in any project.
Configuration management system comes into picture if there is any change related to the development of the product, for example if a new feature is added into the scope during the development phase of the product. Change management system is relevant when there is a change related to the timeline or the cost of the project.
Axway Managed Services for Exchange and Integration PlatformJean-Claude Bellando
Methods, tooling, highly skilled and experimented staff help Axway customers to increase productivity and maximize quality of service of the interaction layer.
"How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer...Dux Raymond Sy
PPT for "How to Build a Change Control System in a SharePoint PMIS" Presentation held at SharePoint Technology Conference in San Francisco, CA Jan 2009
Learn how agile and test automation interact in the real world
To be presented at Aqua SW Test Automation Open Day at Hi-tech College (http://www.aquasw.com/services_training.php#an2)
Lessons learned from the use of the Scrum methodology at our Calgary office over the years. Presented to the rest of the company during a push for agile adoption by all our software groups.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
4. History
1980, Bersoff, E. H., Henderson, V.D., and
Siegel, S. G. Software Configuration
Management. Prentice-Hall.
1984, The British Standard BS 6488
1987, IEEE Guide to Software Configuration
Management 1987. IEEE/ANSI Standard
1042-1987.
1987, U. S. Department of Defense. DoD
2167a Standard 1987. DoD.
5. Why SCM is needed
The project body
The project may be big. When a change is made in a shared
component, the user may not be notified. (The change may be a bug
fix or an improvement.)
The time
The development progress steps may last long. When the versions
become a tree, the bugs could appear or disappear in different nodes.
The people
A lot of people may be involved. A simultaneous update may destroy
the others’ work.
6. The goal (why)
To have change activity converge
Controlling ad-hoc change creates a stable
software development environment
Control of change is a major part of baseline
management
SCM co-ordinates access to change of the
software work products which is particularly
important when there is more than one
individual work on a software work product
7. Concept
“Configuration management involves the collection
and maintenance of data concerning the hardware
and software of computer systems that are being
used.” [SIMON & DENNIS - Ref 1]
“CM embodies a set of techniques used to help
define, communicate and control the evolution of a
product or system through its concept, development,
implementation and maintenance
phases.” [SWEETMAN - Ref 2]
“CM, a key concept in the Information Age, is a set of
systematic controls to keep information up to date
and accurate.” [MORRIS - Ref 3]
8. Concept (cont’d)
“A discipline applying technical and
administrative direction and surveillance
to. …” (IEEE)
“A collection of hardware, software,
and/or firmware, which satisfies an end-
use function and is designated for
configuration management.quot; (ISO)
9. What is not
Just version management
Just change management
Just a build-and-release tool
An administration tool
11. Principles of SCM
Configuration Identification
– Baselines
Change Control
Configuration Status Accounting
Configuration Audits and Reviews
– SCM metrics
12. Configuration Identification
SCM Planning document
– Objectives, responsibilities, and methods
Identify configuration items:
– Independent components of the system
Logical configuration hierarchy
– Object-based view
– Directory-based view
13. Baselines
Complete status of a CI at a given time
Know quality and functionality
Unchangeable and able to recreate
Mozilla SCM Roadmap
14. Change Control
Control change between baselines
Various levels of control
– Open policy (no control, just tracking)
– Informal code review by module owner
– Change Control Board (CCB)
Tailor level to organization and project
15. Configuration Status
Accounting
Monitor status of CIs and change
requests
– Complete listing of all changes since last baseline
(including who, what, when)
– Ideally changes should be traceable to rationale
Allows tracking of progress to next
baseline
Allows for previous releases/versions to
be extracted for testing
16. Configuration Audits
and Reviews
Validation of completeness and consistency
SCM audits occur during project transitions
– Requirements, design, implementation, test, …
Ensures that SCM plan is being followed
Useful to review SCM metrics gathered
Feedback allows process improvement
17. Implementation Issues
Requires champions, sponsors, agents
Requires planning (SCMP)
Requires training and documentation
Requires maintenance
Can be measured and improved
18. SCM Automation
Why Automation?
- Difficult to manage developments
by large teams operating at different
remote sites
- Projects are becoming bigger and more
complex
20. SCM Automation (cont’d)
Components Concepts
- Component concepts help identify and access
components of a software product.
- Requirements covered: version control,
configuration, repository, etc.
- Example of tools or systems: Revision Control
System (RCS), Sherpa Design Management
System (DMS)
21. SCM Automation (cont’d)
Structure and Construction Concepts
- Concepts that deal with capturing changes to
a component and its structure.
- Requirements covered: building, optimizing ,
recording information to allow regeneration of
components, etc.
- Example of tools or systems: Aide-De-Camp
(ADC), Jasmine system model, Rational…
22. SCM Automation (cont’d)
Team Concepts
- Concepts that help with the co-ordination and
synchronization of software engineering
teams working on a project.
- Requirements covered: work areas for
isolating work, synchronizing, concurrent
work…
- Example of tools or systems : Shape,
Software Management System (SMS),
Network Software Environment (NSE)
23. SCM Automation (cont’d)
Process Concepts
- Concepts that are related to process
functionalities.
- Requirements covered: lifecycle support, task
management, communication and
automatically recording information.
- Example of tools or systems : PowerFrame,
ISTAR, LIFESPAN, Change and Configuration
Control (CCC)
24. Tool Class 1
Code or Developer oriented CM tools only
supply the code management, version
control, including check-in, check-out,
merge, etc.
25. Tool Class 2
Process oriented CM tools also supply management
for software development activities. It may cover:
Version Control
Change Control
Product Management
Problem Tracking
Activity Tracking
Build Management
Document Management
Requirements Tracking.
27. SCM Challenges (cont’d)
• Technological Issues
- Switching CM Capabilities
- Interoperability between CM
- Global Perspective on CM
- Repositories
- Distributed CM
- Perfective Maintenance Support
37. References
A. Brown, S. Dart, P. Feiler, K. Wallnau. The State of Automated Configuration
Management, Software Engineering Institute. Carnegie Mellon University. 1991.
http://www.sei.cmu.edu/legacy/scm/abstracts/absatr_cm_state.html
Berlack, R.H. Evaluation & Selection of Automated Configuration Management
Tools. 1995. http://www.stsc.hill.af.mil/crosstalk/1995/nov/evaluati.asp
Dart, Susan. Concepts in Configuration Management. Software Engineering Institute.
Carnegie Mellon University. 1991. http://www.sei.cmu.edu/legacy/scm/abstracts/
abscm_concepts.html
Eich, Brendan. Mozilla Tree Management Roadmap. Mozilla Organization. 2002. http://
www.mozilla.org/roadmap.html
Humphrey, Watts S. Managing the Software Process. Addison-Wesley Publishing
Company. Reading, Massachusetts. 1990
Kelly, Marion. Configuration Management: The Changing Image McGraw-Hill U.K.,
1996.
Menks, D. Software Configuration Management. University Of Calgary. 2001.
http://www.ucalgary.ca/~dbmenks/seng/seng621/scm.html
Editor's Notes
Hi everyone, Today’s topic is configuration management (CM).
I will introduce the concept of CM.
And Guy will open the door for Basic principles.
Then Stephane will lead us to SCM automation and SCM tools, and also talk about the SCM future
If we have time, I’ll compare the
Before we give the accurate definition of Configuration Management, I’d like to have one simple sentence to show what is the CM, so everybody can have the starting point.
Configuration Management is a documentation system for tracking the work.
Is that simple?
The simplest CM could be a piece of paper. I can use it write down what is the problem, where I find the bug, what I’ve changed to fix the bug. That is what I do everyday.
Well, somebody keep it in mind, but the information can not be shared, it could be forgotten, we say this (head) is not a CM.
How long have the engineers write the memo on a piece of paper?
I tried to dig out the history of formal CM concept. The earliest one I got is 1984 British Standard. I’m pretty sure it is not the earliest one.
My parent worked on computer science in 1958, I’ve pretty sure somebody has invented paper at that time so they can use.
Today, story is different.
The computer has been changed. The computer project has been changed. The expectation has been changed as well.
We have much bigger project. The size is bigger means more components and more shared component. When the shared component is changed, then it’s may not be a simple story on the paper anymore. We may need to notify all the shared users.
The another difference is the development of the project may last longer. We have different releases, we customize the project for different customer. The binder get thicker and thicker and we get harder to find the original paper.
We have much more people involved in the project. When multiple people work in some component simultaneously, it always has problem to overwrite each other’s.
So what we want?
A fantastic(expensive) CM system is not our goal. It is just a tool. We want the tool to help us to have our change activity converge, so we can have a stable product to deliver.
Now, let’s go back to the so called accurate concept of CM.
It is just the memo of work.
The IEEE definition is very interesting. It has 3 key words:
Technical, administrative, and surveillance.
It tends to fit the CM concept to the organization. It is not just a technical issue, it also help the administrator to understand the scope of the target, the problem and current status. And it also supply a evaluation framework to check the work.
From the definition, everybody have the idea in mind. Before we move forvord, I want to emphesize that CM is not:
The CM covers:
Mention that each component builds somewhat upon the next. The last item is optional and the overall process should be tailored for the specific organization.
Configuration Item definition:
Any part of the development and/or deliverable system (whether software, hardware, firmware, drawings, inventories and/or documentation) which needs to be independently identified, stored, tested, reviewed, used, changed, delivered and/or maintained. CIs can differ widely in complexity and may contain other CIs in a hierarchy. [Kelly, 1996]
1. Known Functionality: The features and functions of a particular baseline will be documented and available for reference.
2.Known Quality: The quality of a baseline will be well defined. For example, all known bugs will be documented and the software will have undergone a complete set of testing before being released.
3.Unchangable: A baseline, once defined, cannot be changed. The list of the CIs and their versions are set in stone. Any changes may become a new baseline, but the existing baseline does not change.
4.Recreatable: All the CIs comprising the baseline can be recreated at any point in time. This is critical for maintaining development, testing, and multiple release versions.
An example baseline for a software configuration item may include the current level of: [Humphrey, 1990]
*Each module including source code.
*Each test case including source code.
*Each build tool used including the compiler.
*Each data set including both test and operational data.
*Each macro, library, and API (header files).
*Each instalation or operating procedure.
Information considered by the Change Control Board
* Size: typically in lines of code (LOC).
*Alternatives: consideration of other approaches to problem.
*Complexity: will the change affect many modules?
*Schedule: affect on other jobs
*Impact: future considerations on design
*Cost: weigh potential costs versus savings.
*Severity: importance of making the change.
*Relation to other changes: synergies or conflicts
*Test: any special test requirements
*Resources: are people available to do work?
*System impact: will this affect performance characteristics?
*Benefits: special reasons to make this change?
*Politics: accommodation of an important user?
*Change maturity: length of time this change has been under consideration.
The following information is required to accurately account for a configuration item's status: [Humphrey, 1990]
*The time at which the baseline was established.
*The time at which each CI and change was included in the baseline.
*A description of each CI.
*The current status of each software-related engineering change.
*The description of each software change.
*The status of each software change.
*The documentation status for each baseline.
*The changes planned for each identified future baseline.
Possible Change Metrics
- Change frequency: indicates error-prone modules
- Total number of changes completed
- Average change completion time
- Number of outstanding changes (per module)
Also mention that these SCM metrics are also used by size and cost estimators.
SCM is common to all process change in that it requires:
Champions: initiate change process and bring it to the attention of management.
Sponsors: senior management must provide support and resources
Agents: responsible for actually planning and implementing the change
SCMP: outlines objectives, responsibilities, and the approach and methods to be used
Outline in brief CVS at Pason:
Requirements and planning doc (cross-platform)
System configuration
How-to docs and FAQ-o-matic
Sysadmin and backup
FtpVC is a very simple shareware, which only support checkin/checkout using FTP. It does not have version label and version branch.
Stephane talked one of the challenge is to transfer the CM data between the different CM system.
StarTeam does very well here. StarTeam can exchange the data with other CM tool (PVCS, SourceSafe)
StarTeam also can export the data to Microsoft Project, so it helps the project planning part of Software Engineering.
Visual Source Safe can integrate with Visual Studio. So the files can be checkin/checkout from Visual Studio