Way back in the day when lines were first being painted on roads. The early lines were painted by hand. In those days, a painter was hired and given a stretch of road to paint. The first day he got on very well. In fact, he was one of the best line painters they had ever had. His lines were perfectly aligned, there were no unpainted areas in the space where there should be paint, and he managed to get 500 yards of road painted. The average line painter normally did 250 yards in the first day. The managers who had hired him were quite pleased.
Well, the next day, he came to work and set off on his task of painting the road. He still had another 500 yards of road to paint. And yet, for as fast as he was, he was only able to get 350 yards painted that day. Not quite what his managers expected given his performance on the first day. But still, better than their average painter, and so they reasoned to themselves, “Maybe he hit an extra hilly patch of road or some other unforeseen obstacle got in his way.”
Finally, the third day, he came in and finished the patch of road he had been given.
Since he had done so well on the first 1000 yards of road, management decided to put him on a job of a 1 mile stretch of road. They also decided to make him the lead painter with a crew of 10 other painters who they had just hired. He taught these new hires how to paint the road as he had been painting the road to date and they set off. The first day was a great day. They managed to get an average of 300 yards per person completed the first day. Not quite what management had expected, but still better than the average line painter could do.
The next day they all came to work and continued their painting. Yet, this time, all they were able to accomplish was 200 yards per person.
Predictably the next day they all came to work and continued their painting but only got 100 yards per person done.
Of course management got concerned and since this was a rather easy job, they couldn’t understand how the painting could keep getting slower every day. But obviously, since they had deadlines to meet, it was time to hire some more painters. So they added another 10 painters to the job. This had the impact of turning the lead painter into a manager, without the pay of a manager, and in the end, it actually slowed the painting down even more because all of the painters were getting in each other’s way.
A Good Idea
One day, as they were painting, one of the painters mentioned that he had been reading that if they paired up and had one of the painters move the paint while the other painted the line and then they switched off painting or moving the paint, that the end result would be that they would actually end up completing the painting faster. But his peer replied with several objections, the first being that they didn’t have permission to move the paint can. If management had wanted them to move the paint can then that would have been part of the training they had received on the first day. Others pointed out that obviously if they only had half of the people painting, it would take even longer to get the painting done. Others were a lot more honest and just said, “I’m really not sure how we could move the paint. The paint bucket is so heavy.
Tell The Boss?
Well, you know the type. Guys with good ideas are hard to stop. So at the end of the day as they were cleaning up, he mentioned to the lead painter that he had an idea that might make the job move a little faster. What if we rigged the paint so that it could be moved along as we painted? Then we wouldn’t have to keep walking back to the paint can. In fact, we could pair up and have one guy move the paint while the other spent his time continuously painting. And by switching back and forth between painting and moving paint, no one would get excessively tired doing one or the other.
Well, the lead painter was of course feeling threatened at this point and so he told this young up-start painter that he was hired to paint. Not to innovate with stupid ideas that would obviously make the job take even longer.
Well, now. Not being content to keep doing things the hard way, the innovative young painter quit this crew and went to work for a new road crew who advertised themselves as “innovative, fun and open to suggestions.” Well, I’m sure you can predict exactly what happened next.
The day he started on the job he found that they were painting the road exactly the same place as the last crew he worked on. Of course, he mentioned his innovative idea, and of course, he got the same responses.
Frustrated, he kept moving from company to company only to find out that they nearly all had the same attitude. And so, he decided that since at each company he was pretty well left on his own to paint the lines, it wouldn’t hurt if he rigged up a wheel barrow with some paint cans so that he could fill the paint cans from the main paint receptacle and then carry the paint to the location he was painting. This would reduce the amount of trips back to the main paint container and it really wouldn’t disrupt the work of anyone else.
It Is The Same Everywhere
There was just one problem with this. As he started out on the new job, he found that all the nay-sayers were right. It really did slow things down. While before he was able to get 500 yards of road done on the first day, this time he was only able to get 300 yards of road done. He was feeling a bit discouraged, and yet convinced that if he persisted the next day would prove him right, he continued. Sure enough, while the average painter was able to get 200 yards done on the second day, he was able to continue with 300 yards on the second day as well. In fact, as everyone else seemed to get slower, the innovative painter was able to get 300 yards of road done every day he painted.
Well, now he has management’s attention. Let’s promote him.
Well sir, he got promoted sure enough. You know what the first thing he tried to implement? Yep, how about if we change our whole process to move the paint can. Well, I’m sure you know how well that went off.
“We’ve been painting roads like this for 10 years and it works just fine.”
Even with his own team, he couldn’t get the “move the paint” method of painting roads fully implemented, no matter how hard he tried. Yeah, there were a few pockets of painters who gave it a try, but ultimately, since it felt slower than what they had always done, they fell back to the old method they knew so well.
And then, one day, a new painter came on the team who believed in the move the paint method. He used it and found another guy on the team who was willing to pair with him so that one would move the paint and the other would paint. Wow! The progress they made!
As they were working, one of them said, “I wonder if we can rig the wheelbarrow to drip the paint out so that we only have to spread it instead of having to dip the brush into the paint…
Other post in TDD
- Why Don't You Practice Test First Development? - February 20th, 2014
- Test Driven Specifications - February 25th, 2014
- Unit Test Structure - March 11th, 2014
- When You Really Need All Of Your NUnit Test In One Class - March 18th, 2014
- TDD Isn’t All About Testing - March 25th, 2014
- Automated Web Application Functional Testing - April 1st, 2014
- What Not To Test - April 9th, 2014
- Make Your Test Work For You - April 18th, 2014
- Don’t Comment Out That Test - April 24th, 2014
- The Proper Function of QA - May 1st, 2014
- TDD Saves Time – A Story - May 22nd, 2014
- It is called "Unit Testing" for a reason - August 28th, 2014
- Is Your Architecture Crippling Your Unit Testing? - September 4th, 2014
- Selenium Performance Improvements - October 2nd, 2014
- Technical Debt Is Inevitable - October 16th, 2014
- NUnit, Unity Dependency Injection, MOQ and Private Fields - October 23rd, 2014
- NUnit & Visual Studio - December 4th, 2014
- Software Architecture without Test Driven Development is DANGEROUS! - January 29th, 2015
- NUnit Test Code Structure - February 5th, 2015
- Excuses For Not Testing - February 26th, 2015
- Why Johnny Can't do Test Driven Development - March 5th, 2015
- Changing Habits - March 19th, 2015
- 100% Code Coverage Possible? - March 26th, 2015
- TDD Gamification - Turning Test Driven Development into a Game - April 23rd, 2015
- Run NUnit from Visual Studio - April 30th, 2015
- The Parable of The Road Line Painter - May 28th, 2015
- The Fallacy of Motion - July 23rd, 2015
- Test Driven Learning - An Experiment - March 24th, 2016
- 3 Reasons You Believe 100% Code Coverage Is Impossible - May 26th, 2016
- What If Unit Testing Wasn’t Necessary? #noTDD - June 27th, 2017