A Prototype is Worth a Thousand Lines of Code

Posted on:

A picture is worth a thousand words. A prototype is worth a thousand lines of code. Two key elements of product management – and of agile development are elicitation and feedback. Low fidelity artifacts can significantly improve both. Polished, codified prototypes can create problems that prevent you from getting the […]

Use Cases for Iterative Development

Posted on:

Almost everything I’ve read about use cases focuses on describing what needs to be added to your product. Agile development says “get it working first, make it better second.” That means changing the way the software enables a user to do something they can already do. How do you manage […]

Passionate Requirements

Posted on:

Writing passionate requirements is not about writing with passion. It is about writing the requirements that cause people to be passionate about your product. Find the most important problem, for your most important customers. Understand the essence of what is important to solve that problem, for only those people. Then […]

Customer-Centric Market Model

Posted on:

A market can be thought of as the collection of contexts in which you might sell your product. You can split your market into a set of market segments. Each of those segments represents a group of customers, each of whom shares a set of problems for which they would […]

Atomic Requirements

Posted on:

Each requirement you write represents a single market need, that you either satisfy or fail to satisfy. A well written requirement is independently deliverable and represents an incremental increase in the value of your software. That is the definition of an atomic requirement. Read on to see why atomic requirements […]

Sprint Backlog – Don’t Solve Half of the Problem

Posted on:

Every team that transitions to agile faces this problem – some stories are too big to fit in a single sprint. Most of the teams that I have worked with have the wrong instinct – to solve half of the problem for all users. The right approach is to first […]

Verifiable Requirements

Posted on:

Writing Verifiable Requirements should be a rule that does not need to be written. Everyone reading this has seen or created requirements that can not be verified. The primary reason for writing requirements is to communicate to the team what they need to accomplish. If you can’t verify that what […]

Foundation Series: Inside A Scrum Sprint

Posted on:

People who already use Scrum will only find one new thing in this article – a way to communicate what happens inside a sprint that has proven effective for me. People who are new to Scrum who wonder “how do things work inside a sprint?” will see how things work […]

Writing Unambiguous Requirements

Posted on:

Writing unambiguous requirements is about understanding what is written, and what is read. Without a clear understanding of your market, you can’t write unambiguously. Even when you understand your market, you risk writing something that is ambiguous to your readers. Documenting requirements is about communication. Don’t break this rule, or […]