Software Configuration Management: Selecting the Right Tool

Post on 30-Dec-2015

29 views 3 download

Tags:

description

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 - PowerPoint PPT Presentation

Transcript of Software Configuration Management: Selecting the Right Tool

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