Implementing Lean Software With Agile Tools

Embed Size (px)

Citation preview

  • 8/4/2019 Implementing Lean Software With Agile Tools

    1/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    2/37

    Introduction- deep seated problems

    Background Researches- What is Lean about?- Why Lean?- Previous studies of developing Lean software- Agile?

    Research Methodology- Ultimate goal

    - Agile tool, Scrum

    - Analyzing a case study from an global Internet portal company- Results of a case study

    Conclusion- Summary of research

    - Values- Limitations

  • 8/4/2019 Implementing Lean Software With Agile Tools

    3/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    4/37

    With (1995) pointed, Todays software is getting fat (results in complexity)Poppendieck said, complexity is cholesterol which tacitly killing growth and

    profit in software development

    , decrease quality and manageability

  • 8/4/2019 Implementing Lean Software With Agile Tools

    5/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    6/37

    Quality

    Manageability

    Immaturity

  • 8/4/2019 Implementing Lean Software With Agile Tools

    7/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    8/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    9/37

    There have been movements and efforts to learn from Best Practices inmanufacturing domain.

    What has attracted the most attention was Lean which wasretranslated from Lean Manufacturing.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    10/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    11/37

    Lean is a mindset, a way of thinking about how to quickly delivermaximum value to the customer. (Hibbs et al., 2009)

    Lean offers 7 major principles such as waste elimination, learningamplification, seeing the whole, empowering team and so on.

    Waste elimination is the heart of Lean (Tierney, 1993)

  • 8/4/2019 Implementing Lean Software With Agile Tools

    12/37

    Lean concept is applicable in any environmentto improve softwaredevelopment. (Poppendieck, 2002)

    Lean principles provide a good frameworkfor improving software development.(Poppendieck, 2002)

    Software industry would gain same result of what Lean benefited in productionas it helped productivity more than double compared to industry norms while

    dropped errors and anomalies. (Poppendieck, 2002)

    Clearly implemented Lean software causes dramatic improvements. (Morgan, 1998)

    Application of Lean to software development reduces cycle time, but improveoverall quality. (Hamiltion, 1999)

  • 8/4/2019 Implementing Lean Software With Agile Tools

    13/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    14/37

    Effort 1

    - Sowmyan (1998) tried to verify the feasibility of Lean Software Development

    with the idea of Reusability.

    - According to Sowmyan, Software reusability is core in implementing leansoftware.

    - Expected Benefits: improving quality, but reducing time and costs.

    - Limitation: it dealt with the topic in a theoretical way. That is, it did notspecifically show how to implement the Lean principles intosoftware development.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    15/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    16/37

    Effort 2

    - Parnell-Klabo (2006) proposed a more practical wayof developing softwareas combining Lean with Agile.

    -Used tool: Scrum (one of representatives of Agile)

    - To empirically verify, it executed a pilot project targeting acquisition divisionat a large financial company.

    - Results: Firstly used Lean optimized the software developing environmentwith 50% reduction in tasks.Secondly adopted Agile tool, Scrum reduced durationof softwaredevelopment and testing by 40% and also dropped costsby 15%.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    17/37

    - Value: pilot based experimental approach.

    - Limitation: did not present detailed Scrum role in achieving such outcomes.

    : Hard to understand the pilot success in the way of reflecting the lean idea.(the improvements achieved in cost, duration, and quality is not aligned withthe core value of Lean, waste elimination.)

  • 8/4/2019 Implementing Lean Software With Agile Tools

    18/37

    Based on the concept Agility

    Apply time-boxed iterative and evolutionary development, adaptiveplanning, promote evolutionary delivery. (Larman, 2004)

    Objective: to embrace Changes through rapid and flexible response to them.

    (Larman, 2004)

    Value: enhances value of products and ultimately users satisfaction.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    19/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    20/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    21/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    22/37

    Scrum is a tool managing a project with brief daily progress updates anditerative sprints development cycle.

    Scrum is the most applicable to any business environment with highvariability and complexity. (Parnell-Klabo, 2006)

    High applicability

    Scrum is simple; its process, practices, artifacts and rules are few,straightforward, and easy to learn. (Schwaber, 2003)

    High simplicity

  • 8/4/2019 Implementing Lean Software With Agile Tools

    23/37

    Comparative Analysis of Real Case Studies

    (Developed under Scrum) (Developed without Scrum)

    A BVS

  • 8/4/2019 Implementing Lean Software With Agile Tools

    24/37

    Key decisions

    1)What to manage to reduce wastes: Defects & Project lead time

    -Defects are one of the most harmful wastes in terms of quality, costs,and speed. (Tierney, 1993)

    Reasons Undiscovered and not corrected defects will ruin project quality.

    It becomes far more expensive to fix defects as a project moves on.

    - Long lead time creates high level of variation, increases costs, andhinders quality improvements.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    25/37

    2) How to visualize the effects of Scrum in the way of reflecting Lean

    : CFD (Visualization Tool)

    - It depicts total works to do, remaining works (=queue), completedworks of a whole project.

    Thus, it enables users to easily recognize any stagnant bottlenecks

    and perform better for overall process improvement.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    26/37

    Case 1(Global Finance Site Development Project)

    Case 2(Global World Cup Project)

    Samethings

    - Both used same programming language under same development environment.- Size and development period of projects and their complexities were similar.- Each project team conformed to their development methodology.

    Differences

    Traditional approach (Waterfall)Agile approach (Scrum)

    - Sprint was released every 2 weeks

    3 sub teams (15 members) 12 members

    After first code freeze (22 February), WIPsharply increased

    Average Lead Time for defect detection andcorrection: 28 days

    WIP kept at consistent level

    Average Lead Time: 12 days(decreased up to 10 days as the project

    went on)

  • 8/4/2019 Implementing Lean Software With Agile Tools

    27/37

    Case 1. Cumulative Flow Diagram of Global Finance Project

    WIP

    Lead Time

  • 8/4/2019 Implementing Lean Software With Agile Tools

    28/37

    Case 1. Average lead time flow diagram of global finance project

  • 8/4/2019 Implementing Lean Software With Agile Tools

    29/37

    Case 2. Cumulative flow diagram of global world cup project

  • 8/4/2019 Implementing Lean Software With Agile Tools

    30/37

    Case 2. Average lead time flow diagram of global world cup project

  • 8/4/2019 Implementing Lean Software With Agile Tools

    31/37

    What made them different? What caused the different results?

    Under Scrum approach, the global world cup project were monitored every 2 weeksin order to see what happened during the previous 2 weeks .

    WIP (number of defects issued) was not much piled up, but resolved as soon asthey occurred. Thus, Lead time (time to spend on fixing defects found) was steadilydecreased.

    On the other hand, under waterfall based project, huge amounts of errors weredetected and stacked up since the team was not good enough to immediately correct

    them with limited team capability.

    WIP was stacked and it directly affected to increase lead time, eventually projectcosts escalated.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    32/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    33/37

    the objective was to visibly prove the effects of Scrum on implementing corelean idea, waste elimination in the whole course of software development.

    the result of case study showed there was two-and-half times differencesbetween the highest level of WIP at each project. (maximum WIP in global finance;500 whereas around 200 in global world cup)Plus, lead time in global world cup came down 50% compared to the one in globalfinance.

    (WIP + Lead time) = Wastes

    Shows Agile could be a good tool for realizing Lean software development which

    only contains theoretical principles.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    34/37

    Empirically approached to the topic of agile-lean software development.

    Presented possibility that Agile practices and tools can be levers onimplementation of core lean principle via Scrum adoption.

    All the findings in the research methodology and the way of performing theresearch seem to be a good guideline for future studies.

    The reduction of WIP and Lead time in the research seems to have positive

    impact on project cost, quality, and productivity improvements which are allproven goal of Agile.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    35/37

    the case study showed mainly quantified outcomes with the use ofCFD.

    the case study itself may lack of objectiveness for selecting projects interms of control variables.

    could not explain the validity of using Agile in terms of actualization ofother Lean principles.

  • 8/4/2019 Implementing Lean Software With Agile Tools

    36/37

  • 8/4/2019 Implementing Lean Software With Agile Tools

    37/37