A very good, old friend of mine passed me this article today. Having spent time as a developer of software, and plenty in technical customer serivce, I agree with the sentiments expressed completely.
Where the author’s analogy to most corporate development breaks down is when the development organization actively ignores the requests of the customer to suit its own needs. Occasionally this takes the form of preventing the customer from doing what they want to do. This is sometimes a necessary evil. The effort required to alter some software behaviour is often disproportionate to the gains to be realized from the work. But to actively reject suggestions from customers for convenience, or because “you can get away with it” seems to be the ultimate betrayal of a marketplace.
Even worse is when this is done in a captive market. Witness Home Depot – arguably the single source provider of home improvement and renovation supplies in North America today – and the home building/renovation industry around them. Ever since my second blog entry in 1997, when I complained of cheapo building materials, it’s gotten worse. Two-by-fours are now one-and-a-half-by-three-and-a-half inches, with rounded corners. Delivery of wood often results in timber that is barely usable, including precut studs that are warped beyond recognition and split halfway up the side. There was a time in recent memory when you could go through the wood that was delivered to you, and send back any timber that wasn’t up to snuff – and the lumber company was on the hook to replace the bad wood. Wood is dried so quickly now that fully 1/4 of the studs we recently used to construct a shed in the backyard started to split when nailed up in a frame. And the nails! These hot dip galvanized twelve-penny (12d) nails are so soft that you can straighten them by whacking them on the side with a hammer! (This is not a reason why they are good, quite the opposite.) These were the only 12d nails available at the store, as well. You couldn’t even buy the old type if you wanted to.
So why am I ranting about Home Depot in a post about software development? Because both are indicative of the continuing trend for companies to deliver substandard solutions wittingly, because they can get away with it to improve profitability (in Wal-Mart speak: “to keep prices low for you!” I’m not an artist, to be sure (read the article, will you!) but I do believe in doing the best possible for the ultimate user of a component, be it embedded, traditional, or support technology. Service is just good common sense.
Let me give praise to one company who seems to have gotten it right. It took nearly a year during my employment at SOMA Networks to complete selection and justification of Atlassian‘s Confluence (wiki) and JIRA (issue tracker) systems for use as external document and issue management solutions. These are exceedingly well written tools, with a robust code base, a broad community of plugin/extension contributors, attentive support technicians, and a snazzy user interface. They’re not written as trendy web-2.0 applications, but rather are something you can toss on a box you maintain yourself, keep the total cost of ownership fixed, and tweak to your heart’s content. And the functionality out of the box is astoundingly good.
Don’t believe me? Go get your own free personal license of Confluence and experiment. Then use it in your next project if you like it. There’s even 50% discounts for academic use. And the license fees & maintenance are exceedingly sensible.
Disclaimer: I don’t work for them, but I’m a satisfied customer.