Lean Based Sofware Development
-
Upload
semen-cirit-safe-agilist -
Category
Leadership & Management
-
view
33 -
download
2
Transcript of Lean Based Sofware Development
![Page 1: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/1.jpg)
LEAN BASED SOFWARE
DEVELOPMENT
Semen Cirit
@semencirit
2016
![Page 2: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/2.jpg)
What is Lean?
• Maximize customer value while minimizing waste.
• Continiously increasing customer value.
• The ultimate goal is to provide perfect value to the
customer through a perfect value creation process that
has zero waste.
![Page 3: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/3.jpg)
Lean Thinking
• Optimizing the flow of products and services through
entire value streams
• Eliminating waste along entire value streams, instead
of at isolated points
• Creates processes that need less human effort, less
space, and less time to make products and services at
far less costs and with much fewer defects, compared
with traditional business systems.
• Companies are able to respond to changing customer
desires with high variety, high quality, low cost, and
with very fast throughput times.
![Page 4: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/4.jpg)
![Page 5: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/5.jpg)
Lean Principles
![Page 6: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/6.jpg)
Lead Time and Cycle Time
• Lead Time:
– Time between request to delivery
– This is what the customer sees!
• Cycle Time:
– Time between production start to completion
– Not visible to customer
![Page 7: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/7.jpg)
Takt Time
• Calculated as the available production time divided by customer
demand.
• The purpose of takt time is to precisely match production with
demand.
• If customers want two new products per month, takt time is two
weeks.
![Page 8: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/8.jpg)
Value Stream for Cola Cans
![Page 9: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/9.jpg)
Software Development Value Stream
![Page 10: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/10.jpg)
Agile Value Stream Map
![Page 11: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/11.jpg)
Wastes in Lean
![Page 12: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/12.jpg)
How they manifest?
![Page 13: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/13.jpg)
![Page 14: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/14.jpg)
Wastes in Software Development
Waste in Manufacturing Waste in Software development
Inventory Partially work done
Extra Processing Extra procceses and meetings
Overproduction Extra not value added features
Transportation Task switching
Waiting Waiting
Motion Unused creativity
Rework Defects
![Page 15: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/15.jpg)
7 Principles of Lean Software
Development
![Page 16: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/16.jpg)
Optimize the Whole
• Focus on the Entire Value Stream
• From concept to cash.
• From customer request to deployed software.
• Deliver a Complete Product
• Customers don't want software; they want their problems solved.
• Think Long Term
![Page 17: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/17.jpg)
Eliminate Waste
• Waste is anything that does not add customer value.
• Building the Wrong Thing – That customer does not want
• Failure to Learn - interfere with the learning that is the essence of
development.
• Thrashing –task switching, long lists of requests, big piles of partly
done work
![Page 18: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/18.jpg)
Build Quality In
• Final Verification Should Not Find Defects!
• Primary purpose to find and fix defects as early in the development process as possible.
• Proof your Process with Test-First Development
• Establish confidence in the correctness of the system at any timeduring development, at every level of the system.
• Break Dependencies
• System architecture should support the addition of any feature at any time.
![Page 19: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/19.jpg)
Learn Constantly and Fast
• Predictable Performance is Driven by Feedback
• Maintain Options
• Think of code as an experiment – make it change-tolerant.
• Last Responsible Moment
• Learn as much as possible before making irreversible decisions.
• Rapid Delivery, High Quality, and Low Cost are Fully
Compatible
• Queuing Theory Applies to Development, not Just
Servers
• Managing Workflow is a lot easier than Managing
Schedules
![Page 20: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/20.jpg)
Keep Getting Better
• Failure is a Learning Opportunity
• Standards Exist to be Challenged and Improved
• Use the Scientific Method
![Page 21: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/21.jpg)
Engage Everyone
• Autonomy
• The most effective work groups are semi-autonomous teams with an internal leader with end-to-end responsibility for complete, meaningful tasks.
• Mastery
• Respect for people means providing the challenge, feedback, and environment that enables everyone to become excellent.
• Purpose
• Tie work to value. Only by believing in the purpose of their work will people become engaged in achieving that purpose.
![Page 22: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/22.jpg)
What is Kanban?
• Kanban is not an inventory control system; it is a
scheduling system that helps determine what to
produce, when to produce it, and how much to produce.
• In addition, it proved to be an excellent way for
promoting improvements because reducing the number
of kanban in circulation highlighted problem areas.
• Kanban in the context of software development can mean
a visual process management system that tells what to
produce, when to produce it, and how much to produce
inspired by the Toyota Production System and Lean
manufacturing.
![Page 23: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/23.jpg)
Kanban for Software
• Visualize the Workflow: Represent the work items and
the workflow on a card wall or electronic board
• Limit Work-in-Progress (WIP): Set agreed upon limits
on how many work items are in progress at a time
• Measure and Manage Flow: Track work items to see if
they are proceeding at a steady, even pace
• Make Process Policies Explicit: Agree upon and post
policies about how work will be handled
• Use Models to Evaluate Improvement Opportunities:
Adapt the process using ideas from Systems Thinking,
Deming, etc
![Page 24: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/24.jpg)
Kanban Way / Just in Time(JIT)
• Don’t build features that nobody needs right now
• Don’t write more specs than you can code
• Don’t write more code than you can test
• Don’t test more code than you can deploy
![Page 25: Lean Based Sofware Development](https://reader031.fdocuments.us/reader031/viewer/2022030307/58e58f341a28abdd148b510f/html5/thumbnails/25.jpg)
Kanban Board