Software Configuration Management: Selecting the Right Tool
description
Transcript of Software Configuration Management: Selecting the Right Tool
Software Configuration Management: Selecting the Right
ToolChetan Desai
Software Project ManagementSWEN 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+– $995.00 for 10 users
• CS-RCS– All Level 1 requirements implemented– Supports merging and parallel development– Level 1+– $3600.00 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– $8030.00 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 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.
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