SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Lean Software Development
                   An SD Times Webinar with Kent Beck and Henrik Kniberg




Aslam Khan :: @aslamkhn :: +Aslam Khan :: factor10.com :: aslamkhan.net    factor10
Personal Flow
 finding waste in my day to day work


design next generation architecture
    write some mini frameworks
develop legacy replacement strategy
    teach, mentor, code review
                 ...

     TOO MUCH WORK!!
              why?
     TOO MUCH WORK!!
                no!
MOVING between different
 locations too frequently
              why?
SWITCHING to different task
    far too frequently
  which is why there is ...
Lots of ALMOST COMPLETE
           work
Cleaning up waste
                   what do you actually have control over?




         What is my chain of waste?
 MOVING too frequently       SWITCHING frequently       ALMOST COMPLETE work



        motion                task switching             partially done work




Which waste do I have CONTROL over?

                                                    partially done work




         task switching

                                                             motion
What did I learn?



DO look for the chain of waste           DON’ T try to eliminate waste
                                   but
      or the root causes                 which is out of your control
                                                 (over optimization)




 DON’ T try to be too precise            DO work with good gut-based
                                   but
    in your estimations                       gross estimations

          (over analysis)
What did I do?
                               buffer and limit work in progress




           task switching                      partially done work        motion




                        buffer the tasks         tasks started were
 prioritize and                                                       only moved around
                        by limiting to 2 in       completed before
queue each task                                                          when needed
                         each category          taking another task
Team Flow
                                finding waste in the overall development process




                         Kent Beck’s value stream map
                           (from “Lean Software Development, An Agile Toolkit” by Mary and Tom Poppendieck)




                                                                                             customer
requirements       planning                development                 code freeze                             approval
                                                                                             changes



  4 weeks                4 weeks                    8 weeks                     3 weeks



    work

     wait


               2 weeks                                                                               4 weeks         2 weeks




                  there may be some ‘quick’ wins below the line but ...
Big wins

                                   … big wins are above the line



                                                                        customer
requirements       planning         development       code freeze                       approval
                                                                        changes



  4 weeks                4 weeks          8 weeks             3 weeks



    work

     wait


               2 weeks                                                        4 weeks         2 weeks




                    ( big wins achieved with small changes may be are more lasting )
At another team with whom I work


       estimate and                                         complete unit
                             development           review
          commit                                               tests
         1 day                 3 weeks             1 day    2 days




work

wait




                      highly optimised wait time
Look above the line too

                                                                            but what’s this?



       estimate and                                                            complete unit
                                 development                       review
          commit                                                                  tests
         1 day                       3 weeks                       1 day      2 days




work

wait




                      They write tests in development but
                          it is like “tag team” TDD …

                           I write the code, tag out
                          You write the tests, tag out
                              I write the code ...
                               ( which is not really TDD at all)
What is the real problem?

       estimate and                                          complete unit
                             development            review
          commit                                                tests
         1 day                 3 weeks              1 day    2 days




work

wait




                          went for continuous
                       integration as a quick win

                           which resulted in

                         pressure to have high
                        coverage from unit tests

                                   but

                      no one had done TDD before
Lessons I learned

                                                            DON’ T believe that automation
DO look for ways to automate                 but
                                                                    comes for free
                                                            (automation is a highly mature state of development)




                          DO look at the impact of
                                automation
                    ( what are the upstream and downstream demands? )

                                            and

                     use low fidelity options at the
                       first responsible moment

                   ( what is the simplest first attempt at this automation? )

                                            and

                     use high fidelity options at the
                        last responsible moment
Multiple Flows
                              waste as a result of different many processes




           The flow for one of the product managers

                  the intention is to share new knowledge frequently




   prepare        share         prepare           share             prepare             share          release      next iteration
requirements    with team    requirements       with team        requirements         with team       planning        planning
     1 week          1 day        1 week          1 day            1 week            1 day        1 day          1 day




        work

         wait




                                ( this is quite common in Scrum with backlog grooming )
Multiple Flows
                   waste as a result of different many processes




Same flow from the development team perspective


       prepare       share                share             share            release    next iteration
    requirements   with team            with team         with team         planning      planning

                    1 day                1 day             1 day            1 day      1 day




      work

      wait


                               1 week            1 week            1 week




                                  lots of wait time ?
Intersecting Flows
                  waste as a result of different ‘mini’ processes




Let’s superimpose this flow with the team flow
   estimate and                                                         complete unit
                                development                   review
      commit                                                               tests

       1 day                      3 weeks                     1 day    2 days




       work

        wait




                      1 day         1 day          1 day
                      share         share           share
                    with team     with team       with team




           the product manager flow disrupts the team flow
Disruptive Flow
                                      occurs when different flows intersect




 it reminds me of different
 currents flowing in river …                                                                                        n   g
                                                                                                                 ni
                                                                                                         p lan
                                                                                                  u ct
                                                                                           r od
                                                                                       p


                                              development


                          n ing
                  p lan
           u ct
       d
pr
   o                              … when they meet, little whirlpools form
                                   ( lots of little whirlpools, frequently enough, can be quite disruptive )
Constructive Flow
occurs when different flows are buffered or embedded



create buffers between flows
 works well for manual or semi-automated processes



                              buffer




     create embedded flows
      works well for highly automated processes




  ( because it’s automated, the touch point is a tiny, lightweight buffer )
What did I learn?

 Small intersections, frequently
   enough, can cause nasty
    whirlpools in your flow


                         so


     Buffer flows if it’s manual


                         or


 Automate a flow and embed it

( but remember the automation challenge from earlier )
Feeding back into a flow
                  knowing when to act on valuable feedback




 defects are tossed right back into
development for immediate attention

                       Software installed in production and in use



                                 toss defects back in



        go live                    development




work

 wait
Thrashing towards stability
     when we react to all feedback immediately




             thrashing for stability
             ( linear reaction to change )
Buffering manual flows
                   avoiding disruptive intersections of flows




defects get ‘work arounds’ and bugs are queued
                   go live                     development                   planning




            work

            wait



                             Software installed in production and in use

                                                                                        3
        1
                                                 queue
                      bug                bug                 bug           bug


                                                     2


                        workaround        workaround         workaround




                   ( the system is neither stable nor unstable )
Gently gaining stability
when we choose which feedback to react to and when to react




 gently gaining stability buffered feedback
              ( non-linear reaction to change )
A Lesson in Electronics 101
            the system is somewhere between two states but it’s in neither state




V-in               +15V                     V-kettle




              +
                   U1
               -


                                       R1




                   -15V                R2




       this feedback loop ...                          …. causes this      (hysteresis)   to happen



                        (fortunately we don’t have to understand electronics)
When we react too soon
  Hysteresis we have built in has too narrow a range




               it’s back to thrashing
When we react too late
        Hysteresis that we have built in has too wide a range




too much energy needed to get it back into a known state
What did I learn?

  Rapid feedback can be as
  dangerous as no feedback

             and

 Slow feedback consumes a lot
          of energy


              so


 Finding the sweet spot needs
       experimentation

             but

  All feedback is created by
 people and affects all people
Waste starts with me and ends with me


                                                         Personal flow
                                                     ( fix what I can control )




        Feedback in flows                                                               Team flow
( finding the sweet spot is worth the effort )                                        ( big wins need small steps )




                                                     Multiple flows
                                                 ( intersections cause whirlpools )
Only dead fish go with the flow




                                  ( blindly following a process does not create masterpieces )




Aslam Khan :: @aslamkhn :: +Aslam Khan :: factor10.com :: aslamkhan.net                          factor10

Weitere ähnliche Inhalte

Was ist angesagt?

Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindleICSM 2011
 
Scaling Continuous Integration in the Cloud
Scaling Continuous Integration in the CloudScaling Continuous Integration in the Cloud
Scaling Continuous Integration in the CloudAtlassian
 
Mark robinson what does lean mean for software testing
Mark robinson   what does lean mean for software testingMark robinson   what does lean mean for software testing
Mark robinson what does lean mean for software testingAGILEMinds
 
ATDD for Web Apps
ATDD for Web AppsATDD for Web Apps
ATDD for Web Appsekantola
 
Atdd for web apps
Atdd for web appsAtdd for web apps
Atdd for web appsekantola
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approachMichael Kopp
 
Using tests and mocks to drive the design of software
Using tests and mocks to drive the design of softwareUsing tests and mocks to drive the design of software
Using tests and mocks to drive the design of softwareAttila Magyar
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory OverviewArnaud Héritier
 
Expert Recommendation with Usage Expertise
Expert Recommendation with Usage ExpertiseExpert Recommendation with Usage Expertise
Expert Recommendation with Usage Expertisedavema
 
Be Modern Agile Tester
Be Modern Agile TesterBe Modern Agile Tester
Be Modern Agile TesterYi Xu
 
Real developers-dont-need-unit-tests
Real developers-dont-need-unit-testsReal developers-dont-need-unit-tests
Real developers-dont-need-unit-testsSkills Matter
 

Was ist angesagt? (14)

Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram Hindle
 
Scaling Continuous Integration in the Cloud
Scaling Continuous Integration in the CloudScaling Continuous Integration in the Cloud
Scaling Continuous Integration in the Cloud
 
Mark robinson what does lean mean for software testing
Mark robinson   what does lean mean for software testingMark robinson   what does lean mean for software testing
Mark robinson what does lean mean for software testing
 
ATDD for Web Apps
ATDD for Web AppsATDD for Web Apps
ATDD for Web Apps
 
Atdd for web apps
Atdd for web appsAtdd for web apps
Atdd for web apps
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Using tests and mocks to drive the design of software
Using tests and mocks to drive the design of softwareUsing tests and mocks to drive the design of software
Using tests and mocks to drive the design of software
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
 
Expert Recommendation with Usage Expertise
Expert Recommendation with Usage ExpertiseExpert Recommendation with Usage Expertise
Expert Recommendation with Usage Expertise
 
What to expect while scrumming om band
What to expect while scrumming  om bandWhat to expect while scrumming  om band
What to expect while scrumming om band
 
Be Modern Agile Tester
Be Modern Agile TesterBe Modern Agile Tester
Be Modern Agile Tester
 
Agiletools
AgiletoolsAgiletools
Agiletools
 
Real developers-dont-need-unit-tests
Real developers-dont-need-unit-testsReal developers-dont-need-unit-tests
Real developers-dont-need-unit-tests
 
Einführung Scrum2
Einführung Scrum2Einführung Scrum2
Einführung Scrum2
 

Ähnlich wie Lean in Software Development

你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?Jen-Chieh Ko
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012Prathan Dansakulcharoenkit
 
Leadership in the Agile World: Where do managers fit in?
Leadership in the Agile World: Where do managers fit in?Leadership in the Agile World: Where do managers fit in?
Leadership in the Agile World: Where do managers fit in?skipangel
 
Ethan huang 全民qa
Ethan huang   全民qaEthan huang   全民qa
Ethan huang 全民qaOdd-e
 
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockPragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockJoseph Yoder
 
Pragmatic notdogmatictdd agile2012
Pragmatic notdogmatictdd   agile2012Pragmatic notdogmatictdd   agile2012
Pragmatic notdogmatictdd agile2012drewz lin
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureWee Witthawaskul
 
Feedback Loops
Feedback LoopsFeedback Loops
Feedback Loopscowboyd
 
5 free things 15 aug-12
5 free things 15 aug-125 free things 15 aug-12
5 free things 15 aug-12drewz lin
 
I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?Yi Xu
 
Focus on Flow: Lean Principles in Action
Focus on Flow: Lean Principles in ActionFocus on Flow: Lean Principles in Action
Focus on Flow: Lean Principles in ActionMike Clement
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalJohn Willis
 
Agile Transformations, the Good, the Bad and the Ugly
Agile Transformations,  the Good, the Bad and the UglyAgile Transformations,  the Good, the Bad and the Ugly
Agile Transformations, the Good, the Bad and the UglyRally Software
 
Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010kensipe
 
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's  Next Gen Enterprise Devops Platform Webinar SlidesReleaseIQ's  Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar SlidesWayne Greene
 
Rapid turnaround usability testing: not just a pipe dream
Rapid turnaround usability testing: not just a pipe dreamRapid turnaround usability testing: not just a pipe dream
Rapid turnaround usability testing: not just a pipe dreamKyle Soucy
 

Ähnlich wie Lean in Software Development (20)

你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012
 
Leadership in the Agile World: Where do managers fit in?
Leadership in the Agile World: Where do managers fit in?Leadership in the Agile World: Where do managers fit in?
Leadership in the Agile World: Where do managers fit in?
 
Ethan huang 全民qa
Ethan huang   全民qaEthan huang   全民qa
Ethan huang 全民qa
 
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockPragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
 
Pragmatic notdogmatictdd agile2012
Pragmatic notdogmatictdd   agile2012Pragmatic notdogmatictdd   agile2012
Pragmatic notdogmatictdd agile2012
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Kanban and Government
Kanban and GovernmentKanban and Government
Kanban and Government
 
Feedback Loops
Feedback LoopsFeedback Loops
Feedback Loops
 
5 free things 15 aug-12
5 free things 15 aug-125 free things 15 aug-12
5 free things 15 aug-12
 
I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?
 
Creating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda LankalapalliCreating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda Lankalapalli
 
Focus on Flow: Lean Principles in Action
Focus on Flow: Lean Principles in ActionFocus on Flow: Lean Principles in Action
Focus on Flow: Lean Principles in Action
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational Capital
 
Agile Transformations, the Good, the Bad and the Ugly
Agile Transformations,  the Good, the Bad and the UglyAgile Transformations,  the Good, the Bad and the Ugly
Agile Transformations, the Good, the Bad and the Ugly
 
How to Introduce Continuous Delivery
How to Introduce Continuous DeliveryHow to Introduce Continuous Delivery
How to Introduce Continuous Delivery
 
Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's  Next Gen Enterprise Devops Platform Webinar SlidesReleaseIQ's  Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
 
Rapid turnaround usability testing: not just a pipe dream
Rapid turnaround usability testing: not just a pipe dreamRapid turnaround usability testing: not just a pipe dream
Rapid turnaround usability testing: not just a pipe dream
 

Mehr von Aslam Khan

The Humble Programmer
The Humble ProgrammerThe Humble Programmer
The Humble ProgrammerAslam Khan
 
Experiments in Reasoning
Experiments in ReasoningExperiments in Reasoning
Experiments in ReasoningAslam Khan
 
Do we care rubyfuza 2019
Do we care   rubyfuza 2019Do we care   rubyfuza 2019
Do we care rubyfuza 2019Aslam Khan
 
Agile Rabbit Holes
Agile Rabbit HolesAgile Rabbit Holes
Agile Rabbit HolesAslam Khan
 
Puppet for Human Beings (NOT!)
Puppet for Human Beings (NOT!)Puppet for Human Beings (NOT!)
Puppet for Human Beings (NOT!)Aslam Khan
 
How to get open data into the hands of activists
How to get open data into the hands of activistsHow to get open data into the hands of activists
How to get open data into the hands of activistsAslam Khan
 
Beyond Apartheid and Democracy
Beyond Apartheid and DemocracyBeyond Apartheid and Democracy
Beyond Apartheid and DemocracyAslam Khan
 
Not Quite Object Oriented
Not Quite Object OrientedNot Quite Object Oriented
Not Quite Object OrientedAslam Khan
 
Product Ownership - Leaders of Agile Webinar
Product Ownership - Leaders of Agile WebinarProduct Ownership - Leaders of Agile Webinar
Product Ownership - Leaders of Agile WebinarAslam Khan
 
Yet another building metaphor
Yet another building metaphorYet another building metaphor
Yet another building metaphorAslam Khan
 
Being in a State of REST
Being in a State of RESTBeing in a State of REST
Being in a State of RESTAslam Khan
 
Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)Aslam Khan
 
Collaboration: TRC
Collaboration: TRCCollaboration: TRC
Collaboration: TRCAslam Khan
 

Mehr von Aslam Khan (13)

The Humble Programmer
The Humble ProgrammerThe Humble Programmer
The Humble Programmer
 
Experiments in Reasoning
Experiments in ReasoningExperiments in Reasoning
Experiments in Reasoning
 
Do we care rubyfuza 2019
Do we care   rubyfuza 2019Do we care   rubyfuza 2019
Do we care rubyfuza 2019
 
Agile Rabbit Holes
Agile Rabbit HolesAgile Rabbit Holes
Agile Rabbit Holes
 
Puppet for Human Beings (NOT!)
Puppet for Human Beings (NOT!)Puppet for Human Beings (NOT!)
Puppet for Human Beings (NOT!)
 
How to get open data into the hands of activists
How to get open data into the hands of activistsHow to get open data into the hands of activists
How to get open data into the hands of activists
 
Beyond Apartheid and Democracy
Beyond Apartheid and DemocracyBeyond Apartheid and Democracy
Beyond Apartheid and Democracy
 
Not Quite Object Oriented
Not Quite Object OrientedNot Quite Object Oriented
Not Quite Object Oriented
 
Product Ownership - Leaders of Agile Webinar
Product Ownership - Leaders of Agile WebinarProduct Ownership - Leaders of Agile Webinar
Product Ownership - Leaders of Agile Webinar
 
Yet another building metaphor
Yet another building metaphorYet another building metaphor
Yet another building metaphor
 
Being in a State of REST
Being in a State of RESTBeing in a State of REST
Being in a State of REST
 
Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)
 
Collaboration: TRC
Collaboration: TRCCollaboration: TRC
Collaboration: TRC
 

Kürzlich hochgeladen

KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdfJamie (Taka) Wang
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 

Kürzlich hochgeladen (20)

KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 

Lean in Software Development

  • 1. Lean Software Development An SD Times Webinar with Kent Beck and Henrik Kniberg Aslam Khan :: @aslamkhn :: +Aslam Khan :: factor10.com :: aslamkhan.net factor10
  • 2. Personal Flow finding waste in my day to day work design next generation architecture write some mini frameworks develop legacy replacement strategy teach, mentor, code review ... TOO MUCH WORK!! why? TOO MUCH WORK!! no! MOVING between different locations too frequently why? SWITCHING to different task far too frequently which is why there is ... Lots of ALMOST COMPLETE work
  • 3. Cleaning up waste what do you actually have control over? What is my chain of waste? MOVING too frequently SWITCHING frequently ALMOST COMPLETE work motion task switching partially done work Which waste do I have CONTROL over? partially done work task switching motion
  • 4. What did I learn? DO look for the chain of waste DON’ T try to eliminate waste but or the root causes which is out of your control (over optimization) DON’ T try to be too precise DO work with good gut-based but in your estimations gross estimations (over analysis)
  • 5. What did I do? buffer and limit work in progress task switching partially done work motion buffer the tasks tasks started were prioritize and only moved around by limiting to 2 in completed before queue each task when needed each category taking another task
  • 6. Team Flow finding waste in the overall development process Kent Beck’s value stream map (from “Lean Software Development, An Agile Toolkit” by Mary and Tom Poppendieck) customer requirements planning development code freeze approval changes 4 weeks 4 weeks 8 weeks 3 weeks work wait 2 weeks 4 weeks 2 weeks there may be some ‘quick’ wins below the line but ...
  • 7. Big wins … big wins are above the line customer requirements planning development code freeze approval changes 4 weeks 4 weeks 8 weeks 3 weeks work wait 2 weeks 4 weeks 2 weeks ( big wins achieved with small changes may be are more lasting )
  • 8. At another team with whom I work estimate and complete unit development review commit tests 1 day 3 weeks 1 day 2 days work wait highly optimised wait time
  • 9. Look above the line too but what’s this? estimate and complete unit development review commit tests 1 day 3 weeks 1 day 2 days work wait They write tests in development but it is like “tag team” TDD … I write the code, tag out You write the tests, tag out I write the code ... ( which is not really TDD at all)
  • 10. What is the real problem? estimate and complete unit development review commit tests 1 day 3 weeks 1 day 2 days work wait went for continuous integration as a quick win which resulted in pressure to have high coverage from unit tests but no one had done TDD before
  • 11. Lessons I learned DON’ T believe that automation DO look for ways to automate but comes for free (automation is a highly mature state of development) DO look at the impact of automation ( what are the upstream and downstream demands? ) and use low fidelity options at the first responsible moment ( what is the simplest first attempt at this automation? ) and use high fidelity options at the last responsible moment
  • 12. Multiple Flows waste as a result of different many processes The flow for one of the product managers the intention is to share new knowledge frequently prepare share prepare share prepare share release next iteration requirements with team requirements with team requirements with team planning planning 1 week 1 day 1 week 1 day 1 week 1 day 1 day 1 day work wait ( this is quite common in Scrum with backlog grooming )
  • 13. Multiple Flows waste as a result of different many processes Same flow from the development team perspective prepare share share share release next iteration requirements with team with team with team planning planning 1 day 1 day 1 day 1 day 1 day work wait 1 week 1 week 1 week lots of wait time ?
  • 14. Intersecting Flows waste as a result of different ‘mini’ processes Let’s superimpose this flow with the team flow estimate and complete unit development review commit tests 1 day 3 weeks 1 day 2 days work wait 1 day 1 day 1 day share share share with team with team with team the product manager flow disrupts the team flow
  • 15. Disruptive Flow occurs when different flows intersect it reminds me of different currents flowing in river … n g ni p lan u ct r od p development n ing p lan u ct d pr o … when they meet, little whirlpools form ( lots of little whirlpools, frequently enough, can be quite disruptive )
  • 16. Constructive Flow occurs when different flows are buffered or embedded create buffers between flows works well for manual or semi-automated processes buffer create embedded flows works well for highly automated processes ( because it’s automated, the touch point is a tiny, lightweight buffer )
  • 17. What did I learn? Small intersections, frequently enough, can cause nasty whirlpools in your flow so Buffer flows if it’s manual or Automate a flow and embed it ( but remember the automation challenge from earlier )
  • 18. Feeding back into a flow knowing when to act on valuable feedback defects are tossed right back into development for immediate attention Software installed in production and in use toss defects back in go live development work wait
  • 19. Thrashing towards stability when we react to all feedback immediately thrashing for stability ( linear reaction to change )
  • 20. Buffering manual flows avoiding disruptive intersections of flows defects get ‘work arounds’ and bugs are queued go live development planning work wait Software installed in production and in use 3 1 queue bug bug bug bug 2 workaround workaround workaround ( the system is neither stable nor unstable )
  • 21. Gently gaining stability when we choose which feedback to react to and when to react gently gaining stability buffered feedback ( non-linear reaction to change )
  • 22. A Lesson in Electronics 101 the system is somewhere between two states but it’s in neither state V-in +15V V-kettle + U1 - R1 -15V R2 this feedback loop ... …. causes this (hysteresis) to happen (fortunately we don’t have to understand electronics)
  • 23. When we react too soon Hysteresis we have built in has too narrow a range it’s back to thrashing
  • 24. When we react too late Hysteresis that we have built in has too wide a range too much energy needed to get it back into a known state
  • 25. What did I learn? Rapid feedback can be as dangerous as no feedback and Slow feedback consumes a lot of energy so Finding the sweet spot needs experimentation but All feedback is created by people and affects all people
  • 26. Waste starts with me and ends with me Personal flow ( fix what I can control ) Feedback in flows Team flow ( finding the sweet spot is worth the effort ) ( big wins need small steps ) Multiple flows ( intersections cause whirlpools )
  • 27. Only dead fish go with the flow ( blindly following a process does not create masterpieces ) Aslam Khan :: @aslamkhn :: +Aslam Khan :: factor10.com :: aslamkhan.net factor10