Agile is the best way I've ever seen to shift almost all non-ISV software development costs to opex. Just get some working software out the door and then bug fix it. That probably seems like an oversimplication to a technologist, but not-so-much to an accountant.
Bending the Rules Even More
You can justify anything you try hard enough. For instance, you can front-load opex using waterfall if you lump that comprehensive documentation as part of your "evaluation phase" documentation. Using that trick we could re-classify just about anything.
Please note that pre-IPO companies can also bend the rules in the reverse direction to generate more capex to make their current year profits higher. Like I said at the beginning of this post, this is all "accounting gimmicks".
The Ultimate Rule Bender...the Cloud
Quick thought experiment...your customer comes to you and says, "Your software doesn't work because it doesn't do X properly." You decide that you agree and proceed to rectify it. Is this work capex or opex? Here is the rule...upgrades and enhancements to non-ISV software is capex...maintenance and bug fixes are opex. So, is the work you are about to undertake capex or opex? That depends. Your customer would probably label the "issue" a bug (hence opex), but your company may disagree and deem it a "requirements change", hence an enhancement, hence capex.
But wait, we don't want capex...we want opex, so do we have to admit our software is buggy to get an opex classification?
Nope.
Enter the cloud.
All cloud application development, even enhancements and upgrades, is opex because the software is rented. Nice. Now you can get an opex expenditure and never admit that your software was buggy.
More on the Cloud and Software Subscriptions
With traditional release-based licensing an ISV would only make money when the next release was available. This had an unpredictable effect on profits. If you missed a release date you may not make any money. Subscription-based licensing fixes that by "smoothing" out the profits. Recently Adobe moved their software packages to a subscription-only model. When they first released their earnings under this model their profits were down radically based on where most of their customers were in the release cycle. They basically picked an inopportune time to change their model.
The buyer of software loves subscriptions for the same reason. "Smoothed" expenses and no capex.
Open Source Software and "Services"
I'm convinced that the opex/capex debate is one of the key reasons for the rise in the open source software (OSS) movement. Most OSS vendors offer a version of their software for free and then try to make money by offering services. To the user of OSS this is very appealing. There is no upfront cost for the software (capex) and the customization services are opex.
Not all OSS uses this model, but it is prevalent.
Think of every blogger that offers free software to do performance analysis for SQL Servers. Altruism aside, they do this to get you to use their tools hoping that you will attend their seminars to learn more. Or purchases their consulting services. It's really a great model.
A History Lesson and Concluding Thoughts
Back in the Dot Com Days every company preferred capex to defer the hit to profits. And times were good for IT guys who didn't look quite so expensive because their salaries were more-or-less capitalized. Then the dot com bubble burst, the economy tanked, Enron blew up the world, and Sarbox came along. Now most companies want to be as transparent as possible with their accounting. And that means opex and less capex "one-time" charges to earnings.
Every trend in our industry in the last 15 years is geared toward the move to opex.
It behooves all technologists to understand the basics of accounting and economics. Many of the trends in our industry can be traced to how those trends will ultimately affect profits. You should be designing your software accordingly. I have no clue what the future holds in our industry, but I sleep better knowing that I understand the economics of the decisions being made.
You have just read "[[Understand accounting and you'll understand the trends in software development and IT]]" on davewentzel.com. If you found this useful please feel free to subscribe to the RSS feed.
Dave Wentzel CONTENT
management data architecture devops