Software Configuration Management Selecting the Right Tool Chetan

  • Slides: 24
Download presentation
Software Configuration Management: Selecting the Right Tool Chetan Desai Software Project Management SWEN 5230

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

What is SCM? • History – CM Origins – SCM - Automation – Mature Discipline

Why do I need it? • • • Reduce Costs Improve Productivity Encourage Reuse

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

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 [Weigers. K] – Political Factors – Inability to See Long-Term Benefits

Problem Definition • Suitability for an organization • “One size does not fit all”

Problem Definition • Suitability for an organization • “One size does not fit all” • Large Investment, Resource Commitment, return-oninvestment • Select the most appropriate tool to obtain maximize returnon-investment (ROI) • The total number of tools in the market today exceeds 50

Functionality (Requirements) • • • Dart discusses functionality and requirements Does not address deployment

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 •

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

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

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

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,

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) • Deployment – Installation – Parameterization – Instantiation – Reconfiguration

Functionality and Industry (continued) • Process – Extent of Process Support - Little or

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

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) –

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 • Source. Safe – All Level 1 requirements implemented – Supports

SCM Tool Survey • Source. Safe – 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

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,

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

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

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:

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. Professional (September-October 2001), 51 -53. IT • 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? –

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