Binary Artist

The Jason Marshall Experience

Binary Artist

Jason Marshall
E-mail me Send mail

Recent comments

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Over Engineering Software Design

Need more cow bells ?

 Over engineering your software application is when you attempt to make it so flexible or scalable that you lose focus on returning business value. Often you can get swept up in programming and designing just for the sake of doing so.  It’s so tempting to use that “New” technology to tackle any problem that comes your way with a cool design pattern or “the tool of the month”.  Some programmers attempt to make their software very flexible and sophisticated because they believe they know their system’s future requirements.  In there programmer minds they reason that it's best to make a design more flexible or sophisticated, so it can accommodate the needs of tomorrow. This is perfect if you have a crystal ball or are psychic.  Ok you may be saying…”Yeah but based on my experience, I believe I have a handle on this business domain enough to predict the future of this software development.”


Ok, but what if you're wrong ?... If your predictions are wrong, you waste precious time, resources and money.  Then you and your team will spend days or even weeks tweaking an overly complex “flexible” piece of code.  This is time you could have spent writing the new logic exactly the way it should be to provide business value.

 

Except for the guys that work at a R&D software think-tank most of us have a business need that drives our software development, which in turn drives our paychecks.

To turn your back on business value is to bite the hand that feeds you.

 

 


Tags:
Categories: C# | LINQ
Posted by Admin on Monday, April 28, 2008 9:25 AM
Permalink | Comments (0) | Post RSSRSS comment feed
Free Hit Counters
page counter