Shoveling Code 19
I was ill when the first snow fell last weekend, and didn’t get out and scrape the drive and sidewalks. Sadly, neither did I bundle up my kids and send them out with shovels. As a result, the snow melted and refroze. When I left home on sunday morning, clearing the snow was frustrated by the presence of hard, packed ice under the snow.
Now I have to be very careful when moving in the drive or sidewalk because of the black ice in some places and thick lumpy stuff in others. I could choose to leave it that way and just walk carefully and try to avoid the area, but I really don’t want it to be like this all winter.
Instead, I bundled up and spent several painful hours trying to clear not only the six to eight inches of new snow, but the ice under it. Clearing the fresh stuff is tough because the rough and lumpy ice is under it. The ice snags the shovel and hurts my elbows and shoulders. I use the metal edge of the shovel to plane off the ice so that it’s not quite so difficult, and the work gets a little easier.
Smooth, planed ice is not a solution. It is actually going to be more slippery and dangerous when the sun hits it and it melts a little. It will then refreeze to an even smoother and slicker sheen. I can’t ignore the problem, and I can’t smooth it over and leave it at that.
I invested in some complicated salt product to lower the melting point of the ice so I can scrape it away. It wasn’t enough, but now there are some safe areas in my driveway. I continue to scrape it and hope that I can get it all squared away so that my wife and kids have safe passage, though it is tedious and unpleasant work.
Yes, it’s my fault. I should have bundled up my sick self or my children and taken care of this when the first snow fell, back when it was easy.
Then it dawned on me that my driveway is a lot like source code. If I always take care of it when it’s relatively easy and not too polluted, it will remain easier to deal with in the longer term. The more unsafe and ugly it is, the more important it is to clean it up. It won’t do to smooth it out a little or to leave it be. It needs to be safe for me and my team.
And I guess that’s my parable for today.
So… living in the Boston suburbs for six years (on the northern, shady side of the street, with a driveway that had about a 30% slope)... I used to go out and salt the driveway before the snowstorm. I guess that’s TDD.
And I tried to always snowblow/shovel within 24 hours, before the crust froze, like you say – fix it before it gets crufty.
But sometimes I’d just be lazy and let a few weeks go by. And then I’d go out with my Sears steel-core reinforced chisel-blade ice chopper, raise my arms over my head, and whack it repeatedly against the ground until my ears rang and my hands itched.
I left a few dents in the driveway, but I took care of that ice. It was kinda fun and cathartic, to be honest.
How do I do that in software?
A somewhat quicker fix like throwing salt on a big problem often doesn’t come without a longer-term cost. Salt often creates permanent damage to your sidewalk (unless they’ve gotten better with this stuff).
Some teams attempt to rectify crap code buildup by asking for some refactoring time on the plan. This can introduce a bit of long-term distrust from the customer side, which is something that can represent a continual eyesore for the team.
Actually, they’ve gotten pretty good with non-driveway-destroying salt, especially if (like me) you had an asphalt driveway. Unfortunately, IIRC, the better the salt was for the driveway, the worse it was for the vegetation surrounding your driveway.
ObProgrammingMetaphor: Um… hmm… incompatible toolsets?
Here in Finland salt is often used on the roads and highways. The problem it brings is that cars become rusty much faster (some sheet metal had to be welded into my family’s car just a short while ago, because there were some bad holes in the bottom of the car because of the rust). There would be some alternatives to using traditional salt, for example I think in the airports they use some stuff which does not create rust, but those alternatives are more expensive – although in long term it might be cheaper for the economy when cars don’t get rusted that quickly.
Programming metaphor… hmm… People say that testing is “too expensive” and makes the project late, so it’s better to skip testing and just write code?
We also have salt & sand mix on the roads, and also some specialized salt products that are supposed to be “driveway and sidewalk safe”. The road salt is as you say. I bought some of the “safe” salt stuff for about USD$7.00, and it was only good for one application on the sidewalk and 1/2 the driveway. :-(
Sadly, when I came from Cincinnati OH on saturday night/sunday morning (about 1:30am) I drove home in a small ice storm (had to stop twice to scrape the snow off the windshield & wipers) so now I’ve got more ice down than before. Sigh.
People have claimed that testing is “too expensive” and tried to skip it. I’ve even done it. One of the ways we know something is true is that we violate it and pay the consequences. Reality is rather unforgiving.
Now I have to decide that it’s worth $15.00 to $20.00 to get the ice broken up enough to shovel it out of the way completely. Darn it, some of that is the same ice as before, and about 2” thick.
By the way, using the right tools helps too. I knocked some of the ice out with a claw hammer because I didn’t want to go buy a tool. It was too much work. I bought an ice scraper, which does a very fine job. My driveway is quite nice and passable now, and keeping it clean is easier than ever before.
Just so we have a nice footnote on the story.
Thanks for sharing this great article! That is very interesting Smile I love reading and I am always searching for informative information like this.
PowerPoint en PDF Convertisseur possède encore plusieurs fonctions, par exemple : fusionner des documents en un seul, ajouter des filigranes, adjuster la résolution ou la taille du fichier, protéger les documents PDF par mot de passe, etc et sa fonction de sécurité ne vous inquiète pas.En un mot, avec PowerPoint en PDF Convertisseur votre travail sera plus facile ! Télécharger gratuitement PowerPoint en PDF Convertisseur et expérimenter ce logiciel.
the Earth is superimposed onto the motion of the rest of the planets. In this simulation you are riding on the Sun,www.lightinthehandbags.com and large planets make the Sun wobble. www.heyheytrade.com
Fliers Get Busy SignalsThe ?? SignalsThe Snow Has Stopped but Some Travelers cheap cartier love bracelet Travelers Stranded Until the New YearBy
The more unsafe and ugly it is, the more important it is to clean it up. It won’t do to smooth it out a little or to leave it be. It needs to be safe for me and my team.
People have claimed that testing is “too expensive” and tried to skip it. I’ve even done it. One of the ways we know something is true is that we violate it and pay the consequences. Reality is rather unforgiving.
It looks like you have really placed a lot of effort into your blog and I require more of these on the web these days. My husband actually loved your article. I don’t have a great deal to say in retort, I only this minute wanted to comment to say well done.
i like this article
internette görüntülü olarak okey oyunu oyna, gerçek kisilerle tanis, turnuva heyecanini yasa.
The Monster Beats By Dr. Dre Studio Headphones are classic shoes.You will be proud of owning them. Don’t hesitate!Take Monster Beats By Dr. Dre Solo Headphones home!
Have the christian louboutin patent leather pumps is a happy thing. Here have the most complete kinds of christian louboutin leather platform pumps.
thanks very much for share with us
Tissot Watch are being sold, he had to design some bright spots, Tissot Classic watch is a classic of classics, as well as Tissot Sports watch is favorite of many boys, Tissot Trend watch, whether it is sent to bring their own or friends are the only choice, is a well-known watch brand Tissot, tissot watch, so I chose is not wrong.
Make it possible to backup all stuff including contacts to computer and restore to iPhone when necessary.