April 1, 2006

Software, Requirements, Needs and Wants

As an adjunct teaching C++, one of my favorite extra credit questions was this:


What is the limiting factor for what your software can do?


The answer? hardware. Time? Money? Those limitations are arbitrary. A programmer can neither make more hardware nor instruct hardware to do something it can’t.


I found out a long time ago that you don’t code things that people want, even if you can. They won’t use it. The real problem is that they don’t know what they need.


Some of the more popular applications (web or no) fulfill needs, not wants. Basecamp doesn’t offer boatloads of features. The same can be said of Gmail. Both meet the basic needs. Feature bloat will certainly make a handful of users very happy, but may run some users off if they perceive increased complexity.


Figuring out where to draw this line in the sand is not easy, but it makes all the difference between creating a useful tool that meets the needs versus a picture of someone’s wants that will only hang on the wall.


How do you do that? I’m still figuring it out.


0 comments: