I got turned on to an interesting article by Speider Schneider recently. In it he outlines a captivating discussion about the role of hacks in the design industry. There’s some great meat there, and he brings up a good point: Clients can’t gauge the quality of the work they are receiving; this causes substandard work to drive down the average price of the entire industry. Interestingly, this same pattern exists in other areas as well. I’m thinking about software development.
We have our own meaning of “hack” (i.e. hacker) in the software industry, but we have plenty of hacks by the definition Schneider quotes as well. They come in similar forms as well: the untrained claiming expertise, the crowd-sourced masses, the credentialed incapables. You can go online and “hire” someone to build your corporate web site, Where’s George clone (for $100), or Facebook clone on vWorker. You can set a stupendously low max bid. And you can be sure that someone will bid. In fact, you may get dozens or hundreds of bids for your work.
Just as with purchasers of creative material, the purchasers of software don’t know what they are buying. In many cases, they don’t even know what they are looking for. Users are universally, in my experience, bad at articulating what they need someone to build. They are good at describing problems and explaining their pain, but they are not able to design solutions. That’s what we, as software developers and program managers are here for. As a result, it is possible to be extremely bad at designing software and still get paid.
This whole line of thinking rubs me the wrong way. It’s true that graphic and software designers can pull the wool over the eyes of an unsuspecting client. It’s true that said designers are a scourge to those of us who care about doing a good job. But they are not the problem. They and crowd-sourcing web sites are just a symptom of business’ inability to measure the ROI of their software projects (or their graphic design properties). When a customer does not understand the value (good or bad) of what he is purchasing, he always haggles the price down as much as possible. Such is the way of the free market. Items don’t have value, they are only worth what people are willing to pay for them. We have a thousand customers that don’t know what they are paying for. They don’t understand that poorly designed software will cost more money later, rather than saving it.
I’m not sure I have a solution here, but there must be a method to educate small business owners about the value that their development work should provide them. The only way to decrease the cost of software development is to increase the user base and amortize the costs. You can’t buy cheap and valuable developer time, that’s an oxymoron. The only way to save money is to make due with a volume product (Office, Google Apps, w/e) and let the sheer size of the user base shoulder the required investment to make the product good. Maybe some case studies are in order.
Be thankful for the plum clients and treasure them. Take the paycheck from the rest and put it to good use. Forget the ones who want it for free. They are not a business nor will they ever be a client.
Glad you liked the article!