scalable scm: avoiding the trauma, disruption and ... - ibm scalable...

Download Scalable SCM: Avoiding the Trauma, Disruption and ... - IBM scalable SCM¢â‚¬â€‌allows organizations to start

Post on 31-Dec-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 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 deve

Recommended

View more >