Circumventing Build Process
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 the 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
- 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
- Follow the automated build process
- Complete all testing after every build
|
Best Practice
|
Description
|
|
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
|