 |
| |  |
Home In This Issue Email a Friend EasyPrint
 | |
|
BEST PRACTICES
The case against human cloning (humans cloning software)
By Jeff Chilton
"There is nothing so useless as doing efficiently that which should not be done at all."
-- Peter F. Drucker (1909-)
Now, there's no reason to get excited -- I'm not talking about some controversial medical procedure, here -- I'm talking about that thing that those of us who develop software have done since the very first line of code was laid down by a programmer: take some existing program that we or someone else has written, and start converting it for our own purposes.
We all do it to one extent or another; no one that I know of ever starts with a blank canvas when it comes time to create a new program. It's one of the first things that you learn when you start to code: never type in what someone else has already typed in for you.
To "clone" a program from one that already exists is a great way to be productive, because much of what you need to produce is already right there in front of you. Unfortunately, it is also a great way to kill your ultimate productivity by creating a maintenance nightmare for your future.
The impact of cloning programs and systems on development Let's say that you have a great system that you just cranked out that's been successfully implemented with glowing customer reviews and minimal problems (hey, it can happen!). Invariably, someone from another department or organization hears about it and comes to you and says, "Gee, can you build me a system like that, only with this little difference?"
Well, of course you can! In fact, you can do this one a lot faster than the last one, because you now have a working model from which to start. By cloning the functioning system, you can leverage all of that previous work and maybe even add in a few of those things that you would have done the first time if you had only thought about it soon enough in the process.
This new system will be just like the original, only different -- and better! And you'll be able to do it in a lot less time. When you already have something that works, cloning it to create another "something" is a great way to get more done with less, and in a shorter time. And when the word gets out, soon you will be building a third, and then a fourth. Better, faster, cheaper ... that holy trinity of management expectation fulfilled through cloning.
The impact of cloning programs and systems on maintenance It all sounds great, but like many ideas that sound oh, so wonderful in theory, there is a hidden dark side. The very success produced by cloning in development produces multiple copies of similar-but-different software in your production environment.
[ Next ]
|
|
Copyright © 1998-2008, ZATZ Publishing. All rights reserved worldwide.
|