One Model of an Effective Team Process

Ken Pugh, https://kenpugh.com ken@kenpugh.com

 

Following the ideas in One Model for Effective Software Development, this article presents one model for an Effective Team Process. It provides an overview of the value delivery process (e.g., value stream) for software.

Depending on the context, value delivery

         May be done within minutes to hours to days to weeks

         Be by a small group, one team, or a group of teams

 


The steps within this flow are shown as linear, but there may be cycles between steps or combinations of steps (e.g. Detail and Develop). The steps may involve experimentation to explore alternatives.

         Discover

o   What is important what potential value delivery elements (e.g. features, stories)

o   May involve users (e.g., defect reports), Hypothesis Driven Development

         Decide

o   What value elements should be delivered and in what order

o   May use estimates of value and implementation (e.g. WSJF, ROI, BfB )

         Detail

o   The value elements (e.g., stories, scenarios)

         Develop

o   Decide what new or changed implementation components are needed for the value elements and make them

         Deploy

o   Deliver the value element so that value is available

Quality includes:

         Was it the right element?

o   The feedback arrow can track whether the value is delivered

         Was the element build correctly?

o   May use Test-first (TDD / BDD / ATDD)

Cadence / Schedule includes:

         Discovery / Decide / Detail / Develop / Deploy may have same or different cadences

         Periodic synchronization (e.g., daily standup)

Lean aspects of delivery include:

         Minimize the handoffs between the steps

         Minimize the effort (e.g., automated deployments)


 

Discover

Find out what value elements (e.g. features, stories, defect removals) might be delivered

Value may be

         Business value

         Customer value

         Technical value

 

Shape

Description automatically generated


 

Decide

Determine what value elements (e.g. features, stories, defect removals) to deliver and in what sequence.

A picture containing diagram

Description automatically generated


 

Detail

Decompose value elements into details (e.g., stories, scenarios)

Graphical user interface, diagram

Description automatically generated with medium confidence
Scheduling

As part of detailing, the details may be scheduled

         In iterations (e.g. Scrum)

         Iterationless (e.g. Kanban)

 

Scheduling can be based on

         Capacity of the team

         Allowance for sustaining team and implementation components


 

Develop

Design, code, and test the implementation components (e.g., modules, classes, methods, interfaces) and changes to existing components that together provide the value delivery element or a detail of it.  

Delivering by details (e.g., stories, scenarios) can allow quicker feedback.  

Focus on one element and one detail of that element.

 

Diagram

Description automatically generated


 

Deploy

The value element is deployed to start delivering value

Diagram

Description automatically generated