Software Products

Project vs Product Dev

  • "One-off" vs flexible systems: flexible is harder

  • Lack of reuse makes systems expensive

  • Entirely customer-driven requirements are harder

    • Contract-driven dev is harder
  • Product customers experience mismatch, friction, lockin

  • Products are ridiculously more profitable

Requirements Are Still A Problem

  • Maybe the problem

  • See text figs 1.1, 1.2:

    • Customer defines problem, collabs on reqs vs

    • Developer does reqs / features

The Product / Service Split

  • The Internet has changed everything

  • Standalone products / Software as a Service (SaaS) spectrum (see text fig 1.3)

  • For standalone components, network updates are expected

  • SaaS = web / mobile app

Product Vision

  • "Whitepaper" to scope requirements

  • "Three fundamental questions" about the product:

    1. What is this? What differentiates it?
    2. Who are the target users / customers?
    3. "Why should customers buy this product?"
  • Template from Moore

    • FOR customer
    • WHO need
    • THE name IS A category
    • THAT benefit
    • UNLIKE competitor
    • OUR PRODUCT differentiation

Aside: Software is mostly not commercial

  • Most software written today by volume is business-specific or highly-customized enterprise apps

  • Of the remainder, much is open source

  • Result: take this "product" vision with a grain of salt

Example: Sugarmantra

  • My open source anagrammer written in Rust

    • "Bart Massey" → "as by Master"
    • "Barton Massey" → "Satan's embryo" (eww)
  • Moore statement

    • FOR computer puzzle-solvers
    • WHO need anagrams of a list of letters
    • Sugarmantra IS AN anagram generator
    • THAT is easy to build, fast, and complete
    • UNLIKE free web-based solvers
    • OUR PRODUCT does multi-word anagrams and can be used with UNIX tools
Last modified: Friday, 25 September 2020, 9:03 PM