walls.corpus

By Nathan L. Walls

  • Sunset, Jan. 2, 2021/Williams Township
  • On Bougher Hill/Williams Township
  • Sunrise, Dec. 19, 2020/Williams Township
  • Sunset, Dec. 27, 2020

Laziness is a (business) virtue. Sometimes.

Rafe Colburn on what my previous job called “a buy vs. build analysis”:

The question people need to be asking is how little custom software can they get away with having. The ideal number is zero. If you’re working at one of those web design [firms] that rolls a new content management system for every customer, you’re doing your customers a disservice. Honestly, if you’re selling them your own proprietary CMS you’re probably doing them a disservice.

Software developers like to build things. And most developers are confident that they can provide something that perfectly solves whatever problem they’re confronted with as long as they can write it from scratch. Developers are horrible at estimating the long term costs of building applications yourself. And they have an incentive to be bad at it, because if they were good at it, nobody would let them loose to write custom software.

When you do bend the business to fit the software, you can end up writing a lot of glue code to get one API to talk to another API; to push or pull data whichever way it needs to go. That’s probably OK, when you’re dealing with a competent developer community or vendor.

The counterpoint is lack of confidence in the “off-the-shelf” solution. At my last gig, my coworkers and I preferred in-house development because we had just about zero confidence in the abilities of our vendors to provide a stable API, accurate documentation and reasonable integration cost. This collective opinion came from years of bad experience. In our minds, it was lazier to build a solution ourselves than continually fix what we bought from someone else. We were far more trusting of RubyForge and CPAN (and building on top of that) than anything that involved a contract.

Also, pray the company answer to the central question, “Do you want to be in the software business?” is either “yes” or “no.” “Maybe?” is a really scary spot to be.