How can software be so valuable?

October 27, 2020

I fundamentally believe that everyone working in the software industry needs to step back from their daily tasks and reflect on the economics behind software projects. Understanding concepts like value, cost, options, impact or risks would make people more aware of the meaning of their work. In this article, I'd like to dig deeper into the value of software.

Software is nothing more than an intangible, abstract and computable way to solve business problems at scale. Because it is so versatile, one of the most common problems that I've come across is the lack of understanding of the value provided by the different tasks implemented within a project.

Every project has a different nature and a different set of challenges - purely because every business is different. Understanding what is valuable within your current context is paramount to do effective and impactful work.

The fundamental goal of all good design and engineering is to create maximal value added for any given investment. There are many dimensions in which value can be assessed, from monetary profit to the solution of social problems. The benefits sought are often domain-specific, yet the logic is the same: design is an investment activity. Software economics is the field that seeks to enable significant improvements in software design and engineering through economic reasoning about product, process, program, and portfolio and policy issues.

— Barry Boehm

Here there are some forms of value generation in software projects:

Tangible value

  • Consolidate revenue: an example in SaaS models would typically translate to tasks related to user retention & engagement and subscription models, trying to avoid churn and to ensure a steady revenue.
  • Increase revenue: any task related to upselling, improving sales funnels, shortening the sale cycle, new products, offers or discount codes will be providing value of this kind.
  • Reduce costs: the automation of repetitive tasks saves costs, as well as the implementation of efficient workflows and processes, which automates the information flow. Also, software helps to reduce errors (which ultimately is a cost-saver).
  • Metrics generation: measuring internal data creates a lot of tangible value, as it gives real information about where your bottlenecks are, where there is some room to improve operational aspects and where your new business opportunities may be. Gold.
  • Save time: automated features like sending a confirmation email, ledgers consolidation or integrations between systems save a lot of time, so companies can focus on providing much higher value.

Intangible value

  • Transparency: the value of data transparency reduces anxiety in both users and businesses alike, and helps manage expectations as well as coordinate efforts. It yields better decisions.
  • Increase brand value: a good experience with your software helps customers perceive you as a trustworthy partner and recognise your service as a useful one. Always try to play long term games with your customers by being helpful. A brand is a promise.
  • Produce consistent outputs: processes implemented with code are extremely useful because they produce outputs which follow the same rules, and that helps with expectations management, operational efficiency, consistency and better estimations.
  • Generate options: For companies developing a product in the discovery phase it is absolutely essential to be able to explore, understand their customers and validate new ideas constantly. Software is a pivotal tool that allows companies to buy options and increase their success odds.

As digital professionals, I think it is really important to be aware of what's the value we're trying to provide with our current work (product definition, UX analysis, design, bug fixing, architecture design, feature build, ...). For this, understanding the business behind is paramount. So talk to your stakeholders if something is unclear to you!

Making sure you understand the value behind each task will lead you to make better decisions and make sense out of them by the use of a more strategic mindset.

Can you think of any other ways for software to provide value to a business? Please share!