LEAN SOFTWARE DEVELOPMENT: A CASE STUDY IN A MEDIUM-SIZED COMPANY IN BRAZILIAN STATE OF SANTA CATARINA Ivan Bosnic [email protected] Mehran Misaghi [email protected]
Jan 23, 2015
LEAN SOFTWARE DEVELOPMENT: A CASE STUDY IN A MEDIUM-SIZED COMPANY IN BRAZILIAN STATE OF
SANTA CATARINA
Ivan [email protected]
Mehran [email protected]
Introduction
Results From Case Study
Conclusion
Lean Software Development in Practice
What is Lean Software Development?
Agenda
Modern societies depend on software for
and for several others critical services.
Introduction
Even with so much importance
software project success rates are still very low.
Introduction
Ideas and concepts from Lean Manufacturing and Lean Product Development
Much broader concept then Agile
Based on seven principles
Main goal is to eliminate waste
Based on Toyota Production System and Toyota System of Product Development
What is Lean Software Development?
Eliminate waste
Postpone Commitments
Delivering Fast Respect People
OPTIMIZE THE WHOLE
Creating Knowledge
Integrating Quality
Principles of Lean Software Development
Defects: cause costly rework
Transportations: Switching between tasks
Further processing: unnecessary processes.
Stock: Partially completed tasks
Overproduction:Unnecessary features
Eliminate Waste (Hibbs, Jewett and Sullivan (2009))
Standby: Delays
Eliminate waste
Other developers are not allowed to work on more than one task at a time
Goal is to implement continuous and unit flow
Each sprint, one developer is responsible for providing support
Multitasking problem identified as major cause of decreased productivity
Lean Software Development in Practice
Integrating quality
Leaving test development for later is a huge waste
Automated tests integrated into process from the beginning
Lean Software Development in Practice
Creating knowledge
A collaborative tool for knowledge management was implemented
Knowledge should be available to all members
Lean Software Development in Practice
Postpone commitments
Practice proved to be very effective, avoiding hasty decisions
Important decisions postponed until team had more knowledge
Lean Software Development in Practice
Delivering fast
Divide the project into smaller interactions between 3 to 4 weeks
Lean Software Development in Practice
Obtain the customer feedback more rapidly
Widely used in SCRUM (one of the agile methodologies)
Lean Software Development in Practice
Respect people
Planning future releases involves opinion of all members
Make the team commits to the estimates
Case study conducted in a team with more than 5 years of Agile experience
Bugs
Support
Product
Data collection period: September 2011 until August 2012
Results From Case Study
Management
Tasks are divided in 4 groups (components) and time is recorded daily
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.
Group details
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
Percentage of time spent per component
Results From Case Study
0
10
20
30
40
50
60
70
Product
Bug
Others
13.9
5.9
Time invested in improvements and new features
Results From Case Study
0
10
20
30
40
50
60
70 Product
September 2011
October 2011
November 2011
December 2011
January 2012
February 2012
Martch 2012
April 2012
May 2012
June 2012
July 2012
August 2012
Time spent on bug fixing
Results From Case Study
0
2
4
6
8
10
12
14
16 Bug
September 2011
October 2011
November 2011
December 2011
January 2012
February 2012
Martch 2012
April 2012
May 2012
June 2012
July 2012
August 2012
~20% increase in time invested in product
Automated testing responsible for integrating more quality to software
Lean and Agile are complementary methodologies
Elimination of waste achieved by elimination of multitasking
Time spent in bug fixes decreased from 14% to 6%
Conclusion
•
•
Our Contribution
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.
Main Result
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.
References