software configuration management: selecting the right tool

24
Software Configuration Management: Selecting the Right Tool Chetan Desai Software Project Management SWEN 5230 Dr. Boetticher

Upload: eden-faulkner

Post on 30-Dec-2015

31 views

Category:

Documents


3 download

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

Page 1: Software Configuration Management: Selecting the  Right  Tool

Software Configuration Management: Selecting the Right

ToolChetan Desai

Software Project Management

SWEN 5230

Dr. Boetticher

Page 2: Software Configuration Management: Selecting the  Right  Tool

What is SCM?

• History

– CM Origins

– SCM - Automation

– Mature Discipline

Page 3: Software Configuration Management: Selecting the  Right  Tool

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]

Page 4: Software Configuration Management: Selecting the  Right  Tool

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

Page 5: Software Configuration Management: Selecting the  Right  Tool

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

Page 6: Software Configuration Management: Selecting the  Right  Tool

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

Page 7: Software Configuration Management: Selecting the  Right  Tool

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

Page 8: Software Configuration Management: Selecting the  Right  Tool

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

Page 9: Software Configuration Management: Selecting the  Right  Tool

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

Page 10: Software Configuration Management: Selecting the  Right  Tool

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)

Page 11: Software Configuration Management: Selecting the  Right  Tool

Functionality and Industry (continued)

• Structure– System Model– Small - Parts List, Labels– Large - System Model

• Construction– Build Management– Small - make– Large - Integrated/Automated build management

Page 12: Software Configuration Management: Selecting the  Right  Tool

Functionality and Industry (continued)

• Deployment– Installation– Parameterization– Instantiation– Reconfiguration

Page 13: Software Configuration Management: Selecting the  Right  Tool

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

Page 14: Software Configuration Management: Selecting the  Right  Tool

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

Page 15: Software Configuration Management: Selecting the  Right  Tool
Page 16: Software Configuration Management: Selecting the  Right  Tool

Taxonomy

• Onion Model

• Levels– 1. Core functionality (simple version control)– 2. Simple process introduction– 3. Enforced process– 4. Complex, Global

• Justification for Grouping

Page 17: Software Configuration Management: Selecting the  Right  Tool
Page 18: Software Configuration Management: Selecting the  Right  Tool

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

Page 19: Software Configuration Management: Selecting the  Right  Tool

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

Page 20: Software Configuration Management: Selecting the  Right  Tool

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

Page 21: Software Configuration Management: Selecting the  Right  Tool

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

Page 22: Software Configuration Management: Selecting the  Right  Tool

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

Page 23: Software Configuration Management: Selecting the  Right  Tool

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.

Page 24: Software Configuration Management: Selecting the  Right  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