of 9/9
Scalable SCM: Avoiding the Trauma, Disruption and Expense of Changing Software Configuration Management Tools White paper Alan Radding, Technology Consultant

Scalable SCM: Avoiding the Trauma, Disruption and ... - IBM€¦ · scalable SCM—allows organizations to start small with a simple SCM solution that enables them to grow without

  • View
    1

  • Download
    0

Embed Size (px)

Text of Scalable SCM: Avoiding the Trauma, Disruption and ... - IBM€¦ · scalable SCM—allows...

  • SSccaallaabbllee SSCCMM:: AAvvooiiddiinngg tthhee TTrraauummaa,, DDiissrruuppttiioonn aanndd EExxppeennssee ooff CChhaannggiinngg SSooffttwwaarree CCoonnffiigguurraattiioonn MMaannaaggeemmeenntt TToooollss

    White paper

    Alan Radding, Technology Consultant

  • Table of Contents

    SCALABLE SCM: NOBODY LIKES TO CHANGE ..........................................................................................................................3

    SCM: TWO BASIC CHOICES ..............................................................................................................................................................3 LOW COST/NO COST TOOLS ...................................................................................................................................................................3 ENTERPRISE SCM ...................................................................................................................................................................................3

    THE PAIN OF CHANGING SCM TOOLS ..........................................................................................................................................4

    THE CASE FOR SCALABLE SCM: RATIONAL CLEARCASE LT...............................................................................................5

    APPENDIX: RATIONAL CLEARCASE LT DATASHEET ............................................................................................................7

  • Scalable SCM: Avoiding the Trauma, Disruption and Expense of Changing Software Configuration Management Tools

    3

    Scalable SCM: Nobody Likes to Change Once you've adopted software configuration management (SCM) even in its simplest forms, it becomes an essential part of your development environment. Very quickly, everybody involved in application development, deployment, and maintenance comes to rely on the SCM tool, whether a basic version control manager or a robust enterprise system packed with sophisticated features. They turn to SCM first thing in the morning, last thing in the evening, and throughout the day. Given the integral role SCM plays in the development, deployment, and maintenance of applications, resistance to switching SCM systems goes beyond normal resistance to change. More than simply imposing on people the need to learn new features or functions, changing SCM presents serious risks in terms of the potential to lose code or lose control of the application development process. Organizations that must change SCM tools face a period of disruption and uncertainty along with considerable expense. But change is inevitable. Successful organizations grow. Before you know it, what started as a small application development effort has evolved into a large initiative involving many people and multiple projects spanning geographically dispersed sites. The simple SCM tool you used at the beginning cannot accommodate the large-scale operation that has emerged. Because this kind of change is inevitable, organizations need to plan for it. They need to look for scalable SCM solutions that can grow with them. This paper looks at the process of changing SCM solutions. It reviews the types of SCM solutions available today and examines the challenges of switching SCM solutions. Finally, it introduces the concept of scalable SCM and the Rational®ClearCase® solution.

    SCM: Two Basic Choices There is no shortage of SCM solutions, but they tend to fall into one of two categories: low cost/no cost tools and enterprise SCM.

    Low Cost/No Cost Tools Low cost/no cost tools can be found bundled into the IDE or provided as a low cost utility. Often these are the first SCM tools an organization encounters. Since they often are right at hand, they are easy to adopt and deploy. They typically have limited functionality, usually simple version control, which makes them easy to learn. As a result, many organizations, especially small organizations, adopt one of these SCM tools initially. However, the low cost/no cost tools suffer from serious limitations that may not be immediately apparent. For instance, they won't scale beyond a few developers and relatively small development projects. Development efforts are slowed as the tool struggles to keep up with a growing code base. They may not support parallel development or dispersed teams. Similarly, the tools cannot support or enforce sophisticated development processes and cannot be customized to meet the unique needs of the organization. As a result, developer productivity falls and development progress slows. Organizations might lose valuable code because the low cost/no cost tools lack the industrial strength features required to handle large volumes and ensure the integrity of the code. The cost alone of recreating the lost code can be devastating. In the end, organizations discover that the seemingly low cost/no cost solutions can become considerably expensive, costing far more in the long run than they anticipated.

    Enterprise SCM By comparison, enterprise SCM solutions, such as Rational ClearCase, were designed from the start to support large-scale application development. Not only do they support huge amounts of code and large numbers of developers, but they enable parallel development and can support development across multiple, geographically dispersed sites. In addition, the enterprise solutions provide industrial strength capabilities. They offer audit trails to ensure that code is not inadvertently lost and enforce the organization's customized development process through rules-based policy management.

  • Scalable SCM: Avoiding the Trauma, Disruption and Expense of Changing Software Configuration Management Tools

    4

    All of this capability does carry a cost in terms of software licensing and user training. But when the cost is considered alongside the benefits of a scalable, customizable industrial-strength solution that protects valuable code assets, speeds development, and drives a manageable development process, the advantages far outweigh the expense. Table: Comparison of SCM Tool Options

    SCM Tool Advantages Disadvantages

    Low cost/no cost tools • No or little initial cost

    • No or little training • Easy to deploy

    • Does not scale • No parallel

    development • Does not support

    geographically dispersed teams

    • Does not enforce development processes

    • Hard to customize • Not flexible • Risk of losing code • Hard to manage • Lacks advanced

    functionality • Lack of user support

    Enterprise SCM • Highly scalable • Supports parallel

    development • Supports

    geographically dispersed teams

    • Rich functionality • Customizable • Flexible • Protects code

    integrity • Manageable • Rich feature set • Enforces

    development process • Supports enterprise

    data storage • Accelerated build

    management

    • Initial license cost • Training required

    The Pain of Changing SCM Tools Few organizations expect to remain small indefinitely. Successful organizations invariably grow and expand. Similarly, application development efforts inevitably expand. Application development is never complete. Every effective application leads to demand for yet more new applications. Maintenance and enhancement of existing applications is a continuous process. A number of factors fuel the inexorable growth of application development: economic and business growth, continuous organizational change, increasingly complex processes, and customer demand for new services. But changing an SCM solution to meet the needs of growing and changing application development efforts is a major undertaking. And like any major undertaking, it involves high risk and high cost. Specifically, changing an SCM tool entails the following:

  • Scalable SCM: Avoiding the Trauma, Disruption and Expense of Changing Software Configuration Management Tools

    5

    • Time—takes weeks or months to convert the entire code base, user population, and development process to the new SCM environment.

    • Labor—requires members of the development team to perform the myriad of tasks required to migrate to the new environment.

    • Cost—time and labor add up to increased costs. • Lost productivity—while development team members are engaged in the migration from one SCM

    tool to another they are not performing their primary duties. Developers themselves will require time to become fully productive in the new environment.

    • Recreating code—not all code can be migrated to the new SCM environment. Some may need to be recreated.

    • Risk of lost objects, artifacts, code, history—some of the existing code may not be moved at all, resulting in the loss of some code elements.

    • Recreating rules and policies—the rules and policies that control the development process may not migrate to the new environment.

    Managers who have been through the transition from one SCM tool to another attest to the pain such changes inflict. Here is what they had to say of the experience:

    "We had to untangle the code base. That alone took months of effort. Overall, it took a year to get everybody over to the new environment. And we were still a startup so it was easier for us." "It took us a few weeks of preliminary planning. After that we brought in consultants for a few more weeks. Then it took a month more to get our developers up to speed. Add it all up and it was pretty costly." "It took us over a year. We had to hire consultants. We had five of our own people working on it for 6-8 months. Then a smaller team spent another four months. And during much of that time we had to run two SCM systems in parallel. We ended up writing a ton of scripts to try to automate some of it."

    Yet despite the effort involved, when hindered by a small-scale SCM tool, managers have no choice but to change SCM solutions.

    The Case for Scalable SCM: Rational ClearCase LT The two basic SCM choices organizations have today are not sufficient. A third option is required. This option—scalable SCM—allows organizations to start small with a simple SCM solution that enables them to grow without incurring the cost, effort, and disruption entailed in migrating to an enterprise SCM solution. Scalable SCM allows application development groups to evolve and grow as the business changes. They can start with basic SCM functions to support a small project team. As the development group expands, they can seamlessly migrate to an enterprise version that supports large-scale development, parallel development, and geographically dispersed teams. And they can do so while preserving all development elements: source code, Web components, binaries, executables, documentation, test scripts, directories, and their development process. Rational Software delivers a scalable SCM solution that begins with Rational ClearCase LT, but allows for a seamless transition to enterprise-scale Rational ClearCase and Rational ClearCase MultiSite®. It also integrates with Rational Software's full suite of development productivity tools, including Rational ClearQuest®, a change and defect tracking tool, and Unified Change Management, Rational's activity-based process for change management. Rational ClearCase LT is the entry-level version of Rational ClearCase. It supports basic SCM functions and processes in an easy-to-use manner and can be deployed right out of the box. Running on a single server, Rational ClearCase LT versions every element in the software development lifecycle. It tracks changes and maintains histories and enforces the organization's development process through scripted rules. Using ClearCase LT, developers can quickly roll back to previous builds, baselines, or configurations. And unlike other basic SCM tools, Rational ClearCase LT supports parallel development through automatic branching, which enables multiple developers to design, code, test, and enhance software from a common code base. It also includes Rational ClearCase's patented diff/merge technology to automatically merge parallel branches.

  • Scalable SCM: Avoiding the Trauma, Disruption and Expense of Changing Software Configuration Management Tools

    6

    Finally, Rational ClearCase LT is the only entry-level SCM tool to support project workgroups with an out-of-the-box process for controlling workflow, Rational's Unified Change Management. Rational ClearCase itself is a leading enterprise SCM solution. It simplifies the process of change in large development environments as it helps software teams control requirements, models, source code, documentation, and test scripts. It handles version control, parallel development, workspace management, process configurability, and build management. It also provides advanced build auditing and a Web interface for universal data access. Through the use of scripted rules, Rational ClearCase manages and enforces the organization's application development process. Rational ClearCase MultiSite enables parallel development across geographically distributed teams. It provides automated, error-free replication of project databases and transparent access to all software elements and artifacts. It facilitates distributed development across both networked and non-networked sites with update mechanisms to support both network and tape transfers. Highly reliable, it automatically resends information during network failures and recovers repositories in the event of system failure.

    Rational's scalable SCM solution covers the entire range of capabilities:

    Capability Rational ClearCase LT Rational ClearCase Rational ClearCase MultiSite

    Low initial cost • Little training required • Easy to deploy • Supports parallel development

    • • •

    Supports Unified Change Management

    • • •

    Enforces policy and procedures through rules

    • • •

    Rich functionality • • • Customizable • • • Flexible • • • Protects code integrity • • • Manageable • • • Rich feature set • • • Enforces development process

    • • •

    Enterprise data storage support

    • •

    Accelerated build management

    • •

    Highly scalable • • Supports geographically dispersed teams

    Rational ClearCase LT is based on the same fundamental architecture as the Rational ClearCase family of products. As a result, when the development effort grows large in terms of the number of developers or amount of code or artifacts, the organization can easily turn to Rational ClearCase without retraining developers, recreating the code base, or rewriting rules and policies. Rational ClearCase LT allows the organization to transition to Rational ClearCase without incurring the increased costs, delays, disruption, and reduced productivity organizations otherwise experience when changing SCM solutions.

  • Corporate Headquarters 18880 Homestead Road Cupertino, CA 95014 Toll-free: 800-728-1212 Tel: 408-863-9900 Fax: 408-863-4120 E-mail: [email protected] Web: www.rational.com For International Offices: www.rational.com/worldwide Rational, the Rational logo, Rational the e-development company, ClearCase, ClearCase MultiSite and ClearQuest are registered trademarks of Rational Software Corporation in the United States and in other countries. All other names used for identification purposes only and are trademarks or registered trademarks of their respective companies. ALL RIGHTS RESERVED. Made in the U.S.A. Copyright 2001 Rational Software Corporation. TP-713 5/01. Subject to change without notice.