About Cost in Web Development
Post from October 1, 2013 (↻ July 1, 2015), reflecting Jens the Developer.
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 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” has rarely meant high-priced. It had to be seen as comparative, “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 you 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 the Author
If you have any questions or concerns about what he writes, ask him to explain, or share your own position by sending a constructive comment or email. (Then, if you think something could be of interest to Jens, recommendations for excellent literature are always welcome.)
On October 2, 2013, 9:09 CEST, tdenatale [at] gmail [dot] com said:
Your entry piqued my interest in my collegiate days when I concluded that in all aspects of life: every moment affords a choice. I’d suggest the topic of economic cost-benefit analysis which compares the doing ‘X’ over ‘Y’. Different than accounting cost-benefit analysis which an overwhelming amount of businesses use today because of function of money.
Anyway, buying something can be used interchangeably with cost and is often easier to interpret. When you buy something, unconsciously you do an economic type of analysis on the costs as well as the benefits associated with each choice. For example, renting a car (x) or buy plane ticket (y) as a means of travel from NYC to LA:
Cost (car rental)
- Fixed (e.g. initial outlay of capital for the car rental)
- Variable (e.g. cost of insurance, maintenance and gas)
- Opportunity (e.g. not buying a plane ticket or renting that Ferrari)
- this is a difficult (but not impossible) area to quantify objectively. We typically use money as means of benefit because it’s a means of comparison. However, please let me know if you find any interesting literature at the crossroads of this topic.
Hope that this comment finds you well Jens on your travels!