implementing lean software with agile tools
TRANSCRIPT
-
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