Four styles of business and software development

There’s only one sustainable model of business, it’s being in the upper right hand quadrant where both the provider and buyer profit. Especially in the long term. And the best way to ensure this in the long term is to make it the case in the short term.

A checklist to increase the likelihood of falling into the upper right quadrant by the end of a software development investment (project):

  • At the start of every development investment
    • Both sides should have an interest in ensuring mutual profitability.
    • Do everything possible to push into the upper right of the upper right quadrant. Give yourself margin for error.
    • Have a basis of value for the undertaking.
    • Do not communicate about requirements. Do not communicate about features. Communicate about outcomes and value. Value is a universal language.
    • Eliminate marginal outcomes, there’s simply no reason to build marginally valuable software.
    • Treat software as a means, not an end.
    • Discuss risks, divvy up risk based on who is best suited to handle it.
    • Establish measure(s) that predict you’ll end up in the upper right quadrant.
  • During
    • Devise requirements to deliver the desired outcomes and value.
    • Avoid gold plating.
    • Measure the predictive indicators of being in the upper right quadrant.
    • Remove failed efforts (the feature that didn’t do what it needed to do).
    • If success becomes implausible, it’s not acceptable for either party to plow forward.
  • Done
    • Done does not mean implementing a list of requirements and washing your hands of it. Regardless who created them, and especially if you left this up to the customer.
    • Done does not mean software passing test cases.
    • Done does not mean software passed client acceptance testing.
    • Done does not mean working software in the hands of users, even if they’re using it. People use stuff all the time that provides no value.
    • None of these are guarantees nor good indications of falling into the upper right quadrant. These are all means by which you can produce the desired outcome, but they aren’t the desired outcome.
  • Done means you’re in the upper right quadrant or well on your way according to your mutually agreed upon predictive indicators. It means the software is producing value.

You don’t have to fall into the upper right quadrant. Perhaps you believe it’s not your responsibility to ensure your customers are profitable. That may work for you in the short term. But in the long term you’re going to lose a customer.

Conversely, if you’re the customer, you may not believe it’s your responsibility to ensure your provider is profitable. That may work for you in the short term. But in the long term you’re going to lose your supplier.