Post on 30-Dec-2015
description
Software Configuration Management: Selecting the Right
ToolChetan 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+– $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