This article touched on a number of important points:
View undeveloped parts of the product as contingencies, not truths.
Bundle contingencies into areas of concern so you have a mental map of the main pieces of the product.
Consciously judge the value of each area, with regard to how necessary it is and also how domain-specific it is. Don’t be fooled by focusing on "necessary" things that don’t differentiate, like user authentication.
Areas of concern are themselves bundles of contingencies, and you can recursively apply the same analysis to find where the value is and what needs to be done.
Tracking work by role doesn’t show progress. Group tasks by concern so checking off a set of contingencies means you have covered all aspects of one piece of the product and you can move on.
Integrating all roles around one piece of work allows everyone to keep the problem in context while feedback, pushback and new insights arise.
A healthy development process is a steady, gradual transformation of unproved contingencies into settled facts.
The goal is a clear head focused on outstanding unknowns. The manager should be able to ask "where are we?" at a high-level at a given moment and see what is done, what is not, what’s in process, what is open, what is satisfactory and what isn’t.
THE JOB
Patterns
Product
Job:
To know all the problems end users are facing
Patterns:
Resource profiling (instrumentation in production)
usage statistics
issue statistics
replay of issues
user management
user specific insights
Problem with product design...
Either the problem wasn’t well defined, the concept wasn’t well defined, or — in the case of beginners and newcomers to a platform — your bag of tricks wasn’t adequate to address the problem.
answer these questions:
What is the problem? Is it well defined?
What is the concept? Is it well defined?
Do we have adequate solutions to address the problem?
The problem we are addressing is a *job* a user is trying to do.
The patterns we use to solve the problem.
The concept unifies the relevant patterns you know into a composite design that does the job.
Job:
He does not know the issues his app users are facing.
He will be able to see the issues his app users are facing and address them.