Kaizen-driven development

#Kaizen #LEAN
#CULTURE #OWNERSHIP
#SOCIALCONTRACT #mindset
#AUTONOMY #accountability

Building
good
Software

products

>> WHO AM i?

Sebastian Gebski - architect, manager, geek, blogger, codefella, serial reader, smartass.

I do build & develop Teams
       
to create great products.

the
hardest
challenge?

scaling

economies
of scale

complexity

people

organization

preserving culture

technology

Business

copying
unicorns

buzzword lottery

create

position

change
figures

everyone, meet

Company x

>> x in numbers

  • $100+M official valuation

  • 20% quarterly growth

  • global (100+ countries)

  • headcount: 100

  • a scale-up

  • only organic growth (4.5 years)

>> interesting FACTS

1. NO CODERS, ONLY PRODUCT DEVELOPERS
2. 75% OF COMPANY = PRODUCT ENGINEERING
3. NO PROJECT MANAGERS
4. NO SCRUM
5. NO HR / recruiters
6. NO marketing
7. NO "BUSINESS-IT" WALl
8. 135% headcount growth in 15 months

>> saTISFIED? complacent?

>> it's like
     climbing

>> next steps?

(by will larson, autor of "an Elegant Puzzle")

src: https://lethain.com/productivity-in-the-age-of-hypergrowth/

>> to blitzscale?

src: https://www.blitzscaling.com

blitzscaling is prioritizing
speed over efficiency
in the face of uncertainty


rEID HofFMAN

(toss aside)
careful planning, cautious investment, solving all problems
in favor of:
rapid guesstimates, inefficient investment, letting small fires burn


rEID HofFMAN

post-scrum era

inspirations

1. kaizen
2. toc
3. system's theory

>> What's KAIzen?

src: https://commons.wikimedia.org/wiki/User:Majo_statt_Senf
  • improvement

  • continuouS

  • FACT-based

  • bottom-up

  • eliminate MUDA

0.99 ^ 365 = 00.02
1.01 ^ 365 = 37.78

>> kaizen
     math

yes, but ...

1.01 * 1.01 = 1.02
0.99 * 0.99 = 0.98
1.00 * 1.01 = 1.01
1.00 * 0.99 = 0.99

>> technical debt

>> model debt

>> poor quality

>> complexity

>> knowledge xchg

>> dependencies

>> communication

>> lava flow effect

>> genba
     place

>> genbutsu
     thing

>> genjitsu
     facts

>> what's
     muda?

1. transport

2. inventory

3. motion

4. waiting

5. overproduction

6. over-processing

7. defects

1. non-Released code

2. proxied communication

3. dependencies

4. bad planing

5. gold-plating

6. defects

>> theory of constraints

eliyahu

goldratt

The

goAl

1. understand the flow

2. IDENTIFY THE CONSTRAINT

3. BREAK IT (only)

4. goto 2

>> system's theory

system's properties

>> interrelated/dependEnt partS

>> spatial/temporal boundaries

>> has PURPOSE/nature

>> with structure & dynamics

>> greater than the sum of its parts

>> system - example

>> Lessons learned

1. fix issues on the spot
2. eliminate muda
3. genba genbutsu
4. fix the constraint only
5. visualize the problem

{AUC} awareness

1. critical thinking

2. introspection

3. questioning attitude

4. candor

{AUC} understanding

1. data, not opinions

2. what's meaningful

3. correlation

4. causation

{AUC}  clarity

1. of where to start

2. of how to measure

3. of what to do

4. of ownership

>> KDD in action

A. Recruitment
    is engineers' job

problem:
how to
reach & recruit
best people

  • it's HR problem!
  • bring more perks
  • more cold sourcing!
  • outsourcing / team augmentation
  • "what does Google do?"
  • lowering the expectations

>> STD solutions

>> A bit of System's Theory

{AUC}

  • no-one knows us (product)
  • no-one knows us (eng. brand)
  • there are no Elixir devs in Warsaw
  • our strong points are hard to grasp
  • Ruby community is small but scattered

>> Real problems

{AUC}

  • what's our 'hedgehog' concept?

  • 'CULTURE, YOU FOOLS'

>> differentiate

{AUC}

  • Sourcers/HH are Muda!

  • ENGINEERS ARE THE BESt RECRUITERS

>> it's about selling

{AUC}

  • role of skills

  • unique challenge

  • RX ftw

>> memorable

{AUC}

B. Triumvirate
    Takes over

problem:
how to make
sure that things
will happen?

  • just do Scrum (like everyone else)
  • proxy more efficiently
  • create positions of control
  • committies, committies, commities

>> STD solutions

  • why some companies are more effective than others (by LoM)?
  • what does cause dis-effectiveness?
  • do we need project managers?
  • when does the self-organization happen & how to support it?

>> Real problems

{AUC}

>> drivers & passengers

{AUC}

1. no drive = muda

2. someone has to CARE for what you do

>> different strengths

{AUC}

>> avoiding
     vacuum

{AUC}

1. local ownership = muda
2. delayed integration = muda
3.
miscommunication = MUDA

1. product

2. architecture

3. DELIVERY

{AUC}

triumvirate

1. a is for accountability

2. all succeed or all fail

3. radical candor

>> everyday leadership

{AUC}

1. making things happen

2. being a role model

3. inspiring others

4. challenging directly

C. SKIN IN The GAme
    We're all in it

problem:
how to keep
people engaged

  • salary raise / bonuses
  • 'up-or-out' career model
  • pep talks
  • carrot & stick
  • just ... bring more devs!

>> STD solutions

  • how to recognize & boost one's motivation
  • how to ignite intrapreneurship
  • fair reward for effort
  • alignment of goals
  • long-term loyalty

>> Real problems

{AUC}

>> social contract

{AUC}

1. what to expect

2. what is expected

3. aligning goals

>> product
     focus

{AUC}

1. domain is obligatory

2. full participation

3. coders = muda

4. rockstars are toxic

>> partnership

{AUC}

1. become a co-owner

2. same rules for everyone

3. not related to position

D. development Agility
    goes 1st

problem:
ever-increasing
inertia and friction

  • entry threshold raises
  • unit cost of development raises
  • pains of past decisions
  • rotten compromises

{AUC}

>> Real problems

>> pure
     
coding in coding

{AUC}

1. layers of abstraction - muda!
2. boilerplate - muda!
3. repetitions - muda!
4. waiting time - MUDA!

>> entropy

{AUC}

1. tech debt - muda!
2. model debt - muda!
3. tribal knowledge - muda!
4. accidental complexity - MUDA!

>> DECISION
     
making

{AUC}

1. direct democracy = muda!
2. fast, not perfect
3. 100% adherence

>> lava
     
flow
     effect

{AUC}

1. transition plan in Dod
2. clean-up in Dod
3. measure transition progress

>> slice'n'dice

{AUC}

1. Multi-LOD architecture
2. coherence in context
3. contracts (promises)

>> architecture
     doesn't happen by chance

{AUC}

1. fire-fighting mode = muda!
2. pro-active > re-Active
3. allocate time & people

>> fluent
     
stream

{AUC}

1. small things accumulate fast
2. indifference breaks culture
3. delay = muda
4.
best learning = hands on

E. BOSSLESS,
    aka role-driven

problem:
how to balance
control & autonomy

  • neo-feudal hierarchy
  • supervision & reporting
  • policies & regulations
  • over-generalizing brilliant individuals

>> STD solutions

  • fairly assessing performance
  • (almost) everyone wants to grow
  • what is "seniority" ...
  • ... and how to "use" it
  • avoiding HiPPO supremacy

>> Real problems

{AUC}

>> growth:
     
organization
     vs
     People

{AUC}

>> marines,
     
soldiers,
     and police

{AUC}

>> values
     & principles

{AUC}

1. distributed decision-making
2. policies / rules are muda!

>> seniority
     equals leverage

{AUC}

1. leverage = meaningful impact on others
2. each path allows growth
2. proxying = muda!
3. consultants = MUDA!

>> ability
     to execute

{AUC}

>> Role defines
     accountability

{AUC}

1. 'contracts'
2. roles evolve (to needs)
3. you need to 'sell' your role
4. you decide where to act

Everyday kaizen - tips

fist of five

northern star metric

goal metrics

action metrics

VS

controlled experiments

post-mortem

cognitive bias

devil's advocate

All rights reserved. Copyright by Vyacheslav Safronov

information
radiators

>> Conclusions

>> it's *ALL*
     about
     mindset

>> continuous
     
improvement as a
     part of culture

>> marathon
     not
     sprint

>> These are
     engineers'
     problems

>> be where
     the work
     really is

>> total
     ownership

>> think for
     yourself

>> everyone has to lead

Sebastian Gebski
https://no-kill-switch.ghost.io
@liveweird

STASH

principles as pillars

Metrics - the right way

side-effect

of work

5xwhy

elephant & Rider

>> STOP
     
the line!

{AUC}

1. needs measuring
2. needs ownership
3. needs time
4. element of culture

1. autonomy for people who have the knowledge

2. democracy is overrated

3. clear RESOLUTION PROTOCOL

4. 100% ADHERENCE

5. fast decision making

6. PERFECTION IS EVIL

7. decisions are actionable

{AUC}

>> runway tactics

{AUC}

1. recognize the path

2. investments

3. specializations

>> balance

let the

big boys in

1x engineer vs
10x engineer?

0.1x engineer vs
1x engineer

{AUC}

>> shared

     goals, KPIs

1. a is for accountability

2. all succeed or all fail

3. radical transparency

4. radical candor

>> TASK-oriented
     VS
>> goal-oriented

{AUC}

1. don't hire task-based

2. self-made commitments

toyota
production
system

>> share
     
pains & Gains

{AUC}

1. all parties benefit

2. all parties contribute

3. make the case

>> dev
     
agility

{AUC}

cost of 'unit' business change

>> transparency

{AUC}

1. step into others' shoes
2. position is never based on info asymmetry
3. siloing data = muda!

>> fixed
     
mindset
     vs
>> GROWTH
     
MINDSET

{AUC}

>> being a real
     software
     Engineer ...

Kaizen-Driven Development

By Sebastian Gębski

Kaizen-Driven Development

Carve your own path, one step at a time.

  • 1,056