240 likes | 362 Views
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
E N D
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+ • $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