Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team...

58
Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director

Transcript of Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team...

Page 1: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Lean Principles, Agile Techniques and Team SystemJoel SemeniukImaginetMicrosoft MVP – Team SystemMicrosoft Regional Director

Page 2: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

History Lesson

Kiichiro ToyodaSon of Sakichi Toyoda

Taiichi Ohno

Answered the Challenge – Developed a Method

Evolved Into Toyota Production System

1927: Toyoda Automatic Loom Works revolutionized the Loom – key, high precision, interchangeable parts

1945: Challenge Company to catch up to

America

Page 3: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Two Pillars of TMS

• Just-in-Time Flow• Completely against conventional wisdom• Found it to be the only model to effectively manage

complexity

• Autonomiation• Jidoka• Work is organized such that the slightest abnormality

is immediately detected• Once detected, work stops, cause of problem remedied

before work resumes• Organization has reflexes – respond instantly and

correctly to events without having to go to the “brain” for instruction.

Page 4: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

From Then to Now

• TPS was ignored until oil crisis of 1973

• Slowdown filtered out average companies

• Soon, Japan was out producing America

Page 5: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Evolution

TPS Just InTime

Lean

LeanSuppl

y Chain

Prod Dev

Lean Software Development

Page 6: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Team System Review

Page 7: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Myth 1: Early Specs Reduce Waste

• Tell me everything you need up front because it will save us time reworking mistakes.

Page 8: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Not Adding

Value

Preventin

g Valu

e

Waste

Principle 1: Eliminate Waste

Page 9: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Recognize Value

Recognize Waste

Eliminate Waste

Principle 1: Eliminate Waste

Value Changes

Constantly

Page 10: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Principle 1: Eliminate Waste

Waste

Partially Done Work

Extra Features

RelearningHandoffs

Task Switching

Delays

Defects

Page 11: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Partially Done Work• Also Called “Inventory”• Goal – develop, integrated, test, document,

deploy in a single, rapid flow• Examples :• Uncoded documentation – stale requirements• Unsynchronized code – unmerged branches in

source control• Untested code – writing code without a way to

detect defects creates partially done work• Undocumented code – done as code is written• Undeployed code – deploying as soon as possible

incrementally

Page 12: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Partial Work – Good Practices

•Use fixed short duration iterationsDO•Tight control over branching and mergingDO•Always have a way of detecting defectsDO•Document code as it is writtenDO•Deploy as soon as the code is writtenDo

Page 13: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Extra Features

• No Value? Don’t Develop It!• What’s bad about extra features?

Added Complexity

Added

Work

Added Maint

Added

Debug

Page 14: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Extra Features – Good Practices •Use common senseDO

•Focus on customer’s job – !featuresDO•Be bias against adding featuresDO•Architect with good patternsDO

Page 15: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Relearning• Forgetting

• People forget things• Make the same mistake twice• Rediscover things we have forgotten

• Ignoring• Not involving the right people during the

development process

• Problem• Documenting all design decisions as they are

made• This documentation is never looked at again• So, we just stop documenting all together

Page 16: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Relearning – Good Practices

•Just in Time Learning•Do not have an inventory of things to forget

DO

•Continually involve the usersDO

•Capture learningDO

Page 17: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Handoffs

• How do you hand off? Documentation?

• Tactical knowledge is key• Handoffs degrade tactical knowledge

Page 18: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Handoff – Good Practices

•Reduce handoffsDO

•Use design-build teamsDO

•High bandwidth communicationDO

•Early releasesDO

Page 19: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Task Switching

• Distracting & detracts from the result of both tasks

• Wasting time “resetting” context - Human’s aren’t CPU’s

• Humans are most efficient at 2 concurrent tasks

• Over 3 tasks and overall proficiency goes down

1 2 3 40

5

10

15

20

Efficiency

Page 20: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Task Switching – Good Practices

•Rotate in/out maintenanceDO

•Carve off time during a day where team handle defects vs new featuresDO

•Set aside time to triage workDO

•Try to maintain a single code baseDO

Page 21: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Delays

• Waiting for people who have information is wasteful

Question

Immediate

Answer

No

Waste

Page 22: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Delays – Good Practices

• Complete, collocated teams DO

• Short iterations with regular feedbackDO

• Make sure knowledge source is available when and where neededDO

• If information isn’t immediately available• Stop, Switch, GuessDO

Page 23: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Defects• Code + set of tests that do not let defects back

into code• Proves that the code does what we think it should

do and doesn’t fail the way we anticipate• Sign of a healthy agile team – very low defects

• Mistake proof code• Find defects early and ensuring they don’t come back

• Inspection to prevent defects is required• Inspection to find defects is a waste• Test harness allows safety net for further changes

Page 24: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P1: Defects – Good Practices

•Prevent or find defectsDO•Unit testingDO•Test Driven DevelopmentDO•Check-in policiesDO•Gated CheckinsDO•Continuous IntegrationDO•Continuous DeploymentDO

Page 25: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Reduce Waste and VSTSUnit Testing and Code Coverage*

Continuous Integration &

Extensible Build

Code Review Work Item

Traceability

Triage

Iteration Based Scheduling

Alerts

Unplanned Work

Prioritization

Page 26: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Myth 2: The Job of Testing is to Find Defects

Page 27: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Principle 2: Build Quality In

• Build quality in from the start• Avoid creating defects in the first place• Inspection to prevent defects is required• Inspection to find defects is a waste

• If you can’t prevent defects – inspect often

• When you find a defect• Fix it immediately• Put in a test so that it doesn’t come back

Page 28: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

•Prevent or find defectsDO•Unit testingDO•Test Driven DevelopmentDO•Check-in policiesDO•Gated CheckinsDO•Continuous IntegrationDO•Continuous DeploymentDO

P2: Build Quality In – Good Practices

Page 29: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Built In Quality and VSTSUnit Testing and Code Coverage

Check-in Policies

Automated Web Testing

Extensible Build and Deploy

Page 30: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Myth 3: Predictions Create Predictability

• Plans MUST be an accurate prediction of the future, that is what planning is for – to accurately predict the future!!!!

Page 31: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Principle 3: Create Knowledge• Predictions about future will be wrong

if:• Complex• Detailed• About the Future• About an Uncertain Environment

• You can still be reliable even with uncertainty

• Predictions are not facts

Page 32: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P3: Knowledge – Good Practices

• Reduce response timeDO•Embrace software development as a knowledge creating processDO•Detailed design during codingDO•Expect design will evolveDO•Lock down design prematurelyDO NOT

Page 33: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P3: Knowledge – More Good Practices

•Early release of minimum featuresDO•Daily builds and integration testsDO•Choose a leader with experience and instinctsDO•Modular architectureDO•Optimize the Software Development ProcessDO

Page 34: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Knowledge and VSTSProcess

Improvement WIKI

Continuous Integration

Process Template

Modifications

Tracking Variance

with Work Items

Page 35: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Myth 4: Planning is Commitment• Planning is required, especially on

large government projects – how else can we get what we want?

Page 36: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Principle 4: Defer Commitment• “In preparing for battle I have

always found that plans are useless, but planning is indispensable”

Dwight Eisenhower

Page 37: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P4: Defer Commitment – Good Practices

•Decisions – wait until you have most infoDO•Try to make all decisions reversibleDO•System doesn’t need 100% flexibilityDO•Experiment with options, be openDO•Ensure planning not commitmentDO•Plan thoughtfully, commit sparinglyDO

Page 38: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Defer Commitment and VSTS “Spike”

Branches

Tracking Options

Page 39: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Myth 5: Haste Makes Waste

• You must take your time, plan, and ensure you do it right the first time…

Page 40: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Principle 5: Deliver Fast

• Companies that compete on time usually have significant cost advantage over competitors

FACT

Page 41: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P5: Deliver Fast – Good Practices

•Use tight feedback loopsDO

•Use Repeatable and reliable speed = quality and low wasteDO

•Have engaged, thinking people who make good decisions and help each other outDO

•Have standards! But constantly experiment to find better waysDO

Page 42: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Deliver Fast and VSTS

Process Guidance

Coding Conventions

Code Build Deploy

Code Analysis

Page 43: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Myth 6: There is one best way• For everything….

Page 44: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Principle 6: Respect People

• There is no “one best way”• There is no process that can’t get better• Never-ending continuous improvement

should be found in every team/organization

• Cornerstone to continuous improvement = PEOPLE

• Software engineering is primarily a PEOPLE process – embrace it

Page 45: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P6: 3 Cornerstones• Embrace Entrepreneurial Leader• Foster engaged, thinking people• Focuses efforts on creating a

great productDO

• Embrace Expert Technical Workforce• Continually develop and nurture

technical experience as a culture

DO

• Responsibility-Based Planning and Control• Give team general plans, reasonable goals

and trust to self-organize• Develop reflexive organization where

people think for themselves around common set of principles

DO

Page 46: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Respect People Review

Assigning Work Items to a Team

Page 47: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Myth 7: Optimize by Decomposition

Page 48: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Principle 7: Optimize the Whole• Optimizing parts <> optimize the

whole• Find a higher measure that will drive

the right results for the lower level metrics

Page 49: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

P7: Optimize – Good Practices

•Value based process improvementDO•Refocus entire value stream often DO•Don’t be afraid to re-prioritize – look at all of the requirements as a wholeDO•Make time to TriageDO•Sprint Planning is a good exampleDO•Continually evolve your processesDO•Gather and processes metricsDO

Page 50: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Optimize the Whole and VSTSContinually

evolve work items

Continually Evolve Process

Templates

Reflect with Reports and

Analytics

Page 51: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Recap: The 7 Principles Are

• Eliminate Waste• Build Quality In• Create Knowledge• Defer Commitment• Deliver Fast• Respect People• Optimize the Whole

Page 52: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Some things I didn’t say

• Eliminate waste ≠ no documentation

• Amplify Learning ≠ keep changing your mind

• Decide as late as possible ≠ procrastinate

• Deliver as fast as possible ≠ rush and produce sloppy results

• Empower the team ≠ abandon leadership

• Build in quality ≠ big, upfront design

• Optimize the whole ≠ ignore details

Page 53: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Other Related Practices• Seeing Waste• Value Stream Mapping• Self-Based Development• Pull Systems• Queuing Theory• Motivation• Measurements

Page 54: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

This All Fits TogetherLean

Page 55: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

References For You

Page 56: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Of Course….

ME!

Book signing at 5:30

on Thursda

y

Page 57: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.

Thoughts? Questions?

Page 58: Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.