Showing posts with label Adapt to Context. Show all posts
Showing posts with label Adapt to Context. Show all posts

Saturday, February 15, 2020

(Product) Expand: delivery life-cycle options


Read first

  

Expand 

"Unanticipated bottlenecks appear
"Eliminate the next bottleneck just before it derails you" - Kent Beck

Agile option


The main incertitudes and risks are already addressed, but we still have unexpected problems & bottlenecks. One good choice to start could be Agile (Scrum-based or Scrum-XP style) life-cycle. We still have important requirement & solution risks so: 
 
How can we advance to a more streamlined process & life-cycle? 

Lean principles could help us to adopt lean. One of these principles uses work standardization to reveal impediments and improve. We will "standardize" the work & the understanding at the iteration/sprint level using some well-known iteration level agile practices. The team members:
  • will have the same view of the work
  • will collaboratively solve the problems & improve
The impediments will be observed by more eyes and (better) solved by more (collaborative) people. If the team members will work in isolation from one of the others (poor collaboration) ~ each one will have a different process & different problems to solve. The improvement will be slow or non-existent.   

Important: one of the main purposes of such iterative, Scrum-like development is not to repeat this process forever but to reveal & remove impediments and improve.

Lean option


The same idea for revealing and removing impediments could be used with the Lean lifecycle. We should visualize the work (~ Kanban),  get a common understanding of the workflow and use it as a base for improvement. Collaborative work and collaborative improvement are applied also in the lean case. We could consider a lean alternative in these cases:
  • often delivery, smaller releases (e.g. less than one week), maintenance
  • difficult look ahead, incertitude: we cannot prepare a buffer or work items for one or more iterations
Note: if the pre-conditions are met, Lean could be the dominant approach in Expand 

 

Other options

 
Next sections

 References



(Product) Explore: delivery lifecycles options


Read first


Explore

"the risky search for a viable return on a viable investment"- Kent Beck

What we have to do in Explore is to solve the incertitude about WHAT and HOW:
  • Do we know what & how to build?
  • What we build is useful to potential customers and is required by the market?

We will have to experiment and validate our experiments from technical and business points of view. Here an example that suits the development of a complex product:

 Other options

  • A hybrid approach could be used; after we have advanced with the exploration part we can also use some "normal" development lifecycles. Most likely, a significant look ahead will be not feasible, so Lean life-cycle (Kanban-like style) may be a good approach.
  • For small, low complexity, low incertitude products, Agile Basic could be an option

Next sections
 

References