On Reuse

posted in Readme.txt
Published February 06, 2009
Advertisement
Cross-posted at Code.Implant.

I believe in software reuse. A lot. If you want to finish a product in today's world then I believe it's too costly to not reuse as much software and technology as you can within your given context.

Granted, reusing software is not always the best solution, but more often than not it is a very strong candidate. I believe that if an engineer or organization is not going to reuse software then the onus is on them to provide a strong enough rationale why not. And if the engineer or organization can't defend their rationale with good reasoning? Then the argument against reuse is not strong enough.

Unfortunately, not everyone thinks this way. Not surprising. Engineers like to do fun stuff and reusing software or technology takes away some of that fun stuff. I get it. I like to do fun stuff too. I used to write my own rendering engines and XML parsers and Winsock code, but then one day I woke up from this comatose state.

My world changed when I stopped looking at software development at the technology level and started looking at the end state of the product. In doing so, adding value to the product became my number one priority. The how and technology used were still important, but they were driven by adding value.

Now, there are times when reuse shouldn't be used: new technology research, education opportunities, and so on. But most of us live in a world run by businesses that build products for customers and minimizing cost and schedule are important to the business, and reuse is a way to ensure cost and schedule are minimized.

So, when in this world of business I hear something against reuse I just shake my head. Some developers just need to go away. Really. They make the world a less productive place.

To cap this off, here are some actual excuses I have heard against reuse - along with my own thoughts on the excuses.

Mr. No Reuse: Software ABC doesn't provide every feature we need and won't be just a drop-in for us, so we can't use it.
Me: I hope you're joking. Not every piece of software can be written to your liking.

Mr. No Reuse: Our product has special needs.
Me: Special needs? Such as, minimizing cost and schedule so we can make money? No problem or product is so special that we should limit our reuse. We should maximize it.

Mr. No Reuse: I want to learn about XYZ technology and this is the best opportunity for me to do that.
Me: Good for you. I support continuing education. Now go start your own business and you can do that all you want.

Mr. No Reuse: In Software ABC, I don't like the API or how they do things.
Me: I'm sorry they didn't ask for your opinion when they designed it; however, it does the job and thousands of other developers use it already without complaint.

Unfortunately, people like this really exist. Don't be one of them.
Previous Entry Passion
Next Entry More on Reuse
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement