Software Configuration Management: Selecting the Right Tool

Post on 11-Feb-2016

67 views 1 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 ManagementSWEN 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