Our Process Told as our Team's Timeline

**As of 2/7/2012 9:30 PM this our process..

Post-Agile: Discovery By Design

Agile Discovers a Solution
Lean Startup Discovers a Problem
Design Thinking Discovers Customers
Lean Discovers Efficiency

At first we were an Agile Software Development team that used Lean Software Development management principles. We would come up with ideas and iterate towards a working prototype with minimal waste.

However, after some failures we realized that we were often iterating to nowhere. We were pushing ideas out that nobody cared to receive. We were much like a product owner that prioritized stories poorly; we completed work that we imagined was valuable, and sometimes were told ahead of time that was valuable, but learned after we were done that it wasn’t. We realized this as a systemic problem. To solve it we began using The Lean Startup model to make hypotheses and gain validated learning to discover problems. The Build-Measure-Learn loop from the The Lean startup is included in the new process and is shown below.

We began designing and building experiments that were Minimum Viable Products to subjectively measure and learn about our ideas and the problems we were attempting to solve. During this time, we learned to focus our experiments by choosing a hypothesis directed at the biggest uncertainty in the idea. We would use the questions and our answers from this Desirable-Viable-Feasible diagram from IDEO’s Human Centered Design Toolkit to help guide our attention and actions.

For months we successfully conducted focused experiments in coordination with other teams, and when we found a success the other team would pull it into their delivery pipeline. But we didn’t know if they were the most valuable customers to solve problems for or if we knew enough about our customers to gain insights about their best problems. We turned to Design Thinking to help us discover customers as modeled by this arc from IDEO’s Human Centered Design Toolkit.

Now we gain empathy for our customers to discover who they truly are, what their lives are like, and what their biggest problems are. We brainstorm solutions and select a few that may best solve the problem. We rapidly design experiments using Agile to test the largest area of uncertainty in our solutions. At the end of each build-measure-learn loop we make a decision based on our learnings. To pivot—modify—the solution or persevere with a new experiment.

If we want to fine tune our business model and learn more about it we choose to persevere and go through another build-measure-learn loop. If we gained insight that indicates there is a better solution we pivot by switching to a different solution or return to understanding the customer.

To make sure we are efficient in our process we use Lean Software Development to constantly analyze and remove waste, empower the team, and reduce our cycle time.