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:
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
- 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)
- request a permit for cutting two big trees
- dig out the ponds and the path of the stream
- install electricity to power the water pump
- install the water pumping system required for the running stream
- line the ponds and the stream with the water proof lining
- construct the deck
- cut the trees
- put the rocks in the stream path
- fill the ponds with water
- connect all the hoses required for the stream to the water pump
- test if everything works
- put in the plants
- let it aclimatize for a month so a healthy ecosystem evolves
- buy the fish and put them in the pond
- sit back on the deck, and admire your work
- 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?
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.
Powered by ScribeFire.