About Cost in Web Development
Published on Oct 1, 2013 (updated Feb 5, 2024), filed under development (feed). (Share this on Mastodon or Bluesky?)
This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.
Cost is an interesting topic. Oftentimes we think of cost as in “this costs so-and-so much.” Like, the software license costs $2,500. Or three man hours cost $450. I’m not an economist but I like to think of this as something like primary cost.
Yet, there’s more. There’s hidden cost, or secondary cost. That’s the price we pay for everything else that’s coming with what we bought, as well as the price of everything we can’t do anymore. For example, we buy a license for a content management system. But implied and not clear at first are cost for implementation, training, documentation, maintenance, &c. And using another system, possibly cheaper or with more relevant features, may now be off the table. That’s lost opportunity, or opportunity cost.
There’s the known cost in terms of what we’d spend to solve a problem. That’s the cost of solution. But we do better comparing it to the cost of the problem to get an idea of whether we actually want to invest in the solution. Sometimes the solution costs more than the problem. That’s a pill perfectionists have to swallow, frequently. So when we face a recurring manual task we may first calculate how much that task, the problem, costs us. And then we look at how much automating the task, the solution, would cost. A task that requires two minutes every week may not be worth spending several tens of thousands of dollars to automate.
And then there’s cost in terms of comparative cost. Personally, I’ve found myself saying “we shouldn’t do this because it’s expensive” a lot. That “expensive” rarely means high-priced. It has to be seen as comparative, relative, “more expensive.” In a code scenario let’s think of solving a styling problem by inserting extra markup instead of accepting additional complexity in the style sheet (although we already know that getting the markup right is most important). That solution could turn out expensive not absolutely, as inserting that extra markup might only require a few seconds, but relatively because it would require every team member to know about the new constraint, because it would require being done many more times, and because overall it would be more work.
We realize that the solutions we’re working on and our actions have a cost. But we need to go beyond “primary” cost. Senior web developers should also have an understanding of the cost of problem, be able to spot hidden cost, and recognize the cost implications of alternative solutions. Doing so enables us to make smarter decisions. Not just in web development. Cost is an interesting topic.
I like to focus on web development from a business perspective a bit more. And I love excellent literature. If you know a piece you think I should check out, please leave a comment or shoot me a line. Thank you (this time from San José, Costa Rica).
About Me
I’m Jens (long: Jens Oliver Meiert), and I’m a web developer, manager, and author. I’ve worked as a technical lead and engineering manager for small and large enterprises, I’m an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for O’Reilly and Frontend Dogma.
I love trying things, not only in web development and engineering management, but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (I value you being critical, interpreting charitably, and giving feedback.)