Software Configuration Management: Selecting the Right Tool Chetan Desai Software Project Management SWEN 5230 Dr. Boetticher
What is SCM? History –CM Origins –SCM - Automation –Mature Discipline
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]
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
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
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
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
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
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
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)
Functionality and Industry (continued) Structure –System Model –Small - Parts List, Labels –Large - System Model Construction –Build Management –Small - make –Large - Integrated/Automated build management
Functionality and Industry (continued) Deployment –Installation –Parameterization –Instantiation –Reconfiguration
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
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
Taxonomy Onion Model Levels –1. Core functionality (simple version control) –2. Simple process introduction –3. Enforced process –4. Complex, Global Justification for Grouping
SCM Tool Survey SourceSafe –All Level 1 requirements implemented –Supports merging and parallel development –Level 1+ –$ for 10 users CS-RCS –All Level 1 requirements implemented –Supports merging and parallel development –Level 1+ –$ for 10 users
SCM Tool Survey (continued) Razor –Meets all Level 1 and Level 2 requirements –Does not meet any Level 3 requirements –Level 2 –$ for 10 users
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
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
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
References Dart, S. Concepts in Configuration Management System (June 1992), On-line at 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), Wiegers, K.E. Lessons Learned from Tool Adoption Software Development Magazine (October 1999). On-line at 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.
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