Monday, August 16, 2010

Maintenance mustard

Mustard condiment. A french recipe containing ...Image via Wikipedia There is this Dutch expression that says: "that is mustard after the meal". It means that you have thought of something you should have done when you still could. Maintenance is often that mustard after the meal, especially software maintenance. More often than not (at least in my experience) maintenance is an after thought or at best something that we think of in a late stage in the project.
Not thinking about the above at all I was sitting in my garden the other day, enjoying the weather, watching the trees and bushes around me. Then I suddenly got this crazy idea of building a fish pond. It would be a fun project to do with the kids. The garden is large enough to have a fairly large pond. A running stream between two ponds is also among the possibilities. Yes, a running stream with rocks in it would be awesome. I would of course have to install a water pump to pump water from the lower and largest pond up to the higher and smaller pond. And what is a fish pond without fish? So the pond is going to include a bunch of big, fat, lazily swimming gold fish. O, and water lillies! I want those too. And to top it all off, a deck, where you can sit in the sun (meaning I will need to cut some trees too) and enjoy the artificial piece of nature I have in mind. My vision of the perfect pond is complete.
So, let's summarize my requirements:
  • two ponds: a small one and a large one. The small one sits higher than the big one.
  • a stream of running water from the high pond to the low pond
  • big, fat, lazy gold fish
  • water lillies
  • a deck that gets a good amount of sunshine
My shopping list is at least going to include the following (I have never built a pond, so I will need to improvize a little bit):
  • water proof lining to put at the bottom of the ponds so water stays in it.
  • rocks
  • fish
  • water lillie plants
  • wood for the deck
  • water pump
  • water hose
  • a filtering system for keeping the water clean and creating and maintaining a healthy climate for the fish.
  • out door electricity cable
  • water proof electricity power sockets
  • new tools (hopefully)
A quick work breakdown:
  1. request a permit for cutting two big trees
  2. dig out the ponds and the path of the stream
  3. install electricity to power the water pump
  4. install the water pumping system required for the running stream
  5. line the ponds and the stream with the water proof lining
  6. construct the deck
  7. cut the trees
  8. put the rocks in the stream path
  9. fill the ponds with water
  10. connect all the hoses required for the stream to the water pump
  11. test if everything works
  12. put in the plants
  13. let it aclimatize for a month so a healthy ecosystem evolves
  14. buy the fish and put them in the pond
  15. sit back on the deck, and admire your work
I estimate the total cost of all this to be somewhere in the range of 300 to 800 euros. It will probably take about 6 to 10 weeks to realize my vision. My wife is (wisely) going to be very silent while I start getting busy on my silly project. My guess is that she is going to ask some really sensible questions at a moment I don't really want to think about the issues she will bring about. If I am lucky, she will ask me before I go shopping. She might have the following questions:
  • How often does the pumping system need cleaning? Can all the parts that need to be cleaned regularly be reached easily?
  • Are the fish prone to diseases and do you know how to recognize these diseases?
  • How are you going to prevent that the fish are being eaten by herons as happened with our neighbours?
  • Nice deck, but you realize that you regularly need to apply anti algea agent to prevent the deck from becoming slippery, don't you?
And she will go on and on. My vision gets troubled with lots and lots of maintenance work I will probably have to put off because I won't have the time for it in our busy family schedule. In my vision I only saw a static result. I did not think of the pond as a dynamic, changing system. I also didn't think of the dynamics of my family. Those dynamics will definitely change too. That pond suddenly looks a lot less idyllic to me now.
A hot dog.Image via Wikipedia
 
I think you see the point I am trying to make. Nobody likes to eat the mustard after finishing that hot dog. Thinking of maintenance at a late stage in your project is very much like that. Your face will show very similar contortions (go eat a spoonful of mustard and look at your face in the mirror to see what I mean). Somehow, software system construction projects are more prone to maintanance mustard than other construction projects. This might have something to do with the nature of software, or better: the way we perceive software. Unlike a Canal tunnel, a piece of software can always be modified, right?. Well.....no, not really. What we always underestimate is the cost that comes with these modifications. Especially after a longer period of use. We underestimate the number of people and other systems that have come to depend on your piece of software. Over time that piece of software hasn't become all that easy to modify at all because the ones who originally built it have moved on and the documentation turned out to be of poor quality because they weren't thinking of future maintenance either.

Powered by ScribeFire.