This article presents a literature review whose purpose is to identify the key characteristics of lean software development and its similarities and differences with agile methodologies. A case study conducted in a team of software developers is presented, where lean concepts were applied within the current process, previously based on agile methodologies. It was found at the end of this work that the indicator used by the team, percentage of the time spent on improvements and new features, had a significant increase, causing the team being able to add more value to the product, and to increase the level of quality.
Micro-Scholarship, What it is, How can it help me.pdf
LEAN SOFTWARE DEVELOPMENT: A CASE STUDY IN A MEDIUM-SIZED COMPANY IN BRAZILIAN STATE OF SANTA CATARINA
1. LEAN SOFTWARE DEVELOPMENT:
A CASE STUDY IN A MEDIUM-SIZED
COMPANY IN BRAZILIAN STATE OF
SANTA CATARINA
Ivan Bosnic
bosnic.ivan@gmail.com
Mehran Misaghi
mehran@sociesc.org.br
5. What is Lean Software Development?
Ideas and concepts from Lean Manufacturing and Lean Product Development
Based on Toyota Production System and Toyota System of Product
Development
Main goal is to eliminate waste
Much broader concept then Agile
Based on seven principles
6. Principles of Lean Software Development
Eliminate waste
Integrating Quality
Creating
Knowledge
Postpone
Commitments
Delivering Fast
Respect People
OPTIMIZE THE WHOLE
7. Eliminate Waste (Hibbs, Jewett and Sullivan (2009))
Defects: cause costly rework
Overproduction:Unnecessary features
Stock: Partially completed tasks
Transportations: Switching between tasks
Further processing: unnecessary processes.
Standby: Delays
8. Lean Software Development in Practice
Eliminate waste
Multitasking problem identified as major cause of decreased productivity
Each sprint, one developer is responsible for providing support
Other developers are not allowed to work on more than one task at a time
Goal is to implement continuous and unit flow
9. Lean Software Development in Practice
Integrating quality
Automated tests integrated into process from the beginning
Leaving test development for later is a huge waste
10. Lean Software Development in Practice
Creating knowledge
Knowledge should be available to all members
A collaborative tool for knowledge management was implemented
11. Lean Software Development in Practice
Postpone commitments
Important decisions postponed until team had more knowledge
Practice proved to be very effective, avoiding hasty decisions
12. Lean Software Development in Practice
Delivering fast
Divide the project into smaller interactions between 3 to 4 weeks
Obtain the customer feedback more rapidly
Widely used in SCRUM (one of the agile methodologies)
13. Lean Software Development in Practice
Respect people
Planning future releases involves opinion of all members
Make the team commits to the estimates
14. Results From Case Study
Case study conducted in a team with more than 5 years of Agile experience
Data collection period: September 2011 until August 2012
Tasks are divided in 4 groups (components) and time is recorded daily
Product
Bugs
Support
Management
15. Group details
Product: groups all the hours spent on tasks that add value to the product,
such as improvements and new features, development of automated tests,
etc.
Bugs: the time spent on correction of nonconformities;
Support: hours are recorded in support activities provided to other teams;
Management: all tasks related to project management: meetings, planning,
daily meetings, etc.
16. Tools used in the process of software development
Documenting functional and technical details
o Registration and monitoring of requirements
o Time recording and graph tracking progress of version
17. Results From Case Study
Percentage of time spent per component
70
60
50
40
Product
30
Bug
20
Others
13.9
10
0
5.9
18. Results From Case Study
Time invested in improvements and new features
70
60
50
Product
September 2011
October 2011
November 2011
40
30
20
December 2011
January 2012
February 2012
Martch 2012
April 2012
10
0
May 2012
June 2012
July 2012
August 2012
19. Results From Case Study
Time spent on bug fixing
16
14
12
10
Bug
September 2011
October 2011
November 2011
December 2011
8
6
4
January 2012
February 2012
Martch 2012
April 2012
2
May 2012
0
June 2012
July 2012
August 2012
20. Conclusion
~20% increase in time invested in product
Time spent in bug fixes decreased from 14% to 6%
Elimination of waste achieved by elimination of multitasking
Automated testing responsible for integrating more quality to software
Lean and Agile are complementary methodologies
22. Main Result
Indicator used by the team, percentage of the time spent
on improvements and new features, had a significant
increase, causing the team being able to add more value
to the product, and to increase the level of quality.
23. References
1. Arked, M., 2003. Risk reduction with the RUP phase plan. 2003. Available at:
<http://www.ibm.com/developerworks/rational/library/1826.html>.
2. Cohn, Mike, 2010. Succeeding with agile: Software development using scrum. Addison-Wesley, Boston, USA.
3. Dyba, T.; Dingsoyr, T., 2008. Empirical studies of agile software development: A systematic review. Information And
Software Technology. Vol. 50, pp 833-859.
4. Gustavsson, Håkan, 2011. Lean thinking applied to system architecting. Thesis. Department of School Of
Innovation, Design And Engineering, Mälardalen University, Västerås, Sweden.
5. Hibbs, C.; Jewett, S.; Sullivan, M., 2009. The art of lean software development. Sebastopol: O’Reilly Media, Inc,
Sebastopol, USA.
6. Kniberg, H., 2011. Lean from the Trenches: Managing Large-Scale Projects with Kanban. The Pragmatic Bookshelf,
Dallas, USA.
7. Ohno, T., 1988. Toyota Production Software: Beyond Large Scale Production. Productivity Press, Oregon, USA.
8. Petersen, Kai, 2010. Implementing Lean and Agile Software Development in Industry. Thesis - Department of
School Of Computing, Blekinge Institute Of Technology, Karlskrona, Sweden.
9. Poppendieck, M; Poppendieck, T, 2007. Implementing Lean Software Development: From Concept to Cash.
Addison-Wesley, Boston, USA.
10.Pressman, R. S., 2004. Software Engineering: a Practitioner’s Approach. 6th. ed. McGraw-Hill, New York, USA.
11.Preis, K. H.; Quigley, J. M., 2011. Scrum Project Management. CRC Press, Boca Raton, USA.
12.Shore, J.; Warden, S., 2008. The Art of Agile Development. Sebastopol: O’Reilly Media, Inc, Sebastopol, USA.
13.Smith, G.; Sidky, A., 2009. Becoming Agile: In an imperfect world. Manning Publications Co, Greenwich, England.
14.Sommerville, Ian, 2011. Software Engineering. 9Th ed. Addison-Wesley, Boston, USA.
15.Vlaanderen, Kevin et al., 2011. The agile requirements refinery: Applying SCRUM principles to software product
management. Information And Software Technology. Vol. 53, no 1, pp 58-70.