Sunday, January 31, 2016

What I learned from the Lean startup training

Earlier this January Our Agile coach Carlos Oliveira did an excellent training session about Lean startup in Scotiabank's Credit Card RapidLab, for me this is eye-opening event, I realize there are so many things needs to digest, to dig deeper. Here I try to capture what I learned.

About Lean startup
Lean startup process is focused on discovery, learning, reducing the uncertainty through the rapid feedback loop. It is more about exploring instead of exploiting; it answers the questions of "Should we build it?" instead of "Can we build it?".
In lean startup, failure is good, failure is valuable, as long as we can learn from the failure; learning itself is valuable, MVP does not have to be valuable to the customer - which means in Scrum, at the end of the Sprint, it is still OK if we delivered something which is only valuable for ourselves learning but no value for customers.

Learning vs building
In lean startup the objective is learning, to learn we need to build first to validate our hypothesis, which is build to learn; in regular development, the objective is building, to build a better software, we need to learn first, which is learn to build. It looks like learning and building can support each other instead of conflict each other if we can embed the lean startup concept into our Scrum process.

Go out of the building, leave your comfort zone
Lean startup encourage us to close to the customer: go out of the building, learn from customer. It means leave your comfort zone, be open minded, leave your predefined opinions, discover different insights and experiences.
For managers, it means manager shouldn't rely on emails, report or spreadsheet, they should go to the team, listen, observe and sense the problem.
For team developers, it means everyone should leave their own familiar domain area, try different tools, lean different languages, take different roles, do it mindfully and deliberately.

In the book Toyota Way, I know an inspiring story about the improving the Sienna by applying principle of "Go and See",  this blog post gives you a brief summary.

How can I apply Lean startup into my daily work
As a technical coach, my customer will be the Scrum team members, my job will help the team apply new tools, technical practices which moving toward the journey of continuous delivery. There are lots of uncertainty and concerns, to reduce the resistance, lean startup is a perfect strategy for me:

  • Close to the team members: sit beside them, observe how they work, listen their conversation, sense their pain, work with them, don't wait for them asking for help; go to other teams to get insights,
  • Close to the product owners: Attentively participate the Sprint plaining meeting, meet with them regularly, understand their business goals, trying to help solve the product owner's problem first, then ask them to help me.
  • Doing experiments as strategy, for example for automated functional tests, I will try to offer different solutions, and compare each solution's pro and cons; for reporting tools, I will try different solutions as well.
  • Instead of doing the whole team wide changes, I will focus on small group of people, each time focus on one single solution, focus on one specific area.
  • Find early adopters like DevOps Champions within the team to help me.

Some thoughts about learning
Learning is my favourite topic, this Lean startup training inspired me to summarize some quotes about learning:
 - Software is a discovery process
 - Deliberate discovery
 - Learning is the first class task for developers
 - Learning is the constraint
 - Learn early, learn often, learn from failures

It also remind me Alistair  Cockburn's article about "Disciplined Learning", which is a great reference.

Resources:
- Alistair Cockburn's learning patterns
- Toyota Sienna's "Go and See" story, and this