Not all of a product's features are of equal importance to the product's users.
Some features form the heart and soul of a product, some features play a supporting role and some features are like plumbing.
What criteria do we use to decide how much quality to put into the design of a software feature?
How do we successfully blend Lean processes with Software Craftsmanship?
If we are going to be "agile" don't we need to decide how and where to invest our time and energy?
In this talk, we will answer these questions by exploring the philosophy and practice of Sufficient Design.
Not all of a product's features are of equal importance to the product's users.
Some features form the heart and soul of a product, some features play a supporting role and some features are like plumbing.
What criteria do we use to decide how much quality to put into the design of a software feature?
How do we decide how and where to invest our time and energy?
Sufficient Design answers these questions and points the way towards how to blend Lean processes with Software Craftsmanship.
If your software product were a film, which of its features would be a movie star, a supporting actor or an extra?
Should you invest more in the software design of star features, especially if they generate the most revenue?
And if so, what level of design quality is sufficient for features that are supporting actors or extras?
Doesn't Software Craftsmanship tell us that we need to write clean and simple code, regardless of its role?
Or, if we are Lean and focus on increasing the speed of concept to cash, will quality suffer?
Sufficient Design answers these questions and points the way towards how to blend Lean processes with Software Craftsmanship.
- some movies are small ensemble pieces, some have lots of anonymous villains to be gunned down. Choose appropriately.
- no extra can make a movie, but any one of them can mess up a shot.
- the stars attract the big money, but established character actors can make a good living and don't fall out of fashion
- nowadays, large crowds are generated automatically. No need to have real extras at all.
S.