Scott Watermasysk, of .Text and Community
Server fame, has a post on
his new blog which talks about the start of his
current project at Telligent called Graffiti.
In it he discusses his opinion that if a first version of your project cannot be accomplished
in under 1,000 lines of code, then it probably is being over-engineered from the get
go.
Key to this premise though is the idea that you re-use pieces produced by others in
order to avoid writing your own code. He discusses a large variety of other
libraries which Graffiti uses, or used in the first few releases. Some have
been replaced, some are still used, but the point is something that is discussed in
“agile” circles quite a bit and circles around lots of catch phrases like “Release
Often”, “Keep It Simple”, “YAGNI” and the like. What I particularly like about
Scott’s example is that it is a stand against “Not Created Here” which is a horrific
airborne virus that many corporate IT departments have caught.
How many things that you’ve written code for do you know for a fact have been solved
before and you’re re-writing simply yo re-write? Data Access, yup. ORM,
yup. Security, yup. Nearly every problem has been solved before, and using an existing
library does not diminish the value of your project in fact it increases it because
your “Time to Market” will be much higher.
Go read Scott’s post, and when your done riddle me this dear reader : What is the
biggest piece of code have you personally written that you know you shouldn’t have?
Mine is easy, I’ve re-engineered an entire Rules Engine when BizTalk Server’s Rules
Engine was available to me. That was a big piece of code, like 3 developers
for 4 months kind-of big. Live and learn.
Tim Rayburn is a consultant for Sogeti in the Dallas/Fort
Worth market.