Software Configuration Management: Selecting the Right Tool
description
Transcript of Software Configuration Management: Selecting the Right Tool
![Page 1: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/1.jpg)
Software Configuration Management: Selecting the Right
ToolChetan Desai
Software Project ManagementSWEN 5230
Dr. Boetticher
![Page 2: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/2.jpg)
What is SCM?
• History– CM Origins– SCM - Automation – Mature Discipline
![Page 3: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/3.jpg)
Why do I need it?
• Reduce Costs• Improve Productivity• Encourage Reuse• Reduce Deployment Defects• Reduce Time-to-Market• Integral Part of a Mature Organization [CMM]
![Page 4: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/4.jpg)
But..
• Adoption of SCM tools in the software development market is only 20% [Ovum Research]
• Lack of Awareness of the State-of-the-Art• Problems with Tool Adoption
– Behavioral Factors [WeigersK]– Political Factors– Inability to See Long-Term Benefits
![Page 5: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/5.jpg)
Problem Definition
• Suitability for an organization• “One size does not fit all”• Large Investment, Resource Commitment, return-on-
investment• Select the most appropriate tool to obtain maximize return-
on-investment (ROI)• The total number of tools in the market today exceeds 50
![Page 6: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/6.jpg)
Functionality (Requirements)
• Dart discusses functionality and requirements• Does not address deployment• Modified diagram• Does not address entire industry spectrum• No distinction made based on industry
![Page 7: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/7.jpg)
Industry Spectrum• Organization Factors - “How small is small?”
– small • who, what, when• small, local, single-organization involvement with less
volatile requirements– large
• communication control• large, multi-organizational, multi-site and with volatile
requirements• Project Factors - Size, Complexity
![Page 8: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/8.jpg)
Functionality and Industry • Workspace
– Simple (Workstation Directory), Intermediate (Hierarchical)– Workspace usage patterns– Small - Simple Workspace– Large - Intermediate Workspace (Enhances communication)
• Merging– Managing conflicts – Largely manual effort– Small - Parallel development not necessary – Large - Support tools, Automated merge
![Page 9: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/9.jpg)
Functionality and Industry (continued)
• Communication– Local Area Connectivity
• Local network support– Wide Area Connectivity
• “Virtual Software Company”– Small - Local network support– Large - Wide area connectivity
![Page 10: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/10.jpg)
Functionality and Industry (continued)
• Components– Uniquely identifiable components
• Applies to both - core function– Uniquely identifiable configurations
• Small - Labeling• Large - Rules
– Repository• Small - File Based Repository• Large - Database, structured storage (Efficient Retrieval)
![Page 11: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/11.jpg)
Functionality and Industry (continued)
• Structure– System Model– Small - Parts List, Labels– Large - System Model
• Construction– Build Management– Small - make– Large - Integrated/Automated build management
![Page 12: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/12.jpg)
Functionality and Industry (continued)
• Deployment– Installation– Parameterization– Instantiation– Reconfiguration
![Page 13: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/13.jpg)
Functionality and Industry (continued)
• Process– Extent of Process Support - Little or None,
Enforced, Custom • Auditing
– Change History– Trace Changes to Related Documents– Summary Charts and Reports
![Page 14: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/14.jpg)
Functionality and Industry (continued)
• Accounting– Schedule Tracking– Gathering Metrics
• Controlling– Access Control
• Locks, Lists, Authentication– Small - Authentication governed by network– Large - Tool Authentication in Addition to Network
Authentication
![Page 15: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/15.jpg)
![Page 16: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/16.jpg)
Taxonomy
• Onion Model• Levels
– 1. Core functionality (simple version control)– 2. Simple process introduction– 3. Enforced process– 4. Complex, Global
• Justification for Grouping
![Page 17: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/17.jpg)
![Page 18: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/18.jpg)
SCM Tool Survey• SourceSafe
– All Level 1 requirements implemented– Supports merging and parallel development– Level 1+– $995.00 for 10 users
• CS-RCS– All Level 1 requirements implemented– Supports merging and parallel development– Level 1+– $3600.00 for 10 users
![Page 19: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/19.jpg)
SCM Tool Survey (continued)
• Razor– Meets all Level 1 and Level 2 requirements– Does not meet any Level 3 requirements– Level 2– $8030.00 for 10 users
![Page 20: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/20.jpg)
Results
• CS-RCS, MS-VSS, Razor mapped to taxonomy• Caveat: Level 1+ for CS-RCS, MS-VSS• CS-RCS, MS-VSS
– Low Operational Expertise– Developer-Oriented
• Razor– Basic Change Management Processes
![Page 21: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/21.jpg)
Conclusions
• CM is a key element in the development and maintenance of a software product
• Investing in the most feature rich CM solution may not be the wisest solution
• General Taxonomy Presented - Guide• Gradual Adoption
![Page 22: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/22.jpg)
Future Work
• Practical Considerations• Develop “Tie Breaking” Criteria• Model Granularity• Develop Questionnaire• Usability, Performance, Platform, Technical
Support Considerations• Case Studies Needed to Valid Model and ROI
![Page 23: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/23.jpg)
References• Dart, S. Concepts in Configuration Management System (June 1992), On-
line at http://www.sei.cmu.edu/legacy/scm/abstracts/abscm_concepts.html.
• Fruhauf, K. Software Configuration Management, State of the Art, State of the Practice (1999).
• Buckholz, G., Making CM Work for Software Development. IT Professional (September-October 2001), 51-53.
• Wiegers, K.E. Lessons Learned from Tool Adoption Software Development Magazine (October 1999). On-line at www.processimpact.com/articles/tool_lessons.pdf
• Banachowski, S., Whitehead, J. An Observation of Fine Grain Usage Patterns for Two Configuration Management Tools (May 2001), Tenth International Workshop on Software Configuration Management.
![Page 24: Software Configuration Management: Selecting the Right Tool](https://reader034.fdocuments.in/reader034/viewer/2022050723/56815d41550346895dcb4769/html5/thumbnails/24.jpg)
Questions
• According to Ovum, what is the market penetration of SCM tool?– 20%
• What are the core (fundamental) areas of SCM functionality according to this paper?– See “Onion Diagram” Level 1