SCMWise.com

Circumventing Build Process


How it Happens

Circumventing Build Process happens for many reasons. For example, it can happen because market place pressure force someone to decide schedule is more important than software quality.

Another example, might be that the person making the decision to circumvent the build process does not understand the implications of their decision. conception to release.

How organizations decide to handle it is where this can become a SCM War Story.


Circumventing Build Process Antipattern

The software project is behind schedule. Customers are impatiently demanding the new release. Pressure to circumventing build process.

Everyone in the software industry can identify with this situation.


The Background - Circumventing Build Process

  • Large development team 250+ developers
  • 5 geographical locations
  • 9,500,000 lines of code
  • Build can take days to complete
  • Testing can take several days to complete



The Story

  • The project is months late
  • There is a candidate release and testing is looking great
  • Plans are made for this to be the release


The Rub

  • A critical bug is found
  • A critical decision must be made
  • Do we fix the bug for this release or create a patch for the customer
  • It looks bad to ship a software product and days later require your customers to patch your product
  • However, it will take a full day to rebuild and several more to retest everything


The Decision

  • Bastardize the build so we can short-circut the testing phase


The Results

  • The company was able to ship the product two days earlier by not doing to full build and testing
  • However, by manually messing with the build process a piece was missed
  • The customers who attempted to upgrade broke their systems
  • An emergency patch needed to be created
  • The customers were very angry. Many threatening to move to competitors product
  • Company reputation damaged


The Lesson's Learned - Do Not Circumvent Build Process

  • Follow the automated build process
  • Complete all testing after every build


Build Process

Best PracticeDescription
Follow the Automated Build Process This may sound obvious, but Do Not Circumvent the Automated Build Process By following the automated build process you ensure
  • Build Integrity
  • Reproducibility
  • Build Repeatability
  • Automated Build Process

  • Build Automation

    Build Automation is the key to implementing a successful Agile development methodology.

    In its basic form, the "Build" is the conversion of source code into binaries.

    Build Automation


    Software Build Tool Reviews

    Please Share your Software Build Tool Reviews and Experiences...

    Software Build Tool Reviews

    Software Build Tools

    Software Build Tools is a collection of tools used to create automated software builds.

    This list of tools is growing and the functionality of the tools is expanding.

    These tools have come along way in standardizing and simplifying the SCM Engineer's life in regarding to the automation of the software build.


    Software Build Best Practices

    Following Software Build Best Practices helps ensure that your development environment is always in a state to build.

    For more information about Not Circumventing Build Process and other Software Build Best Practices



    Software Configuration Management Table of Contents

    Software Configuration Management Software Configuration Management are the practices and procedures for administering source code, producing software development builds, controlling change, and managing software configurations.

    Software Configuration Management Software Configuration Mgmt is a software development support and control function. Specializing in software building, installation packaging, change control and configuration management.

    Software Configuration Management Plan This document will cover source code administration, build environment standards and define the process by which new components will be added to builds, and a common understanding of how we will manage broken builds.

    Software Configuration Management Systems Software Configuration Management Systems are the end-to-end tools and procedures that encompass the Software Configuration Management Systems. These are more than just software builds and version control tools. These are the processes you build that surround these tools.

    Software Configuration Management Strategies Software Configuration Management Strategies can be difficult to define. Your SCM strategies can be as simple as providing excellent SCM service, but they can be more complex by introducing process improvement to your already existing service.

    Software Configuration Management Best Practices Software Configuration Management Best Practices are designed and implemented to ensure software quality, integrity and reproducibility. Best Practices are methods and techniques that are proven to be the most effective way of ensuring repeatability of a processes.

    General Best Practices Software Configuration Management Best Practices are designed and implemented to ensure software quality, integrity and reproducibility. Best Practices are methods and techniques that are proven to be the most effective way of ensuring repeatability of a processes.

    SCM Plan This SCM Plan is a template model for software applications that require a disaster recovery plan.

    SCM Books SCM Books is a collection of books and descriptions that can be a valuable resource and background for installation packaging, software builds, source control, software engineering or engineering in general

    Genius Richard Feynman Genius Richard Feynman was written by James Gleick. Genius - The Life and Science of Richard Feynman a 20th century Physics.

    Genius James Gleick Genius James Gleick - The Life and Sciences of Richard Feynman.

    SCM Performance Goals SCM Performance Goals are set to help the SCM Engineer achieve high performance standards. The goals need to be clear, direct and ongoing feedback from management.

    SCM Goals SCM Goals are a sample set of performance objectives that can be used as an example of typical Software Configuration Management Goals.

    Forrester Reports This page contains a listing of Forrester Reports for SCM tools. Forrester is a leading company in discovering vendor tool directions and consumer trends. This is a listing of Forrester Reports of SCM tools.

    Software Engineering The IEEE Computer Society defines Software Engineering as the application of a systematic, disciplined and quantifiable approach to the development, maintenance and operation of software.

    SCM War Stories SCM War Stories are a collection of typical SCM anti-patterns that most experienced SCM Engineers have all lived through.

    Circumventing Build Process Circumventing Build Process happens for many reasons. For example, it can happen because someone decides schedule is more important than software quality. Another example, might be that the person making the decision to circumvent the build process does not understand the implications of their decision.

    Untested Software Untested software is an anti pattern due to a project that is behind schedule. A decision to proceed with the delivery to demonstrate progress of a project over the proper testing has taken place to ensure quality. Untested Software is a common Software Engineering Antipattern.

    What is SCM What is SCM? SCM encapsulates the practices and procedures for administering source code, producing software development builds, controlling change, and managing software configurations. Specifically, SCM ensures the integrity, reliability and reproducibility of developing software products from planning to release.

    Why Use SCM Why Use SCM? Software Configuration Management ensures software build repeatability and reproducibility. SCM enforces Source Code Administration Best Practices and proper Software Change Management practices are followed.

    SCM Websites Software Configuration Management Websites a listing of top SCM sites and other interesting Websites. This page attempts to identify the truly unique Websites. Please visit them.

    SCMWise Software Configuration Management SCMWise is dedicated to SCM. This site is a central repository for the collection of best practices, processes, methodologies and tools that surround SCM.



    SCMWise Configuration Spec



    © Copyright 2007 - 2016
    Powered by Site Build It!
    Page copy protected against web site content infringement by Copyscape SCMWise.com's Privacy Policy
    ADD TO YOUR SOCIAL BOOKMARKS: add to BlinkBlink add to Del.icio.usDel.icio.us add to DiggDigg
    add to FurlFurl add to GoogleGoogle add to SimpySimpy add to SpurlSpurl Bookmark at TechnoratiTechnorati add to YahooY! MyWeb