What is revision control?
Simply put, revision control is the management of changes over time. If an object is released for use outside of development, a revision is initiated.
Whether you are writing software code, developing a CAD drawing, modifying a product or its tooling, and even editing a document, each time a copy is released from the governing task a revision is introduced. Controlling these various versions of a unit is critical to engineering success.
Why would something as simple as knowing a revision be so critical to engineering efforts?
- Product Recall – consumers need to know if their product is good or bad. The revision will provide these details.
- Consistency – by following a single revision, efforts are consistent across the board with the defined specifications.
- Tracking Efforts – if everyone has a document with the same name and is working concurrently, how does the group know what is the most accurate and up-to-date version?
- Maintaining Control – with a strong revision scheme, your processes will remain in control allowing improved efficiencies within the confines of the activity.
Lessons For A Young Intern
My first exposure to revision control was drafting for a major automotive OEM. At 19, I was creating and modifying drawings for major brands. I had power I did not fully understand—my lines and numbers on the page would influence thousands of products within a single platform. This new authority meant my mistakes would also perpetuate through the system.
I would handle dozens of drawings per week to either create a drawing or revise an existing product. I had the responsibility to capture engineering concepts and present them on this sheet of paper. My actions directly controlled how items were manufactured.
Each and every single change on this paper needed to be documented. If I moved one arrow, I needed to identify the change. If I added a line, deleted a circle, or even changed the color of an element, I was responsible to capture these changes within a revision to the document.
If I made a mistake, everyone knew it.
The 4 AM Call… From Chester
We had checkers on staff who would review every single drawing for detail. Comparing the old to new drawing or reviewing a brand new design, these checkers were responsible for accuracy. Chester was the toughest, and he abused his power.
I had recently made changes to an engine block drawing of approximately 20 pages. I had moved a bolt circle and some additional changes. Inadvertently, I made some modifications to the main area of the drawing when I made my final submission.
The phone rang on my desk (before cell phones and IM), and Chester was on the other line. He was not happy with me, and proceeded to scream, yell, curse, and berate me for 12 minutes… and it felt much longer. Each and every mistake I made was a “you dumb #$%*, how did you miss this?” question. I felt terrible.
Two hours later, the drawing appeared on my desk from a runner. I unrolled the paper, and it bled red ink. One marked up mistake after another. Some pages the redlines overtook the actual lines drawn in CAD.
One final message on page one… “You need to change the revision. You can’t collect these mistakes under the old rev. Fix it – NOW.”
I was scared I was going to be fired.
When I finished wiping up the blood (red lines), I submitted a new revision of my drawing. I worked tirelessly to ensure I got every markup Chester made. I printed and reprinted copies of the drawing to ensure each line was perfect. I sweated as I walked down the hall to his inbox. Dropping my drawing package in his office, I ran away fearing the worst.
Two days later, a bundle of drawings appeared on my desk with a note. The handwriting was unmistakable, it was Chester. “Much better kid. Two more quick things, and submit for approval. You learned your lesson.”
Whoa… I dodged a bullet.
Why Is This Important?
While developing “work” within the team, revisions can become cumbersome, and they are often ignored during the creative process. As soon as you submit something to anyone outside of your group, you have released a version of your work product. You cannot control where it goes, who sees it, or who can change it. You lose the ability to protect the information.
By adding a revision each time something crosses that control line, you are taking a snapshot of the history of the product. You are recording the status of this object on this date and time. You make it a piece of history.
When someone returns with questions about this product or unit, you cannot control how they received the information or how it was manipulated. You can only control how it left your hands. Knowing what state an item is when you release it can eliminate many mistakes and arguments. It can also save you from litigation.
How To Manage Revision Control
Many people will think it is easy, and at its core, revision control is simple. The discipline and execution are hard… because of humans.
A simple rule to follow: if you change something after it leaves your control, revise it.
For example, I write you a letter confirming an agreement we made over a phone call. I send this letter to you for review before we sign it making the agreement official. This letter is in its original state when I release it.
During the review, you find I mistyped your company’s price by transposing two numbers. Nothing major, correct? I just fix it and send a new letter. We agree upon it, and we sign the letter. Two years pass, and my company wishes to invoice you per the agreement. You have two letters in your possession—the original and the revised. Which price is right? What did we agree upon? Neither of us can find the signature copy. Which value is correct?
Had a revision been included in the letter moving the original copy which we will call “A” to the revision copy “B,” the difference would be immediately resolved. “B” supersedes “A,” and I have a record of the change.
This example is overly simple to prove a point. Do you agree this revision control issue is exponentially worse in a multi-piece assembly similar to your car, an airplane, or even your cell phone? Add in layers of software and variations due to assembly, and the identification of your product becomes more challenging. Having robust revision control will save you significant effort in the end.