Achieving Maintenance Stabilisation with Agile, Kanban and Lean
                           Thinking
                        by Zsolt Fabók




@ZsoltFabok                                        June 14th, 2012
The plan



                  Talk




           Discussions

            Euro 2012
Flow
Production Flow:

                “The movement of the products within
                the shop during each stage of the parts
                manufacturing process”



http://www.toolingu.com/definition-900130-12169-product-flow.html
Be careful when you are talking about
        optimizing the flow...
...because there may be multiple flows!
Production Flow
Production Flow




                  Maintenance Flow
Production Flow




feedback
    loop

                  Maintenance Flow
Production Flow




 feedback
      loop

                  Maintenance Flow
Production Flow


feedback
    loop



                  Maintenance Flow
Production Flow
Optimize on the right flow!
3             4               2
 Cloud         Queue Reproduction Implementation   Validation   Live

                          #~                #~        #~         #~
     #~         #~
                          ~~                ~~        ~~         ~~
     ~~         ~~
#~
~~        #~
                                     #~
          ~~    #~        #~                                     #~
                                     ~~
   #~           ~~        ~~                                     ~~
# ~~ ~
 #~
~~     #~
 ~~                       #~         #~
       ~~       #~
     #~         ~~        ~~         ~~
     ~~

                #~
                ~~
3             4               2
 Cloud         Queue Reproduction Implementation   Validation   Live

                          #~                #~        #~         #~
     #~         #~
                          ~~                ~~        ~~         ~~
     ~~         ~~
#~
~~        #~
                                     #~
          ~~    #~        #~                                     #~
                                     ~~
   #~           ~~        ~~                                     ~~
# ~~ ~
 #~
~~     #~
 ~~                       #~         #~
       ~~       #~
     #~         ~~        ~~         ~~
     ~~

                #~
                ~~




                      Maintenance Flow
3             4               2
 Cloud         Queue Reproduction Implementation   Validation   Live

                          #~                #~        #~         #~
     #~         #~
                          ~~                ~~        ~~         ~~
     ~~         ~~
#~
~~        #~
                                     #~
          ~~    #~        #~                                     #~
                                     ~~
   #~           ~~        ~~                                     ~~
# ~~ ~
 #~
~~     #~
 ~~                       #~         #~
       ~~       #~
     #~         ~~        ~~         ~~
     ~~

                #~
                ~~
3             4               2
 Cloud         Queue Reproduction Implementation   Validation   Live

                          #~                #~        #~         #~
     #~         #~
                          ~~                ~~        ~~         ~~
     ~~         ~~
#~
~~        #~
                                     #~
          ~~    #~        #~                                     #~
                                     ~~
   #~           ~~        ~~                                     ~~
# ~~ ~
 #~
~~     #~
 ~~                       #~         #~
       ~~       #~
     #~         ~~        ~~         ~~
     ~~

                #~
                ~~




       Collaboration
3             4               2
 Cloud         Queue Reproduction Implementation   Validation   Live

                          #~                #~        #~         #~
     #~         #~
                          ~~                ~~        ~~         ~~
     ~~         ~~
#~
~~        #~
                                     #~
          ~~    #~        #~                                     #~
                                     ~~
   #~           ~~        ~~                                     ~~
# ~~ ~
 #~
~~     #~
 ~~                       #~         #~
       ~~       #~
     #~         ~~        ~~         ~~
     ~~

                #~
                ~~




       Collaboration                      Optimization
3             4               2
 Cloud         Queue Reproduction Implementation   Validation   Live

                          #~                #~        #~         #~
     #~         #~
                          ~~                ~~        ~~         ~~
     ~~         ~~
#~
~~        #~
                                     #~
          ~~    #~        #~                                     #~
                                     ~~
   #~           ~~        ~~                                     ~~
# ~~ ~
 #~
~~     #~
 ~~                       #~         #~
       ~~       #~
     #~         ~~        ~~         ~~
     ~~

                #~
                ~~




       Collaboration                      Optimization

                           Leadership
Collaboration Tips and Tricks
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
User story         Defect

Has an owner              Not always         Always

Has a deadline           Fuzzy, flexible   Almost always
Expectations are clear    Not always         Always
Customer contact            Seldom          Too often
Will they be delivered    Not always       Most likely
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
#2: Automatic data collection scripts
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
#2: Automatic data collection scripts
#3: Defect and future oriented daily meeting
3                4               2
  Cloud       Queue   Reproduction   Implementation   Validation   Live

                         #~                    #~        #~        #~
      #~       #~
                         ~~                    ~~        ~~        ~~
               ~~
 #~ ~~
 ~~      #~
                                      #~
         ~~    #~        #~                                        #~
   #~                                 ~~
               ~~        ~~                                        ~~
## ~ ~
  ~~
~~ ~ # ~
  ~
               #~        #~           #~
     #~ ~
       ~
               ~~        ~~           ~~
    ~~

               #~
               ~~
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
#2: Automatic data collection scripts
#3: Defect and future oriented daily meeting
#4: Prioritize by cost of delay
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
#2: Automatic data collection scripts
#3: Defect and future oriented daily meeting
#4: Prioritize by cost of delay
#5: Design discussion every afternoon
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
#2: Automatic data collection scripts
#3: Defect and future oriented daily meeting
#4: Prioritize by cost of delay
#5: Design discussion every afternoon
#6: Write your own bug report
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
#2: Automatic data collection scripts
#3: Defect and future oriented daily meeting
#4: Prioritize by cost of delay
#5: Design discussion every afternoon
#6: Write your own bug report
#7: Use collaboration tools for communication
Collaboration Tips and Tricks
#1: Defects aren't different from user stories
#2: Automatic data collection scripts
#3: Defect and future oriented daily meeting
#4: Prioritize by cost of delay
#5: Design discussion every afternoon
#6: Write your own bug report
#7: Use collaboration tools for communication
#8: Throw away old defects
Optimization Tips and Tricks
Optimization Tips and Tricks
#1: Use continuous integration and staging environment
Optimization Tips and Tricks
#1: Use continuous integration and staging environment
#2: Introduce separate swim lanes for different versions
3             4                    2
 Cloud         Queue Reproduction Implementation        Validation   Live




                     version 1.2
                                         #~                 #~        #~
     #~         #~                            #~
                                         ~~                 ~~        ~~
     ~~         ~~                            ~~
#~
~~        #~
          ~~                                                          #~
   #~           #~
                                                                      ~~
# ~~ ~          ~~
 #~
                     version 2.1
~~     #~                                          #~
 ~~
       ~~                                          ~~
     #~                             #~
     ~~         #~                  ~~
                ~~



                #~                                 #~
                ~~                  #~             ~~
                      version 3.3




                                    ~~
Optimization Tips and Tricks
#1: Use continuous integration and staging environment
#2: Introduce separate swim lanes for different versions
#3: Introduce hot lane for expedite defects
3             4               2
 Cloud         Queue Reproduction Implementation   Validation   Live




                      hot
                                         #~
     #~         #~                       ~~
     ~~         ~~
#~
~~        #~
          ~~    #~                                  #~
   #~           ~~          #~
                                    #~              ~~
# ~~ ~                      ~~
 #~                                 ~~
~~     #~                                                       #~
 ~~
       ~~       #~                                              ~~
     #~         ~~
     ~~
                                    #~
                                    ~~                           #~
                #~
                ~~                                               ~~

                                    #~
                                    ~~
                #~
                ~~
                                    #~
                                    ~~
Optimization Tips and Tricks
#1: Use continuous integration and staging environment
#2: Introduce separate swim lanes for different versions
#3: Introduce hot lane for expedite defects
#4: After reproduction write a test case
Optimization Tips and Tricks
#1: Use continuous integration and staging environment
#2: Introduce separate swim lanes for different versions
#3: Introduce hot lane for expedite defects
#4: After reproduction write a test case
#5: Always have someone test your code
Optimization Tips and Tricks
#1: Use continuous integration and staging environment
#2: Introduce separate swim lanes for different versions
#3: Introduce hot lane for expedite defects
#4: After reproduction write a test case
#5: Always have someone test your code
#6: Measure and improve the flow
Leadership Tips and Tricks
Leadership Tips and Tricks
#1: Keep the Cloud small and the Live large
A retrospective comment:

“Zsolt, can we keep the finished defects on the board? I
feel better when I see how much we finished, while the
new ones keep coming and coming and coming...”
Leadership Tips and Tricks
#1: Keep the Cloud small and the Live large
#2: Discuss problems right on the spot
3             4                2
 Cloud         Queue Reproduction Implementation    Validation   Live
                                               #~      #~         #~
     #~         #~        #~
                                               ~~      ~~         ~~
     ~~         ~~        ~~
#~
~~        #~
          ~~                                   #~
                #~                                                #~
   #~                                          ~~
                ~~                                                ~~
# ~~ ~
 #~
~~     #~
 ~~                                  #~
       ~~       #~
     #~         ~~                   ~~
     ~~

                #~
                ~~                   #~
                                     ~~   #~
                                          ~~
Leadership Tips and Tricks
#1: Keep the Cloud small and the Live large
#2: Discuss problems right on the spot
#3: Provide feedback to the other teams
Leadership Tips and Tricks
#1: Keep the Cloud small and the Live large
#2: Discuss problems right on the spot
#3: Provide feedback to the other teams
#4: Rotate people between phases
Leadership Tips and Tricks
#1: Keep the Cloud small and the Live large
#2: Discuss problems right on the spot
#3: Provide feedback to the other teams
#4: Rotate people between phases
#5: Weekly face-to-face with everybody
Leadership Tips and Tricks
#1: Keep the Cloud small and the Live large
#2: Discuss problems right on the spot
#3: Provide feedback to the other teams
#4: Rotate people between phases
#5: Weekly face-to-face with everybody
#6: Turn off notifications - email, issue tracker
We are not quite done yet
Idea
A good idea makes
a positive difference
If the idea is really good, people will follow you for sure
                                                   Sasquatch music festival 2009
If the idea is really good, people will follow you for sure
                                                   Sasquatch music festival 2009
If the idea is really good, people will follow you for sure
                                                   Sasquatch music festival 2009
If the idea is really good, people will follow you for sure
                                                   Sasquatch music festival 2009
If the idea is really good, people will follow you for sure
                                                   Sasquatch music festival 2009
What if your idea doesn’t
fit into the big picture?
Find this guy...




... and prove him that your idea is really good!
Now, we are done ;-)
Thank you very much for your attention!




http://zsoltfabok.com           me@zsoltfabok.com
Sources of the used images:
leaders on the field:
   http://carterkellyconsulting.com/lifepoint_leadervisionspirit
 factory floor:
    http://www.copters.com/trips/rhc2006.html
Miners:
  http://www.foreignpolicy.com/articles/2010/05/18/
  the_coal_miners_burden?page=ful
 hipchat:
   http://blogs.atlassian.com/2012/03/meet-hipchat-the-newest-
   member-of-the-atlassian-family/
Continuous delivery:
 http://www.infoq.com/articles/Continous-Delivery-
 Patterns
Cost of delay:
 http://agileconsulting.blogspot.com/2011/03/using-cost-
 of-delay-functions-to.html

Bp Meetup - Achieving Maintenance Stabilisation with Agile, Kanban and Lean Thinking

  • 1.
    Achieving Maintenance Stabilisationwith Agile, Kanban and Lean Thinking by Zsolt Fabók @ZsoltFabok June 14th, 2012
  • 2.
    The plan Talk Discussions Euro 2012
  • 3.
  • 4.
    Production Flow: “The movement of the products within the shop during each stage of the parts manufacturing process” http://www.toolingu.com/definition-900130-12169-product-flow.html
  • 5.
    Be careful whenyou are talking about optimizing the flow...
  • 6.
    ...because there maybe multiple flows!
  • 7.
  • 8.
    Production Flow Maintenance Flow
  • 9.
    Production Flow feedback loop Maintenance Flow
  • 10.
    Production Flow feedback loop Maintenance Flow
  • 11.
    Production Flow feedback loop Maintenance Flow
  • 12.
  • 13.
    Optimize on theright flow!
  • 14.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ #~ ~~ #~ #~ #~ ~~ #~ ~~ ~~ ~~ # ~~ ~ #~ ~~ #~ ~~ #~ #~ ~~ #~ #~ ~~ ~~ ~~ ~~ #~ ~~
  • 15.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ #~ ~~ #~ #~ #~ ~~ #~ ~~ ~~ ~~ # ~~ ~ #~ ~~ #~ ~~ #~ #~ ~~ #~ #~ ~~ ~~ ~~ ~~ #~ ~~ Maintenance Flow
  • 16.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ #~ ~~ #~ #~ #~ ~~ #~ ~~ ~~ ~~ # ~~ ~ #~ ~~ #~ ~~ #~ #~ ~~ #~ #~ ~~ ~~ ~~ ~~ #~ ~~
  • 17.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ #~ ~~ #~ #~ #~ ~~ #~ ~~ ~~ ~~ # ~~ ~ #~ ~~ #~ ~~ #~ #~ ~~ #~ #~ ~~ ~~ ~~ ~~ #~ ~~ Collaboration
  • 18.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ #~ ~~ #~ #~ #~ ~~ #~ ~~ ~~ ~~ # ~~ ~ #~ ~~ #~ ~~ #~ #~ ~~ #~ #~ ~~ ~~ ~~ ~~ #~ ~~ Collaboration Optimization
  • 19.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ #~ ~~ #~ #~ #~ ~~ #~ ~~ ~~ ~~ # ~~ ~ #~ ~~ #~ ~~ #~ #~ ~~ #~ #~ ~~ ~~ ~~ ~~ #~ ~~ Collaboration Optimization Leadership
  • 20.
  • 21.
    Collaboration Tips andTricks #1: Defects aren't different from user stories
  • 22.
    User story Defect Has an owner Not always Always Has a deadline Fuzzy, flexible Almost always Expectations are clear Not always Always Customer contact Seldom Too often Will they be delivered Not always Most likely
  • 23.
    Collaboration Tips andTricks #1: Defects aren't different from user stories #2: Automatic data collection scripts
  • 29.
    Collaboration Tips andTricks #1: Defects aren't different from user stories #2: Automatic data collection scripts #3: Defect and future oriented daily meeting
  • 30.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ #~ ~~ ~~ #~ #~ ~~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ## ~ ~ ~~ ~~ ~ # ~ ~ #~ #~ #~ #~ ~ ~ ~~ ~~ ~~ ~~ #~ ~~
  • 31.
    Collaboration Tips andTricks #1: Defects aren't different from user stories #2: Automatic data collection scripts #3: Defect and future oriented daily meeting #4: Prioritize by cost of delay
  • 33.
    Collaboration Tips andTricks #1: Defects aren't different from user stories #2: Automatic data collection scripts #3: Defect and future oriented daily meeting #4: Prioritize by cost of delay #5: Design discussion every afternoon
  • 34.
    Collaboration Tips andTricks #1: Defects aren't different from user stories #2: Automatic data collection scripts #3: Defect and future oriented daily meeting #4: Prioritize by cost of delay #5: Design discussion every afternoon #6: Write your own bug report
  • 35.
    Collaboration Tips andTricks #1: Defects aren't different from user stories #2: Automatic data collection scripts #3: Defect and future oriented daily meeting #4: Prioritize by cost of delay #5: Design discussion every afternoon #6: Write your own bug report #7: Use collaboration tools for communication
  • 36.
    Collaboration Tips andTricks #1: Defects aren't different from user stories #2: Automatic data collection scripts #3: Defect and future oriented daily meeting #4: Prioritize by cost of delay #5: Design discussion every afternoon #6: Write your own bug report #7: Use collaboration tools for communication #8: Throw away old defects
  • 37.
  • 38.
    Optimization Tips andTricks #1: Use continuous integration and staging environment
  • 40.
    Optimization Tips andTricks #1: Use continuous integration and staging environment #2: Introduce separate swim lanes for different versions
  • 41.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live version 1.2 #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ ~~ #~ #~ #~ ~~ # ~~ ~ ~~ #~ version 2.1 ~~ #~ #~ ~~ ~~ ~~ #~ #~ ~~ #~ ~~ ~~ #~ #~ ~~ #~ ~~ version 3.3 ~~
  • 42.
    Optimization Tips andTricks #1: Use continuous integration and staging environment #2: Introduce separate swim lanes for different versions #3: Introduce hot lane for expedite defects
  • 43.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live hot #~ #~ #~ ~~ ~~ ~~ #~ ~~ #~ ~~ #~ #~ #~ ~~ #~ #~ ~~ # ~~ ~ ~~ #~ ~~ ~~ #~ #~ ~~ ~~ #~ ~~ #~ ~~ ~~ #~ ~~ #~ #~ ~~ ~~ #~ ~~ #~ ~~ #~ ~~
  • 44.
    Optimization Tips andTricks #1: Use continuous integration and staging environment #2: Introduce separate swim lanes for different versions #3: Introduce hot lane for expedite defects #4: After reproduction write a test case
  • 48.
    Optimization Tips andTricks #1: Use continuous integration and staging environment #2: Introduce separate swim lanes for different versions #3: Introduce hot lane for expedite defects #4: After reproduction write a test case #5: Always have someone test your code
  • 49.
    Optimization Tips andTricks #1: Use continuous integration and staging environment #2: Introduce separate swim lanes for different versions #3: Introduce hot lane for expedite defects #4: After reproduction write a test case #5: Always have someone test your code #6: Measure and improve the flow
  • 50.
  • 51.
    Leadership Tips andTricks #1: Keep the Cloud small and the Live large
  • 52.
    A retrospective comment: “Zsolt,can we keep the finished defects on the board? I feel better when I see how much we finished, while the new ones keep coming and coming and coming...”
  • 53.
    Leadership Tips andTricks #1: Keep the Cloud small and the Live large #2: Discuss problems right on the spot
  • 54.
    3 4 2 Cloud Queue Reproduction Implementation Validation Live #~ #~ #~ #~ #~ #~ ~~ ~~ ~~ ~~ ~~ ~~ #~ ~~ #~ ~~ #~ #~ #~ #~ ~~ ~~ ~~ # ~~ ~ #~ ~~ #~ ~~ #~ ~~ #~ #~ ~~ ~~ ~~ #~ ~~ #~ ~~ #~ ~~
  • 55.
    Leadership Tips andTricks #1: Keep the Cloud small and the Live large #2: Discuss problems right on the spot #3: Provide feedback to the other teams
  • 56.
    Leadership Tips andTricks #1: Keep the Cloud small and the Live large #2: Discuss problems right on the spot #3: Provide feedback to the other teams #4: Rotate people between phases
  • 57.
    Leadership Tips andTricks #1: Keep the Cloud small and the Live large #2: Discuss problems right on the spot #3: Provide feedback to the other teams #4: Rotate people between phases #5: Weekly face-to-face with everybody
  • 58.
    Leadership Tips andTricks #1: Keep the Cloud small and the Live large #2: Discuss problems right on the spot #3: Provide feedback to the other teams #4: Rotate people between phases #5: Weekly face-to-face with everybody #6: Turn off notifications - email, issue tracker
  • 59.
    We are notquite done yet
  • 60.
  • 61.
    A good ideamakes a positive difference
  • 62.
    If the ideais really good, people will follow you for sure Sasquatch music festival 2009
  • 63.
    If the ideais really good, people will follow you for sure Sasquatch music festival 2009
  • 64.
    If the ideais really good, people will follow you for sure Sasquatch music festival 2009
  • 65.
    If the ideais really good, people will follow you for sure Sasquatch music festival 2009
  • 66.
    If the ideais really good, people will follow you for sure Sasquatch music festival 2009
  • 67.
    What if youridea doesn’t fit into the big picture?
  • 68.
    Find this guy... ...and prove him that your idea is really good!
  • 69.
    Now, we aredone ;-)
  • 70.
    Thank you verymuch for your attention! http://zsoltfabok.com me@zsoltfabok.com
  • 71.
    Sources of theused images: leaders on the field: http://carterkellyconsulting.com/lifepoint_leadervisionspirit factory floor: http://www.copters.com/trips/rhc2006.html Miners: http://www.foreignpolicy.com/articles/2010/05/18/ the_coal_miners_burden?page=ful hipchat: http://blogs.atlassian.com/2012/03/meet-hipchat-the-newest- member-of-the-atlassian-family/ Continuous delivery: http://www.infoq.com/articles/Continous-Delivery- Patterns Cost of delay: http://agileconsulting.blogspot.com/2011/03/using-cost- of-delay-functions-to.html