Lean & agile 101 for Astute Entrepreneurs

75
Claudio Perrone written, illustrated and performed by After reading this, Tell this person why you are here and what you hope to learn. introduce yourself to a person you don’t know yet. @agilesensei

Transcript of Lean & agile 101 for Astute Entrepreneurs

Claudio Perrone

written, illustrated and performed by

After reading this,

Tell this person why you are here and what you hope to learn.

introduce yourself to a person you don’t know yet.

@agilesensei

“ --- Steve Blank & Bob Dorf

Customer development is useless unless the product development organization can iterate the product with speed and agility.

Pair Customer Development with Agile Development

If we keep acting like most entrepreneurs…

“ (*) The only statistics you can trust are those you falsified yourself --(often falsely attributed to) Winston Churchill

… Only 3 people in this room will Create successful companies*

Most startups fail will Yours?

“July 2009 was the wettest July on record in Ireland”

“that month, a new life rocked my world…”

“that month, I left an exceptional company I helped create from scratch”

“From the very beginning, I had embraced Agile development to grow a world-class software organization”

1 Agile

Software Development

Weeks  

Until then, I was mostly familiar with the traditional “waterfall” approach

- Stringent contracts - Fixed scope - Fixed date based on early estimate or cost of delay ⇒ All features are equally important, ⇒ Big cushion to contain risk (contingency) ⇒ All or nothing

- Big handoffs (transaction costs) - Last phases compressed -  lots of Work In Process (WIP) - -Unknown integration phase length - - poor progress visibility

- Late changes are unwelcomed - Scope creep - Unbalanced demand - -no time for process improvement - - quality suffers

- Late Releases, - poor quality -  poor staff morale -  low customer satisfaction

Fixed-Price/ Fixed Scope Contracts + BDUF

Sequential process (waterfall)

New opportunities/ Change requests

Release

…which was fundamentally inadequate in my domain

“ (i.e. the faster you find your flaws, the faster you move on to what works)�

A business strategy lesson confirmed what I had realized

build cheap, fail fast

How can Agility Help?

“What can we observe here?”

“can you spot any difference?”

from predictive...

...to adaptive

“How do you see the world?”

Manifesto  for  Agile  So2ware  Development  

We  are  uncovering  be;er  ways  of  developing  so2ware  by  doing  it  and  helping  others  do  it.  Through  this  work  we  have  come  to  value:  

 Individuals  and  interacCons  over  processes  and  tools  Working  so2ware  over  comprehensive  documentaCon  

Customer  collaboraCon  over  contract  negoCaCon  Responding  to  change  over  following  a  plan  

 That  is,  while  there  is  value  in  the  items  on  

the  right,  we  value  the  items  on  the  le2  more.    

h;p://agilemanifesto.org/iso/it/  

Scrum  

eXtreme  Programming  

Crystal  Clear  

Feature  Driven  Development  

DSDM  

…  

Lean  So2ware  

Under the umbrella of agile (values & principles), THERE ARE several methodologies (implementations)

Whole  team  Coding  standard  Test-­‐Driven  Development  (TDD)  CollecCve  ownership  Customer  tests  Pair  programming  Refactoring  Planning  game  ConCnuous  integraCon  Simple  design  Sustainable  pace  Metaphor  Small  releases  

I’ve embraced XP’s technical practices since 2001

I then integrated XP with Scrum, the most popular agile framework to date

More prescriptive More adaptive

Henrik  Kniberg  

XP (13)

Scrum (9)

Kanban (5)

Do Whatever (0)

RUP (120+)

•  Architecture  Reviewer  •  Business  Designer  •  Business-­‐Model  Reviewer  •  Business-­‐Process  Analyst  •  Capsule  Designer  •  Change  Control  Manager  •  Code  Reviewer  •  ConfiguraCon  Manager  •  Course  Developer  •  Database  Designer  •  Deployment  Manager  •  Design  Reviewer  •  Designer  •  Graphic  ArCst  •  Implementer  •  Integrator  •  Process  Engineer  •  Project  Manager  •  Project  Reviewer  •  Requirements  Reviewer  •  Requirements  Specifier  •  So2ware  Architect  •  Stakeholder  •  System  Administrator  •  System  Analyst  •  Technical  Writer  •  Test  Analyst  •  Test  Designer  •  Test  Manager  •  Tester  •  Tool  Specialist  •  User-­‐Interface  Designer  •  Architectural  analysis  •  Assess  Viability  of  architectural  proof-­‐

of-­‐concept  •  Capsule  design  •  Class  design  •  Construct  architectural  proof-­‐of-­‐

concept  •  Database  design  •  Describe  distribuCon  •  Describe  the  run-­‐Cme  architecture  •  Design  test  packages  and  classes  •  Develop  design  guidelines  •  Develop  programming  guidelines  •  IdenCfy  design  elements  •  IdenCfy  design  mechanisms  •  Incorporate  design  elements  •  PrioriCze  use  cases  •  Review  the  architecture  •  Review  the  design  •  Structure  the  implementaCon  model  •  Subsystem  design  •  Use-­‐case  analysis  •  Use-­‐case  design  •  Analysis  model  •  Architectural  proof-­‐of-­‐concept  •  Bill  of  materials  •  Business  architecture  document  •  Business  case  •  Business  glossary  •  Business  modeling  guidelines  •  Business  object  model  •  Business  rules  •  Business  use  case  

•  Whole  team  •  Coding  standard  

•  TDD  •  CollecCve  ownership  

•  Customer  tests  

•  Pair  programming  

•  Refactoring  •  Planning  game  

•  ConCnuous  integraCon  

•  Simple  design  •  Sustainable  pace  

•  Metaphor  •  Small  releases  

•  Scrum  Master  •  Product  Owner  

•  Team  •  Sprint  planning  meeCng  

•  Daily  Scrum  •  Sprint  review  •  Product  backlogt  

•  Sprint  backlog  •  BUrndown  chart  

•  Visualize  the  workflow  

•  Limit  WIP  • Measure  and  opCmize  flow  

• Write  explict  policies  

•  Improve  collaboraCvely  

•  Business  use  case  realizaCon  •  Business  use-­‐case  model  •  Business  vision  •  Change  request  •  ConfiguraCon  audit  findings  •  ConfiguraCon  management  plan  •  Data  model  •  Deployment  model  •  Deployment  plan  •  Design  guidelines  •  Design  model  •  Development  case  •  Development-­‐organizaCon  assessment  •  End-­‐user  support  mateirla  •  Glossary  •  ImplementaCon  model  •  InstallaCon  arCfacts  •  IntegraCon  build  plan  •  Issues  list  •  IteraCon  assessment  •  IteraCon  plan  •  Manual  styleguide  •  Programming  guidelines  •  Quality  assurance  plan  •  Reference  architecture  •  Release  notes  •  Requirements  a;ributes  •  Requirements  

management  plan  •  Review  record  •  Risk  list  •  Risk  management  plan  •  So2ware  architecture  

document  •  So2ware  development  

plan  •  So2ware  requirements  specificaCon  •  Stakeholder  requests  •  Status  assessment  •  Supplementary  business  specificaCon  •  Supplementary  specificaCon  •  Target  organizaCon  assessment  •  Test  automaCon  architecture  •  Test  cases  •  Test  environment  configuraCon  •  Test  evaluaCon  summary  •  Test  guidelines  •  Test  ideas  list  •  Test  interface  specificaCon  •  Test  plan  •  Test  suite  •  Tool  guidelines  •  Training  materials  •  Use  case  model  •  Use  case  package  •  Use-­‐case  modeling  guidelines  •  Use-­‐case  realizaCon  •  Use-­‐case  storyboard  •  User-­‐interface  guidelines  •  User-­‐interface  prototype  •  Vision  •  Work  order  •  Workload  analysis  model  

Henrik Kniberg

Compare for understanding, not judgment

Weeks  

iterative development enabled us to continuously deliver value

Customer withdraws cash As a customer, I want to withdraw cash from an ATM, so that I don’t have to wait in line at the bank.

Ref:  h;p://dannorth.net/introducing-­‐bdd  

User stories were our “placeholders for conversations”

To DO Doing Done

Family 1

Unplanned Next

Burndown

Days

Wo

rk L

eft

Every day, we held a quick standup meeting to synchronize our efforts

Good Bad Next

Do more Do Less

Stop Doing

Start Doing

Keep Doing

Every 2 weeks, we demonstrated what we built and held a team retrospective

Product owners, scrum masters, teams and management worked together to create value & remove impediments

Visibility Adaptability

Business  Value Risk

Agile  Development Traditional  Development

what can you expect from an agile team/organization?

We crafted opinionated software

“The best software has a vision. The best software takes sides. … Decide what your vision is and run with it.” -- 37 signals

We won awards and respect…

we could almost touch the sky…

Almost

“July 2009 was the wettest July on record in Ireland”

I’ll remember it as the month

matteo was born

But it is also the month I had to let go of a dream

…Like sand through my fingers

… so I became a Lean & Agile consultant!

On my first mission, a cio asked me a question that haunts me to this day…

“If you were so smart, why did you fail?”

2 Lean

Software Development

I became increasingly intrigued by the rise of Lean and its influence in the agile circles

There are 7 principles of lean thinking which are most relevant to software development

Eliminate Waste Build quality in Create knowledge Defer commitment Deliver fast Respect for people Optimize the whole

Lean is heavily inspired by Toyota’s breakthroughs in operational excellence

All we are doing is looking at the timeline from the moment the customer gives us an order to the point we can collect the cash. And we are reducing that timeline by removing the non-value-added wastes.

--- Taiichi Ohno, Founder of TPS

What do You

know about Kanban?

Kanban Enables

Just-in-time

Kanban has 5 rules:

1.  Visualize your workflow

2.  Limit your “Work in process” (WIP)

3.  Measure and optimize flow

4.  Write Explicit policies

5.  Improve collaboratively

Kanban starts from wherever

your are already! (Kanban + SDLC)

One  day  in  Kanban  land  (1/6)  Courtesy  of  Henrik  Kniberg  (www.crisp.se)  

Ref:  h;p://is.gd/3gAIO  

One  day  in  Kanban  land  (2/6)  Courtesy  of  Henrik  Kniberg  (www.crisp.se)  

Ref:  h;p://is.gd/3gAIO  

One  day  in  Kanban  land  (3/6)  Courtesy  of  Henrik  Kniberg  (www.crisp.se)  

Ref:  h;p://is.gd/3gAIO  

One  day  in  Kanban  land  (4/6)  Courtesy  of  Henrik  Kniberg  (www.crisp.se)  

Ref:  h;p://is.gd/3gAIO  

Have you noticed?

Explicit limits enable a

collaborative game

One  day  in  Kanban  land  (5/6)  Courtesy  of  Henrik  Kniberg  (www.crisp.se)  

Ref:  h;p://is.gd/3gAIO  

One  day  in  Kanban  land  (6/6)  Courtesy  of  Henrik  Kniberg  (www.crisp.se)  

Ref:  h;p://is.gd/3gAIO  

Kanban is a great enabler, but it represents only the tip of the iceberg…

1.  What Toyota does

2.  Identifying and removing waste

3.  A problem-identifying and problem-solving system

As a consequence, there are many possible definitions of Lean, all somewhat limited

During my extensive work on “a3 thinking”*, a Toyota management process to systematically solve problems, improve and mentor…

(*) I’m writing a book about it!

I discovered that a3 thinking = Lean thinking, a vivid expression of the scientific method!

“Hence, I offer you my own definition”

“ (*) replace with “create customer value” or “reach results”, if you prefer

Lean is a business strategy to make money* THROUGH the development of people

Using Lean and agile, I brought success to many clients, from large enterprises to fast-growing companies around Europe

But that old question still

remained unanswered…

… Until one day

3 Lean Startup

… I entered a new world

Build

Measure

Learn idea

Product data

Today I have opinions assumptions

… which I validate through experiments

… that force me to “get out of the building”

… iterate my solutions with low fidelity MVPs

… and Activate enthusiastic earlyvangelists with a glimpse of a future that will come

Strategy vs. Execution

So, where is the sweet spot?

Final Thoughts

--- Me (1967 - )

They create the conditions to inevitably converge to it.

Smart entrepreneurs don’t dream of success. “

Thank  you!  

Claudio  Perrone  

[email protected]  www.agilesensei.com  www.twi;er.com/agilesensei  

Evaluate your own learning!

What did you learn? How will you apply it? How will it benefit your venture? Suggestions or questions you still have?

[email protected] www.agilesensei.com www.twitter.com/agilesensei

Write down…