SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
SCRUM & TECHNICAL DEBT




              CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                               1
Joe Little

• Agile Coach & Trainer
• 20+ years in senior level consulting to well-known firms in New York, London and
  Charlotte
• Focus on delivery of Business Value; interest in Lean
• CST, CSP, CSM; MBA
• Was Senior Manager in Big 6 consulting
• Head of Kitty Hawk Consulting, Inc. since 1991
• Head of LeanAgileTraining.com
• Started trying to do [Agile] before reading The Mythical Man-Month

    –   http://agileconsortium.blogspot.com
    –   jhlittle@kittyhawkconsulting.com




                                                           © Joe Little 2010
                                                                               2
Customers want a quality
product quickly.




                      © Joe Little 2010
                                          3
What is technical debt
How would you notice it?

A velocity that is based on a weak definition of
done is just a lie!!!

"Scrum made me go too fast!" NO!!!

The bad news does not get better with age

How do we explain technical debt to the
product owner?
How do we explain technical debt to the
managers?
                                     © Joe Little 2010
                                                         4
The importance of a definition of done in
Scrum
The importance of professionalism in Scrum
The importance of strong engineering
practices in Scrum
Scrum assumes your engineering practices are
not "perfect"

Why is Scrum only a framework?

Some key engineering practices (mostly from
XP)

Incentives
                                  © Joe Little 2010
                                                      5
Scrum Dynamic Model

              Daily
             Meeting



                       Sprint
                        I
         R              M        D
                        P
         E              E        O
         A              D        N
         D              I        E
                        M
 Value   Y              E                     Velocity
                        N
                        T
                        S

                                CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                 6
Technical Debt is bad. Period.
Very bad!




                       © Joe Little 2010
                                           7
What is Technical Debt?

And why is it bad? (Very bad.)




                          © Joe Little 2010
                                              8
A velocity that allows technical
debt to be built is a lie!

A velocity that is built on a
weak definition of done is a lie!



                         © Joe Little 2010
                                             9
“Scrum made us go too fast!”

No!




                       © Joe Little 2010
                                           10
Definition of Done
    needed to split stories                    Default Definition of Done
                                               • Automated tests, built & run
Default Definition of Done                     • No bugs
                                               • Acceptance tested
• Releasable                                   • Release notes written
                                               • Releasable
                                               • No increased technical debt
   Default Definition of Done
   • Unit/Integration tested
   • Accepted by PO
   • Ready for acceptance test
   • Deployed on demo server                                 = I haven’t made
                                                           the codebase hard to
                                                                  change
  What’s NOT included in DoD?
  - Example: ”customer acceptance test + user documentation”?
  Why not? Who does it? When? What happens if a problem turns up?



  Source: Henrik Kniberg                              CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                                          11
Topic: Velocity & technical debt
                                                                   Queue
                                                                         theory
                                                Chaos theory                                      Principles
                             e   arch
                         Res            Agile            Lean      Game theory

                          History           Philosophy   More theory...




                                                   m
                                            Scru       XP
                                                                   Practices



                                                                                            Implementation

                                                         Company
               Company                                         B                      Company
                         A                                                           Company
                                                                                                C
Source: Henrik Kniberg                                                                         C
                                                                      CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                                                      12
Clean & simple
                                                                                         Dog.java v1.1
Dog.java v0                     Dog.java v1.0                                            Big & hairy
                                Quick & dirty                    import java.sql.Connection;
                                                                 import java.util.concurrent.ExecutorService;
                                                                 import java.util.concurrent.Executors;

                                                                 public class Dog {
                    public class Dog {                           private Executor executor = Executors.newFixedThreadPool(18);
                                                                 private int CACHE_SIZE = 50;
                      public static void main(String[] args) {
                         System.out.println("WOOF 1!");          public Dog()
                                                                 {
                         System.out.println("WOOF 2!");          try
                                                                 {
                      }                                               Class.forName("oracle.jdbc.ThinDriver");
                                                                      connection = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin",
                    }                                            "beefhead");
                                                                      statement = connection.prepareStatement("insert into Dog values (?, ?, ?)");
                                                                      } catch (ClassNotFoundException e) {}

                                                                 new Thread().start();
                                                                 }

                                                                 public void woof(Person woofCaller) {
                                                                 Connection connection = null;
                                                                 PreparedStatement statement = null;
                                                                 try {
                                                                      connection = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin",

       Dog.java v1.2                                             "beefhead");
                                                                      statement = connection.prepareStatement("insert into Dog values (?, ?, ?)");
                                                                      statement.setLong(1, System.currentTimeMillis());

       Clean & simple                                                 statement.setString(2, person.getName());
                                                                      statement.setString(3, person.getPhoneNumber().getNumber());
                                                                      statement.executeUpdate();
                                                                      }
                                                                      }
                                                                 }
public class Dog {                                               } Connection a = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin",

   private final String name;      Simple code:                  "beefhead");
                                                                 b =    a.prepareStatement("select * from Dog where name = '" + name + "'");
                                                                   c = b.executeQuery();
   private int woofCount = 0;
                                   1.Passes all tests            if (c.next()) {
                                                                 String foundName = c.getString("name");
                                                                      PhoneNumber phoneNumber = new PhoneNumber(c.getString(“woofCount"));

    public Dog(String name) {      2.No duplication                   Person person = new Person(foundName, phoneNumber);
                                                                 return person;
        this.name = name;                                        } else {

    }                              3.Readable                    }
                                                                      return new Person("", null);




    public void woof() {
                                   4.Minimal                     } catch (SQLException e) {
                                                                      return null;
                                                                 } catch (IllegalArgumentException x) {
                                                                      throw x;
        ++woofCount;                                                  }
                                                                 }
    }
}                                  Simple is hard!               public List<Person> getAll() {
                                                                      connection = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin",
                                                                 "beefhead");
                                                                      statement = connection.prepareStatement("insert into Dog values (?, ?, ?)");
                                                                      statement.setLong(1, System.currentTimeMillis());
                                                                 }
                                                                 if (statement != null) {
                                                                 if (c.next()) {

     Henrik Kniberg                                              String foundName = c.getString("name");

                                                                   CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                      PhoneNumber phoneNumber = new PhoneNumber(c.getString(“woofCount"));
                                                                      Person person = new Person(foundName, phoneNumber);
                                                                 return person;
                                                                 } else {
                                                                                                                      13
Velocity calibration
Estimated       Actual
Velocity        Velocity   Estimated           Actual
    40             30          40                   30
    30             28          40                    30
    30             31          40                   30
    30             30

Estimated       Actual     Estimated            Actual
    40             30        30 40                   35
    50              30       25 35                   30
    60             30        20 30                   25

  Source: Henrik Kniberg            CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                    14
Technical debt & release planning

Remaining
story points

       400
                                    We’ll be
                                    done by
       300                         sprint 10!
                                                       Sorry, we’re late!
                                                     We should definitely
       200                                           by done by sprint 12!   Um... we’re done
                                                                             when we’re done!


       100




               1   2   3   4   5    6   7   8   9 10 11 12 13 14 15
                                            Sprint


      Source: Henrik Kniberg                                                 CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                                                             15
3 roles
                                                                                           • Product owner
                                                                                           • Scrum master
                                    Definition of Done                                     • Team

    Technical debt                  • .... bla bla ....                                    3 artifacts
                                                                                           • Product backlog
                                    • No increased technical debt                          • Sprint backlog
              Code duplication                                                             • Sprint burndown


              Test coverage
                                                                                           4 activities
                                                                                           • Sprint planning
                                                                                           • Daily scrum

              Code readability                                                             • Sprint review
                                                                                           • Retrospective

Vmax                                     Vmax
Vactual
                                        Vactual
                                                                       Sustainable pace!
   velocity




                                           velocity


                             time                                         time

    Source: Henrik Kniberg                            CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                                      16
3 roles
                                                                                                                           • Product owner
                                                                                                                           • Scrum master
                                                                                                                           • Team


          Dealing with technical debt                                                                                      3 artifacts
                                                                                                                           • Product backlog
                                                                                                                           • Sprint backlog
                                                                                                                           • Sprint burndown

                                                                                                                           4 activities
                                                                                                                           • Sprint planning
                                                                                                                           • Daily scrum
                                                   Definition of Done                  Definition of Done                  • Sprint review
                                                                                                                           • Retrospective
Vmax                                               • .... bla bla ....                 • .... bla bla ....
                                                   • No increased technical debt       • Technical debt decreased
Vactua
  l                Ro
                        ad
                             to
      velocity




                                  he
                                       ll

                                                                                                                     pa   ce!
                                                                                                            a   sing
                                                      Sustainable pace                              Incre
                                                                                       Second step
                                                   First step                          (optional)
                                                   Slow down                           Slow down even more
                                                   Stop accumulating debt              Start repaying debt



                                            time
          Source: Henrik Kniberg                                                   CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                                                                                     17
Knowledge decays fast

 Don’t let any bugs escape the Sprint




                              CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010
                                                              18
Time cost of&defects for you?
                  Itera&ve	
   	
  Incremental	
  


                 Relative Cost of defects if fixed later
50

45

40

35

30

25

20

15

10

 5

 0
10 minutes    1 hour   Same Day   Next Day   1 Week   2 weeks   1 month   2 months
The bad news does not get better with age!!!

We have to go slow to go fast.




                                   © Joe Little 2010
                                                       20
How do we explain Technical
Debt to the Product Owner?

How do we explain Technical
Debt to the manager?



                      © Joe Little 2010
                                          21
The importance of a definition
of done.

We recommend a detailed
Definition of Done, that is clear
about how we will not build
technical debt.
Technical debt & Scrum.
  Engineering practices
  Improvements
  Framework
Key Engineering Practices




                 Which ones??
Key Engineering Practices

  ...pair programming
  ...TDD
  ...continuous integration
  ...refactoring, refactoring, refactoring
  ...10 minute build
  ...automatic unit tests
  ...automated functional tests (other names)
  ...automated other testing (regression
  especially)
How do we give the team the
proper incentives?

(Or avoid the wrong
incentives??)
What do we measure to assure
proper incentives?
* We focus on speed and low
work-in-process.
* We see the impediments
better.
* We fix the root causes.
* Over time, this enables
everything: cheaper, higher
quality, faster, more what they
want.
The End



   Please send me your comments and
suggestions. This is an important topic. If
it were easy, we as an industry would not
 have this problem. So, I appreciate your
                 feedback.

        jhlittle@kittyhawkconsulting.com
            http://leanagiletraining.com

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Dataopenservices
 
Framework Engineering_Final
Framework Engineering_FinalFramework Engineering_Final
Framework Engineering_FinalYoungSu Son
 
Mary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractMary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractAgile Lietuva
 
The CIO Agenda: How to be Relevant in 2010
The CIO Agenda:  How to be Relevant in 2010The CIO Agenda:  How to be Relevant in 2010
The CIO Agenda: How to be Relevant in 2010Jim Vaselopulos
 
How to Re-architect Teamcenter Footprint
How to Re-architect Teamcenter FootprintHow to Re-architect Teamcenter Footprint
How to Re-architect Teamcenter FootprintMatt Tremmel
 
Effective Questioning for ITSM
Effective Questioning for ITSMEffective Questioning for ITSM
Effective Questioning for ITSMITSM Academy, Inc.
 
ATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerJim Jenkins
 
Its mf tunisia-dynamiques-agiles-v1.1b
Its mf tunisia-dynamiques-agiles-v1.1bIts mf tunisia-dynamiques-agiles-v1.1b
Its mf tunisia-dynamiques-agiles-v1.1bLaurent Sarrazin
 
Mobilizing Citizen Engineers to Impact Complex Systems - RallyforImpact
Mobilizing Citizen Engineers to Impact Complex Systems - RallyforImpactMobilizing Citizen Engineers to Impact Complex Systems - RallyforImpact
Mobilizing Citizen Engineers to Impact Complex Systems - RallyforImpactRyan Martens
 
Agile Project Management - coClarity
Agile Project Management - coClarityAgile Project Management - coClarity
Agile Project Management - coClarityGerard Hartnett
 
Enterprise IPv6 Deployment
Enterprise IPv6 Deployment Enterprise IPv6 Deployment
Enterprise IPv6 Deployment Cisco Canada
 
Представляем новую методологию управления сложными проектами - Project Manage...
Представляем новую методологию управления сложными проектами - Project Manage...Представляем новую методологию управления сложными проектами - Project Manage...
Представляем новую методологию управления сложными проектами - Project Manage...Vadim Bogdanov PMP, PfMP, MVP, MCT, MCTS
 
Its mf presentation-dynamiques-agiles-v1.1a
Its mf presentation-dynamiques-agiles-v1.1aIts mf presentation-dynamiques-agiles-v1.1a
Its mf presentation-dynamiques-agiles-v1.1aLaurent Sarrazin
 
Hike (hpkb integrated knowledge environment)
Hike (hpkb integrated knowledge environment)Hike (hpkb integrated knowledge environment)
Hike (hpkb integrated knowledge environment)Barbara Starr
 
Bbx Biz Plan Presentation
Bbx Biz Plan PresentationBbx Biz Plan Presentation
Bbx Biz Plan PresentationPaul Brisson
 
Eon nus hci_master_class
Eon nus hci_master_classEon nus hci_master_class
Eon nus hci_master_classTianwei_liu
 

Was ist angesagt? (20)

Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Data
 
Framework Engineering_Final
Framework Engineering_FinalFramework Engineering_Final
Framework Engineering_Final
 
Mary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractMary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contract
 
The CIO Agenda: How to be Relevant in 2010
The CIO Agenda:  How to be Relevant in 2010The CIO Agenda:  How to be Relevant in 2010
The CIO Agenda: How to be Relevant in 2010
 
Introduzione a Scrum
Introduzione a ScrumIntroduzione a Scrum
Introduzione a Scrum
 
How to Re-architect Teamcenter Footprint
How to Re-architect Teamcenter FootprintHow to Re-architect Teamcenter Footprint
How to Re-architect Teamcenter Footprint
 
Effective Questioning for ITSM
Effective Questioning for ITSMEffective Questioning for ITSM
Effective Questioning for ITSM
 
Advanced Scrum
Advanced ScrumAdvanced Scrum
Advanced Scrum
 
ATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course Sampler
 
Its mf tunisia-dynamiques-agiles-v1.1b
Its mf tunisia-dynamiques-agiles-v1.1bIts mf tunisia-dynamiques-agiles-v1.1b
Its mf tunisia-dynamiques-agiles-v1.1b
 
Mobilizing Citizen Engineers to Impact Complex Systems - RallyforImpact
Mobilizing Citizen Engineers to Impact Complex Systems - RallyforImpactMobilizing Citizen Engineers to Impact Complex Systems - RallyforImpact
Mobilizing Citizen Engineers to Impact Complex Systems - RallyforImpact
 
Agile Project Management - coClarity
Agile Project Management - coClarityAgile Project Management - coClarity
Agile Project Management - coClarity
 
Enterprise IPv6 Deployment
Enterprise IPv6 Deployment Enterprise IPv6 Deployment
Enterprise IPv6 Deployment
 
Представляем новую методологию управления сложными проектами - Project Manage...
Представляем новую методологию управления сложными проектами - Project Manage...Представляем новую методологию управления сложными проектами - Project Manage...
Представляем новую методологию управления сложными проектами - Project Manage...
 
P L N 07 B O1 C Naya Making Big Lean Stick
P L N 07  B O1 C  Naya  Making Big Lean StickP L N 07  B O1 C  Naya  Making Big Lean Stick
P L N 07 B O1 C Naya Making Big Lean Stick
 
Its mf presentation-dynamiques-agiles-v1.1a
Its mf presentation-dynamiques-agiles-v1.1aIts mf presentation-dynamiques-agiles-v1.1a
Its mf presentation-dynamiques-agiles-v1.1a
 
Hike (hpkb integrated knowledge environment)
Hike (hpkb integrated knowledge environment)Hike (hpkb integrated knowledge environment)
Hike (hpkb integrated knowledge environment)
 
Al Asbab Profile 4
Al Asbab Profile 4Al Asbab Profile 4
Al Asbab Profile 4
 
Bbx Biz Plan Presentation
Bbx Biz Plan PresentationBbx Biz Plan Presentation
Bbx Biz Plan Presentation
 
Eon nus hci_master_class
Eon nus hci_master_classEon nus hci_master_class
Eon nus hci_master_class
 

Ähnlich wie Technical debt

Bv Eng & Agile Specs For Scrum U.Key
Bv Eng & Agile Specs For Scrum U.KeyBv Eng & Agile Specs For Scrum U.Key
Bv Eng & Agile Specs For Scrum U.KeyLeanAgileTraining
 
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the uglyAmit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the uglyAgileSparks
 
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010Brent Barton
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011Chris Sterling
 
The Lean within Scrum
The Lean within ScrumThe Lean within Scrum
The Lean within ScrumOctav Druta
 
ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)Neil Thompson
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Chris Sterling
 
Intro to BV Engineering Atlanta
Intro to BV Engineering AtlantaIntro to BV Engineering Atlanta
Intro to BV Engineering AtlantaLeanAgileTraining
 
Joe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within ScrumJoe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within ScrumSFA
 
Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010LeanAgileTraining
 
Slow and dirty with callouts
Slow and dirty with calloutsSlow and dirty with callouts
Slow and dirty with calloutsAgileOnTheBeach
 
Simple Measurements #2
Simple Measurements #2Simple Measurements #2
Simple Measurements #2Schalk Cronjé
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Brent Barton
 
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...Brent Barton
 
Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012 Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012 Laszlo Szalvay
 
Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012) Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012) Laszlo Szalvay
 
Overcoming Barriers to Adoption of Virtual Worlds in Government
Overcoming Barriers to Adoption of Virtual Worlds in GovernmentOvercoming Barriers to Adoption of Virtual Worlds in Government
Overcoming Barriers to Adoption of Virtual Worlds in Governmentjcichelli
 
Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket ScienceScott Barber
 
Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01Archana Survase
 

Ähnlich wie Technical debt (20)

Bv Eng & Agile Specs For Scrum U.Key
Bv Eng & Agile Specs For Scrum U.KeyBv Eng & Agile Specs For Scrum U.Key
Bv Eng & Agile Specs For Scrum U.Key
 
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the uglyAmit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
 
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
The Lean within Scrum
The Lean within ScrumThe Lean within Scrum
The Lean within Scrum
 
ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011
 
Intro to BV Engineering Atlanta
Intro to BV Engineering AtlantaIntro to BV Engineering Atlanta
Intro to BV Engineering Atlanta
 
Joe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within ScrumJoe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within Scrum
 
Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010
 
Slow and dirty with callouts
Slow and dirty with calloutsSlow and dirty with callouts
Slow and dirty with callouts
 
Simple Measurements #2
Simple Measurements #2Simple Measurements #2
Simple Measurements #2
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management
 
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
 
Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012 Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012
 
Scrum & Waterfall: Friend or Foe?
Scrum & Waterfall: Friend or Foe?Scrum & Waterfall: Friend or Foe?
Scrum & Waterfall: Friend or Foe?
 
Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012) Making Scrum Stick Inside Heavy Regulated Industries (2012)
Making Scrum Stick Inside Heavy Regulated Industries (2012)
 
Overcoming Barriers to Adoption of Virtual Worlds in Government
Overcoming Barriers to Adoption of Virtual Worlds in GovernmentOvercoming Barriers to Adoption of Virtual Worlds in Government
Overcoming Barriers to Adoption of Virtual Worlds in Government
 
Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket Science
 
Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01
 

Mehr von LeanAgileTraining

Intro to our Agile Release Planning workshop
Intro to our Agile Release Planning workshopIntro to our Agile Release Planning workshop
Intro to our Agile Release Planning workshopLeanAgileTraining
 
Intro to our CSM Course & Agile Release Planning workshop
Intro to our CSM Course & Agile Release Planning workshopIntro to our CSM Course & Agile Release Planning workshop
Intro to our CSM Course & Agile Release Planning workshopLeanAgileTraining
 
Short Intro to Agile-Scrum for NCA-CPA
Short Intro to Agile-Scrum for NCA-CPAShort Intro to Agile-Scrum for NCA-CPA
Short Intro to Agile-Scrum for NCA-CPALeanAgileTraining
 
Webinar: A Real Team + A Better Sprint Planning Meeting
Webinar: A Real Team + A Better Sprint Planning MeetingWebinar: A Real Team + A Better Sprint Planning Meeting
Webinar: A Real Team + A Better Sprint Planning MeetingLeanAgileTraining
 
Agile Transformation - 4 Suggestions & Discussion
Agile Transformation - 4 Suggestions & Discussion Agile Transformation - 4 Suggestions & Discussion
Agile Transformation - 4 Suggestions & Discussion LeanAgileTraining
 
Scaling: Old ideas & some new ones....
Scaling: Old ideas & some new ones....Scaling: Old ideas & some new ones....
Scaling: Old ideas & some new ones....LeanAgileTraining
 
ScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid itScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid itLeanAgileTraining
 
Scrum, Self-Organization, Engagement
Scrum, Self-Organization, EngagementScrum, Self-Organization, Engagement
Scrum, Self-Organization, EngagementLeanAgileTraining
 
Making Your PO Better Now - 9 Ideas
Making Your PO Better Now - 9 IdeasMaking Your PO Better Now - 9 Ideas
Making Your PO Better Now - 9 IdeasLeanAgileTraining
 
Changing Culture v10 (Change, Scrum, Culture)
Changing Culture v10 (Change, Scrum, Culture)Changing Culture v10 (Change, Scrum, Culture)
Changing Culture v10 (Change, Scrum, Culture)LeanAgileTraining
 
Executive Briefing on Agile-Scrum apr2014 v3.key
Executive Briefing on Agile-Scrum apr2014 v3.keyExecutive Briefing on Agile-Scrum apr2014 v3.key
Executive Briefing on Agile-Scrum apr2014 v3.keyLeanAgileTraining
 
Exec Overview to Agile-Scrum
Exec Overview to Agile-ScrumExec Overview to Agile-Scrum
Exec Overview to Agile-ScrumLeanAgileTraining
 

Mehr von LeanAgileTraining (20)

Intro to our Agile Release Planning workshop
Intro to our Agile Release Planning workshopIntro to our Agile Release Planning workshop
Intro to our Agile Release Planning workshop
 
Intro to our CSM Course & Agile Release Planning workshop
Intro to our CSM Course & Agile Release Planning workshopIntro to our CSM Course & Agile Release Planning workshop
Intro to our CSM Course & Agile Release Planning workshop
 
Short Intro to Agile-Scrum for NCA-CPA
Short Intro to Agile-Scrum for NCA-CPAShort Intro to Agile-Scrum for NCA-CPA
Short Intro to Agile-Scrum for NCA-CPA
 
Webinar: A Real Team + A Better Sprint Planning Meeting
Webinar: A Real Team + A Better Sprint Planning MeetingWebinar: A Real Team + A Better Sprint Planning Meeting
Webinar: A Real Team + A Better Sprint Planning Meeting
 
Full-time ScrumMaster - How
Full-time ScrumMaster - HowFull-time ScrumMaster - How
Full-time ScrumMaster - How
 
Agile Transformation - 4 Suggestions & Discussion
Agile Transformation - 4 Suggestions & Discussion Agile Transformation - 4 Suggestions & Discussion
Agile Transformation - 4 Suggestions & Discussion
 
Agile, Culture & Change
Agile, Culture & ChangeAgile, Culture & Change
Agile, Culture & Change
 
Scaling: Old ideas & some new ones....
Scaling: Old ideas & some new ones....Scaling: Old ideas & some new ones....
Scaling: Old ideas & some new ones....
 
The ScrumButt Test
The ScrumButt TestThe ScrumButt Test
The ScrumButt Test
 
ScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid itScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid it
 
The Long March
The Long MarchThe Long March
The Long March
 
Scrum101
Scrum101Scrum101
Scrum101
 
Scrum, Self-Organization, Engagement
Scrum, Self-Organization, EngagementScrum, Self-Organization, Engagement
Scrum, Self-Organization, Engagement
 
Making Your PO Better Now - 9 Ideas
Making Your PO Better Now - 9 IdeasMaking Your PO Better Now - 9 Ideas
Making Your PO Better Now - 9 Ideas
 
Scaling aug 2014 6.key
Scaling aug 2014 6.keyScaling aug 2014 6.key
Scaling aug 2014 6.key
 
Scaling july 2014 4.key
Scaling july 2014 4.keyScaling july 2014 4.key
Scaling july 2014 4.key
 
Changing Culture v10 (Change, Scrum, Culture)
Changing Culture v10 (Change, Scrum, Culture)Changing Culture v10 (Change, Scrum, Culture)
Changing Culture v10 (Change, Scrum, Culture)
 
Changing Culture v9 RDU
Changing Culture v9 RDUChanging Culture v9 RDU
Changing Culture v9 RDU
 
Executive Briefing on Agile-Scrum apr2014 v3.key
Executive Briefing on Agile-Scrum apr2014 v3.keyExecutive Briefing on Agile-Scrum apr2014 v3.key
Executive Briefing on Agile-Scrum apr2014 v3.key
 
Exec Overview to Agile-Scrum
Exec Overview to Agile-ScrumExec Overview to Agile-Scrum
Exec Overview to Agile-Scrum
 

Kürzlich hochgeladen

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Technical debt

  • 1. SCRUM & TECHNICAL DEBT CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 1
  • 2. Joe Little • Agile Coach & Trainer • 20+ years in senior level consulting to well-known firms in New York, London and Charlotte • Focus on delivery of Business Value; interest in Lean • CST, CSP, CSM; MBA • Was Senior Manager in Big 6 consulting • Head of Kitty Hawk Consulting, Inc. since 1991 • Head of LeanAgileTraining.com • Started trying to do [Agile] before reading The Mythical Man-Month – http://agileconsortium.blogspot.com – jhlittle@kittyhawkconsulting.com © Joe Little 2010 2
  • 3. Customers want a quality product quickly. © Joe Little 2010 3
  • 4. What is technical debt How would you notice it? A velocity that is based on a weak definition of done is just a lie!!! "Scrum made me go too fast!" NO!!! The bad news does not get better with age How do we explain technical debt to the product owner? How do we explain technical debt to the managers? © Joe Little 2010 4
  • 5. The importance of a definition of done in Scrum The importance of professionalism in Scrum The importance of strong engineering practices in Scrum Scrum assumes your engineering practices are not "perfect" Why is Scrum only a framework? Some key engineering practices (mostly from XP) Incentives © Joe Little 2010 5
  • 6. Scrum Dynamic Model Daily Meeting Sprint I R M D P E E O A D N D I E M Value Y E Velocity N T S CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 6
  • 7. Technical Debt is bad. Period. Very bad! © Joe Little 2010 7
  • 8. What is Technical Debt? And why is it bad? (Very bad.) © Joe Little 2010 8
  • 9. A velocity that allows technical debt to be built is a lie! A velocity that is built on a weak definition of done is a lie! © Joe Little 2010 9
  • 10. “Scrum made us go too fast!” No! © Joe Little 2010 10
  • 11. Definition of Done needed to split stories Default Definition of Done • Automated tests, built & run Default Definition of Done • No bugs • Acceptance tested • Releasable • Release notes written • Releasable • No increased technical debt Default Definition of Done • Unit/Integration tested • Accepted by PO • Ready for acceptance test • Deployed on demo server = I haven’t made the codebase hard to change What’s NOT included in DoD? - Example: ”customer acceptance test + user documentation”? Why not? Who does it? When? What happens if a problem turns up? Source: Henrik Kniberg CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 11
  • 12. Topic: Velocity & technical debt Queue theory Chaos theory Principles e arch Res Agile Lean Game theory History Philosophy More theory... m Scru XP Practices Implementation Company Company B Company A Company C Source: Henrik Kniberg C CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 12
  • 13. Clean & simple Dog.java v1.1 Dog.java v0 Dog.java v1.0 Big & hairy Quick & dirty import java.sql.Connection; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Dog { public class Dog { private Executor executor = Executors.newFixedThreadPool(18); private int CACHE_SIZE = 50; public static void main(String[] args) { System.out.println("WOOF 1!"); public Dog() { System.out.println("WOOF 2!"); try { } Class.forName("oracle.jdbc.ThinDriver"); connection = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin", } "beefhead"); statement = connection.prepareStatement("insert into Dog values (?, ?, ?)"); } catch (ClassNotFoundException e) {} new Thread().start(); } public void woof(Person woofCaller) { Connection connection = null; PreparedStatement statement = null; try { connection = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin", Dog.java v1.2 "beefhead"); statement = connection.prepareStatement("insert into Dog values (?, ?, ?)"); statement.setLong(1, System.currentTimeMillis()); Clean & simple statement.setString(2, person.getName()); statement.setString(3, person.getPhoneNumber().getNumber()); statement.executeUpdate(); } } } public class Dog { } Connection a = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin", private final String name; Simple code: "beefhead"); b = a.prepareStatement("select * from Dog where name = '" + name + "'"); c = b.executeQuery(); private int woofCount = 0; 1.Passes all tests if (c.next()) { String foundName = c.getString("name"); PhoneNumber phoneNumber = new PhoneNumber(c.getString(“woofCount")); public Dog(String name) { 2.No duplication Person person = new Person(foundName, phoneNumber); return person; this.name = name; } else { } 3.Readable } return new Person("", null); public void woof() { 4.Minimal } catch (SQLException e) { return null; } catch (IllegalArgumentException x) { throw x; ++woofCount; } } } } Simple is hard! public List<Person> getAll() { connection = DriverManager.getConnection("jdbc:oracle:thin:@prod", "admin", "beefhead"); statement = connection.prepareStatement("insert into Dog values (?, ?, ?)"); statement.setLong(1, System.currentTimeMillis()); } if (statement != null) { if (c.next()) { Henrik Kniberg String foundName = c.getString("name"); CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 PhoneNumber phoneNumber = new PhoneNumber(c.getString(“woofCount")); Person person = new Person(foundName, phoneNumber); return person; } else { 13
  • 14. Velocity calibration Estimated Actual Velocity Velocity Estimated Actual 40 30 40 30 30 28 40 30 30 31 40 30 30 30 Estimated Actual Estimated Actual 40 30 30 40 35 50 30 25 35 30 60 30 20 30 25 Source: Henrik Kniberg CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 14
  • 15. Technical debt & release planning Remaining story points 400 We’ll be done by 300 sprint 10! Sorry, we’re late! We should definitely 200 by done by sprint 12! Um... we’re done when we’re done! 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sprint Source: Henrik Kniberg CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 15
  • 16. 3 roles • Product owner • Scrum master Definition of Done • Team Technical debt • .... bla bla .... 3 artifacts • Product backlog • No increased technical debt • Sprint backlog Code duplication • Sprint burndown Test coverage 4 activities • Sprint planning • Daily scrum Code readability • Sprint review • Retrospective Vmax Vmax Vactual Vactual Sustainable pace! velocity velocity time time Source: Henrik Kniberg CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 16
  • 17. 3 roles • Product owner • Scrum master • Team Dealing with technical debt 3 artifacts • Product backlog • Sprint backlog • Sprint burndown 4 activities • Sprint planning • Daily scrum Definition of Done Definition of Done • Sprint review • Retrospective Vmax • .... bla bla .... • .... bla bla .... • No increased technical debt • Technical debt decreased Vactua l Ro ad to velocity he ll pa ce! a sing Sustainable pace Incre Second step First step (optional) Slow down Slow down even more Stop accumulating debt Start repaying debt time Source: Henrik Kniberg CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 17
  • 18. Knowledge decays fast Don’t let any bugs escape the Sprint CSM v9.3 © Jeff Sutherland 1993-2008; © Joe Little 2010 18
  • 19. Time cost of&defects for you? Itera&ve    Incremental   Relative Cost of defects if fixed later 50 45 40 35 30 25 20 15 10 5 0 10 minutes 1 hour Same Day Next Day 1 Week 2 weeks 1 month 2 months
  • 20. The bad news does not get better with age!!! We have to go slow to go fast. © Joe Little 2010 20
  • 21. How do we explain Technical Debt to the Product Owner? How do we explain Technical Debt to the manager? © Joe Little 2010 21
  • 22. The importance of a definition of done. We recommend a detailed Definition of Done, that is clear about how we will not build technical debt.
  • 23. Technical debt & Scrum. Engineering practices Improvements Framework
  • 25. Key Engineering Practices ...pair programming ...TDD ...continuous integration ...refactoring, refactoring, refactoring ...10 minute build ...automatic unit tests ...automated functional tests (other names) ...automated other testing (regression especially)
  • 26. How do we give the team the proper incentives? (Or avoid the wrong incentives??)
  • 27. What do we measure to assure proper incentives?
  • 28. * We focus on speed and low work-in-process. * We see the impediments better. * We fix the root causes. * Over time, this enables everything: cheaper, higher quality, faster, more what they want.
  • 29. The End Please send me your comments and suggestions. This is an important topic. If it were easy, we as an industry would not have this problem. So, I appreciate your feedback. jhlittle@kittyhawkconsulting.com http://leanagiletraining.com