Software Product Development Life Cycle (sPDLC)
What problem are we trying to solve?
"Find a plan that works before running out of resources",
- Ash Maurya
The goal of this article is not to help you with the methodology. "Running Lean" (1) is an excellent battle-tested book for that. Instead, the goal of this article is to establish a shared context. Most of the future articles will reference the three horizons and the six phases of sPDLC described below.
CUSTOMER - PROBLEM FIT
"The biggest risk ... is building something that nobody wants"
- Ash Maurya.
Understand the customers, develop empathy for the problems they experience, identify the most painful problems. Understand if these problems are worth solving. Is the total addressable market space large enough? Is your company in a good position to solve such problems (mission, capabilities, strategy)? What outcomes are you trying to achieve and how to measure progress? In short, the main goal of this phase is to find the "right" problem to solve.
Use divergent thinking to expand the number of potential problems, then converge on the top problem and keep a prioritized backlog with the rest of the problems. Get out of the building! Conduct customer problem interviews and observe how customers solve these problems now.
Start thinking about a lean business plan.
I have presented a more detailed view of the three horizons. Each horizon consists of two sPDLC phases. Firm understanding of goals, methods, and milestones of each phase forms the foundation for decisions regarding product development staffing, budgeting, scaling, KPIs, and product roadmaps.
Fundamentally, the lean way of software product development is about risk-reduction and practical use of resources.
Please stay tuned for other aspects of the operating model around the lean software PDLC.