Once there was a laundry room with old, worn-out linoleum floor.  It was functional but did not have the look and feel of newer homes.  The lady of the house decided to replace the flooring with new ceramic tile.  She engaged her husband with the idea, outlining the benefits of this enhancement, and coaxed him to agree.  While tedious and time consuming, he was willing to save some money and do the work himself.  The material was selected and ordered.  When installation time arrived, the washer and dryer had to be moved out temporarily, which required some effort as the appliances just barely fit through the narrow doorway.  The husband removed the old floor, placed the alignment marks down, and laid the new tile.  When it came time to reinstall the washer and dryer, the door would not fully open; it was rubbing against the new height profile of the tile.  This door had remained closed for most of the tile installation so no one would walk on the floor before the adhesive had cured.  The height constraint of the door-to-floor distance never occurred to the owners.  The door opened only 60 degrees before contacting the tile, and there was not enough width clearance to move the appliances back into the laundry room.  The workaround was to remove the door from its hinges so the appliances could be returned, but it was not a practical solution to leave the door off.  The door could not be opened fully without damaging the new tile floor.  Because this was a steel fire door between the garage and the living space, it could not easily be cut shorter.  Replacing the door would take additional time and money.  Removing some tile from the door area could be an option…

When I woke up from this nightmare, I realized the value of planning and thinking about even small details and differences when making changes to an existing system.  It is important to think about the impact of feature enhancements on current functionality, however small or insignificant they may seem.  Not following a formal process could spell disaster or could incur significant cost overruns.  Here are some steps to consider when you’re making changes:

  • Proposed changes require a formal review by those with expert knowledge of the system
  • Any constraints that exist in the current system must be reviewed
  • Any changes to existing interfaces between system components must be examined
  • Integration and Validation Tests are needed to show the changes were made correctly.
  • Regression tests are used to show that existing functionality still works as expected

Needless to say, I just measured the clearance of the doorway in my laundry room before starting my next home project.

Tagged as:     John Yozallinas     integration and validation tests  

Other Blog Posts By John Yozallinas