The Right Way: Defining the Problem

by Greg

Over the next few weeks, you’ll find here a series of articles that discuss the “right way” to build software for the web. To paraphrase John Galt: ‘ Right?  By whose standard?’  I am the man who has asked that question.

I’m going to start by channeling Alan Cooper and define the problem.

I will try not to bash any one person specifically, though I may end up bashing many people generically.  If you read this, see yourself in it, and find yourself offended, perhaps you should consider with an open mind, WHY my statement has offended you so.  If you think about it long enough, you might learn something new about yourself.

The problem is: 

There are too many projects that are operating inefficiently because too many bit plumbers [a.k.a. software engineers] feel they are too busy to learn a better way.  In a mad rush to get something done, they don’t take the time to understand the available solutions.  They choose to “build it themselves”, typically producing components that are inferior in critical ways.  This burns time, and makes software more expensive.

There are too many shops that have custom solutions in place, that can’t get away from them.  This is typically due to some perceived competitive advantage that their custom solution gives them, or because the perceived effort and cost to migrate to better, open solutions is too large.  In either case, it is a choice they are making.  These shops are stuck in the past because they choose not to invest in their future.

Bit plumbers, and the companies they work for, need to invest time in making their futures better.  They must learn the newer tools of the trade, and spend the time needed to do so properly.  The investment pays off in more software, of higher quality, built in in less time.  If software is your business, or a significant cost in it, this means one, simple thing: More profit.

Future, though perhaps not consecutive, articles will define solutions.  Or better, some specific, potential things you can do to make your software better, faster, stronger.  I’m not offering a holy grail, nor a silver bullet.  The stuff I’m pontificating about may fall flat on it’s face in some situations.  I’m going to talk about specific things that have been successful for me in the past, and also, specific and general things that have either not been so hot, or have blown up in my face completely.  

I’ve decided not to allow comments on these stories.  This is my blog.  If you don’t like what I have to say, don’t read it.  If you feel you must retort, start your own blog.  Feel free to deep-link to my pages when you post your retort.  More inbound links helps my page rank.

Next week: The IDE.  

If you’re drilling holes in a block of wood for a school project, a hand-drill might do fine.  If you’re drilling holes in sheet metal to build a car, you need an industrial-grade drill press.  Otherwise, you’ve never going to get there, or if you do, the end result isn’t going to work very well.