SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Tathagat Varma
http://managewell.net
Lean and Kanban-based
Software Development
http://www.toyota-global.com/company/history_of_toyota/75years/text/entering_the_automotive_business/chapter1/section4/images/l02_01_04_04_img01.jpg
What is Lean?
•  maximize customer value while minimizing
waste.
•  A lean organization understands customer value
and focuses its key processes to continuously
increase it. The ultimate goal is to provide
perfect value to the customer through a
perfect value creation process that has zero
waste.
Lean Thinking
•  Lean thinking changes the focus of management from
optimizing separate technologies, assets, and vertical departments
to optimizing the flow of products and services through entire
value streams that flow horizontally across technologies, assets,
and departments to customers.
•  Eliminating waste along entire value streams, instead of at
isolated points, creates processes that need less human effort,
less space, less capital, 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. Also, information
management becomes much simpler and more accurate.
http://www.shmula.com/lean-history-and-timeline-toyota-production-system/5993/
Lean Principles
1. Identify
Value
2. Map
the Value
Stream
3. Create
Flow
4.
Establish
Pull
5. Seek
Perfection
Lean Principles
•  Specify value from the standpoint of the end customer by product family.1. Identify Value
•  Identify all the steps in the value stream for each product family, eliminating
whenever possible those steps that do not create value.
2. May the Value
Stream
•  Make the value-creating steps occur in tight sequence so the product will flow
smoothly toward the customer.3. Create Flow
•  As flow is introduced, let customers pull value from the next upstream activity.4. Establish Pull
•  As value is specified, value streams are identified, wasted steps are removed,
and flow and pull are introduced, begin the process again and continue it until
a state of perfection is reached in which perfect value is created with no waste.
5. Seek Perfection
http://www.lean.org/whatslean/principles.cfm
What is Value?
http://mikehohnen.com/2008/04/19/oplevelse/
Perceived Value?
http://blogs.forrester.com/norbert_kriebel/13-06-04-use_the_value_equation_to_drive_successful_meetings
Value Equation of a Smartphone
http://www.jtklepp.com/2009/12/03/a-value-based-framework-for-the-smartphone-os-war/
Value Stream Map (VSM)
•  Special type of flow chart that uses symbols
known as "the language of Lean" to depict and
improve the flow of inventory and information
•  Purpose is to provide optimum value to the
customer through a complete value creation
process with minimum waste in
– Design (concept to customer)
– Build (order to delivery)
– Sustain (in-use through life cycle to service)
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
http://www.whatissixsigma.net/cycle-time/
Takt Time
•  The pace at which customer
requires products.
•  Calculated as the available
production time divided by
customer demand.
•  The purpose of takt time is to
precisely match production with
demand.
•  For example, if a widget factory
operates 480 minutes per day
and customers demand 240
widgets per day, takt time is two
minutes.
•  Similarly, if customers want two
new products per month, takt
time is two weeks.
http://www.lean.org/Common/LexiconTerm.aspx?termid=337 http://www.beyondlean.com/takt-time.html
Process Cycle Efficiency (PCE)
•  PCE = Value-added Time / Total Lead Time
•  Also known as Value Added Ratio
•  How efficient is your process?
Value Stream for Cola Cans
Lean Thinking – Womack and Jones
Software Development Value Stream
http://softwarecreation.org/2009/reliable-software-development-process-the-toyota-way/
Kent Beck’s Value Stream Map
Agile Value Stream Map
Lean Software Development, An Agile Toolkit – Mary Poppendeick
Wastes in Lean
http://nantachit.exteen.com/20120131/muda-muri-mura
How they manifest?
https://leanandkanban.wordpress.com/2011/03/22/lean-is-about-eliminating-waste-right/
Wastes in Software Development
Wastes in
Manufacturing
Wastes in Software
Development
Inventory Partially done work
Extra Processing Extra processes
Overproduction Extra features
Transportation Task Switching
Waiting Waiting
Motion Motion
Defects Defects
www.poppendieck.com
5S in Software Development
•  Sort (Seiri): Sort through the stuff on the team workstations and servers, and find the
old versions of software and old files and reports that will never be used any more.
Back them up if you must, then delete them.
•  Systematize (Seiton): Desktop layouts and file structures are important. They should
be crafted so that things are logically organized and easy to find. Any workspace that is
used by more than one person should conform to a common team layout so people
can find what they need every place they log in.
•  Shine (Seiso): Whew, that was a lot of work. Time to throw out the pop cans and
coffee cups, clean the fingerprints off the monitor screens, and pick up all that paper.
Clean up the whiteboards after taking pictures of the important designs that are
sketched there.
•  Standardize (Seiketsu): Put some automation and standards in place to make sure
that every workstation always has the latest version of the tools, backups occur
regularly, and miscellaneous junk doesn't accumulate.
•  Sustain (Shitsuke): Now you just have to keep up the discipline.
Implementing Lean Software Development from Concept to Cash – Mary Poppendeick
5S in Java
•  Sort (Seiri): Reduce the size of the code base. Throw away all unneeded items immediately. Remove:
–  Dead code
–  Unused imports
–  Unused variables
–  Unused methods
–  Unused classes
–  Refactor redundant code
•  Systematize (Seiton): Organize the projects and packages. Have a place for everything and everything in its place.
–  Resolve package dependency cycles
–  Minimize dependencies
•  Shine (Seiso): Clean up. Problems are more visible when everything is neat and clean.
–  Resolve unit test failures and errors ( passed == 100%)
–  Improve unit test coverage ( > 80%)
–  Improve unit test performance
–  Check AllTests performance
–  Resolve checkstyle warnings
–  Resolve PMD warnings
–  Resolve javadoc warnings
–  Resolve TODO's
•  Standardize (Seiketsu): Once you get to a clean state, keep it that way. Reduce complexity over time to improve ease
of maintenance.
•  Sustain (Shitsuke): Use and follow standard procedures.
Implementing Lean Software Development from Concept to Cash – Mary Poppendeick
7 Principles of Lean Software Development
Optimize the Whole
Eliminate Waste
Build Quality In
Learn Constantly
Deliver Fast
Engage Everyone
Keep Getting Better
www.poppendieck.com
Optimize the Whole
Optimizing a part of a system will always, over time,
sub-optimize the overall system.
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.
Complete solutions are built by complete teams.
Think Long Term
Beware of governance and incentive systems that drive short
term thinking and optimize local performance.
www.poppendieck.com
Eliminate Waste
Waste is anything that does not add customer value.
The three biggest wastes in software development are:
Building the Wrong Thing
"There is nothing so useless as doing efficiently that which should not be
done at all." –Peter Drucker
Failure to Learn
Many of our policies – for example: governance by variance from plan, frequent
handovers, and separating decision-making from work – interfere with the
learning that is the essence of development.
Thrashing
Practices that interfere with the smooth flow of value –task switching, long
lists of requests, big piles of partly done work – deliver half the value for twice
the effort.
www.poppendieck.com
Build Quality In
If you routinely find defects in your verification process, your process is
defective.
Final Verification Should Not Find Defects!
Every software development process ever invented had as its primary
purpose to find and fix defects as early in the development process as
possible.
Mistake-Proof your Process with Test-First Development 
Tests – including, unit tests, end-to-end tests, and integration tests – must be
available to 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.
www.poppendieck.com
Learn Constantly
Planning is useful. Learning is essential.
Predictable Performance is Driven by Feedback
A predictable organization does not guess about the future and
call it a plan; it develops the capacity to rapidly respond to the
future as it unfolds.
Maintain Options
Think of code as an experiment – make it change-tolerant.
Last Responsible Moment
Learn as much as possible before making irreversible decisions.
Don't make decisions that will be expensive to change before
their time – and don't make them after their time!
www.poppendieck.com
Learn Fast
Start with a deep understanding of all stakeholders and what they will
value. Create a steady, even flow of work, pulled from this deep
understanding of value.
Rapid Delivery, High Quality, and Low Cost are Fully Compatible
Companies that compete on the basis of speed have a big cost advantage,
deliver superior quality, and are more attuned to their customers' needs.
Queuing Theory Applies to Development, not Just Servers
Focusing on utilization creates a traffic jam that actually reduces
utilization. Drive down cycle time with small batches and fewer things-in-
process. Aggressively limit the size of lists and queues
Managing Workflow is a lot easier than Managing Schedules
The best way to establish reliable, predictable deliveries is to establish
reliable, repeatable workflows with iterations or a kanban system.
www.poppendieck.com
Keep Getting Better
Results are not the point – the point is to develop the people and the
systems capable of delivering results.
Failure is a Learning Opportunity
The most reliable performance comes when even small failures are deeply
investigated and corrected; when noise is not tolerated.
Standards Exist to be Challenged and Improved
Embody the current best known practice in standards that everyone
follows, while actively encouraging everyone to challenge and change the
standards.
Use the Scientific Method
Teach teams to: establish hypotheses, conduct many rapid experiments,
create concise documentation, and implement the best alternative.
www.poppendieck.com
Engage Everyone
The time and energy of bright, creative people are the scarce resources in today's
economy, and the basis of competitive advantage.
People who are paid fairly and adequately are motivated by autonomy, mastery,
and purpose.
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.
www.poppendieck.com
What is Kanban?
•  Kanban (literally signboard or billboard) is a scheduling system
for lean and just-in-time (JIT) production. According to its
creator, Taiichi Ohno, kanban is one means through which JIT is
achieved.
•  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.
•  The need to maintain a high rate of improvement led Toyota to devise
the kanban system. Kanban became an effective tool to support the
running of the production system as a whole.
•  In addition, it proved to be an excellent way for promoting
improvements because reducing the number of kanban in circulation
highlighted problem areas.
https://en.wikipedia.org/wiki/Kanban
Kanban System
http://www.toyota-global.com/company/vision_philosophy/toyota_production_system/just-in-time.html
How Kanban helps achieve “Just-in-
Time”?
•  For example, to efficiently produce a large
number of automobiles, which can consist of
around 30,000 parts, it is necessary to create a
detailed production plan that includes parts
procurement. Supplying "what is needed,
when it is needed, and in the amount
needed" according to this production plan can
eliminate waste, inconsistencies, and
unreasonable requirements, resulting in
improved productivity.
http://www.toyota-global.com/company/vision_philosophy/toyota_production_system/just-in-time.html
Kanban in the context of Software
Development
•  Kanban is a method for managing knowledge work
with an emphasis on just-in-time delivery while not
overloading the team members. In this approach,
the process, from definition of a task to its delivery
to the customer, is displayed for participants to see
and team members pull work from a queue.
•  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[1] and 
Lean manufacturing.[2]
https://en.wikipedia.org/wiki/Kanban_(development)
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.
Kanban: Successful Evolutionary Change for your Technology Business – David Anderson
Why Kanban in Software Engineering?
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
https://leanandkanban.files.wordpress.com/2009/04/kanban-for-software-engineering-apr-242.pdf
A Kanban System at my Toyota
dealership
https://twitpic.com/het3u
Kanban board
References
•  http://poppendieck.com/
•  http://refcardz.dzone.com/refcardz/getting-
started-kanban
•  http://refcardz.dzone.com/refcardz/getting-
started-lean-software
•  http://www.djaa.com/
•  https://en.wikipedia.org/wiki/
Lean_software_development
•  http://kanbanblog.com/explained/

Contenu connexe

Tendances

Tendances (20)

Agile Metrics V6
Agile Metrics V6Agile Metrics V6
Agile Metrics V6
 
Agile 101
Agile 101Agile 101
Agile 101
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
 
Lean Leadership: Part 2 of 3
Lean Leadership: Part 2 of 3Lean Leadership: Part 2 of 3
Lean Leadership: Part 2 of 3
 
Alternate Hourly Lean Introduction
Alternate Hourly Lean IntroductionAlternate Hourly Lean Introduction
Alternate Hourly Lean Introduction
 
Agile Development Methodology: Best Practices and Use Cases
Agile Development Methodology: Best Practices and Use CasesAgile Development Methodology: Best Practices and Use Cases
Agile Development Methodology: Best Practices and Use Cases
 
Value Stream Transformation: Achieving Excellence through Leadership Alignmen...
Value Stream Transformation: Achieving Excellence through Leadership Alignmen...Value Stream Transformation: Achieving Excellence through Leadership Alignmen...
Value Stream Transformation: Achieving Excellence through Leadership Alignmen...
 
Scrum Training (One Day)
Scrum Training (One Day)Scrum Training (One Day)
Scrum Training (One Day)
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
 
Kanban introduction
Kanban introductionKanban introduction
Kanban introduction
 
Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Heart of Agile: What is Agile?
Heart of Agile: What is Agile?
 
Agile 101
Agile 101Agile 101
Agile 101
 
Hourly Lean Introduction
Hourly Lean IntroductionHourly Lean Introduction
Hourly Lean Introduction
 
Sprint review and Retrospective
Sprint review and RetrospectiveSprint review and Retrospective
Sprint review and Retrospective
 
Implementing Kanban to Improve your Workflow
Implementing Kanban to Improve your WorkflowImplementing Kanban to Improve your Workflow
Implementing Kanban to Improve your Workflow
 
Agile - Scrum
Agile - ScrumAgile - Scrum
Agile - Scrum
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodology
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 

En vedette

Agile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs LeanAgile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs Lean
Abdul Wahid
 
R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)
Raimondo Villano
 

En vedette (20)

Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
Lean vs scrum
Lean vs scrumLean vs scrum
Lean vs scrum
 
Agile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs LeanAgile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs Lean
 
Lean Software Development Principles
Lean Software Development PrinciplesLean Software Development Principles
Lean Software Development Principles
 
Kanban Basics
Kanban BasicsKanban Basics
Kanban Basics
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Idea21 2015
Idea21 2015Idea21 2015
Idea21 2015
 
Intelligence artificielle en médecine
Intelligence artificielle en médecineIntelligence artificielle en médecine
Intelligence artificielle en médecine
 
孤独なフリーランサー
孤独なフリーランサー孤独なフリーランサー
孤独なフリーランサー
 
Rapport de Triple-C sur l'audience du Carn@val numérique 1re saison
Rapport de Triple-C sur l'audience du Carn@val numérique 1re saisonRapport de Triple-C sur l'audience du Carn@val numérique 1re saison
Rapport de Triple-C sur l'audience du Carn@val numérique 1re saison
 
Aif gt-170317slide
Aif gt-170317slideAif gt-170317slide
Aif gt-170317slide
 
Knack success story - Gamification in recruitment - Manu Melwin Joy
Knack success story - Gamification in recruitment  - Manu Melwin JoyKnack success story - Gamification in recruitment  - Manu Melwin Joy
Knack success story - Gamification in recruitment - Manu Melwin Joy
 
The Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and ClassroomsThe Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and Classrooms
 
Campamento de Verano Surf Camp Almerimar 2017 ALMERIA
Campamento de Verano Surf Camp Almerimar 2017 ALMERIACampamento de Verano Surf Camp Almerimar 2017 ALMERIA
Campamento de Verano Surf Camp Almerimar 2017 ALMERIA
 
R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)
 
Students’ intentions to use technology in their learning: The effects of inte...
Students’ intentions to use technology in their learning: The effects of inte...Students’ intentions to use technology in their learning: The effects of inte...
Students’ intentions to use technology in their learning: The effects of inte...
 
How to win direct hotel bookings from data
How to win direct hotel bookings from dataHow to win direct hotel bookings from data
How to win direct hotel bookings from data
 
IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015
 
Some Well-known Computer Scientists
Some Well-known Computer ScientistsSome Well-known Computer Scientists
Some Well-known Computer Scientists
 
MicroMedia - Markkinointia MaaS-palveluna 2017
MicroMedia - Markkinointia MaaS-palveluna 2017MicroMedia - Markkinointia MaaS-palveluna 2017
MicroMedia - Markkinointia MaaS-palveluna 2017
 

Similaire à Lean and Kanban-based Software Development

Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
Anwar Sadat
 

Similaire à Lean and Kanban-based Software Development (20)

Product Development Using Agile and Lean Principles
Product Development Using Agile and Lean PrinciplesProduct Development Using Agile and Lean Principles
Product Development Using Agile and Lean Principles
 
Isec
IsecIsec
Isec
 
Enterprise Agile - Hybrid of Methods
Enterprise Agile - Hybrid of MethodsEnterprise Agile - Hybrid of Methods
Enterprise Agile - Hybrid of Methods
 
Lean & Agile Value Streams
Lean & Agile Value StreamsLean & Agile Value Streams
Lean & Agile Value Streams
 
What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE? What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE?
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
 
2012 lean toolbox_4 asq
2012 lean toolbox_4 asq2012 lean toolbox_4 asq
2012 lean toolbox_4 asq
 
Agile Pmi 102108 Final
Agile Pmi 102108 FinalAgile Pmi 102108 Final
Agile Pmi 102108 Final
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior Management
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Lessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec LifeLessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec Life
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
 

Plus de Tathagat Varma

Plus de Tathagat Varma (20)

Can AI finally "cure" the Marketing Myopia?
Can AI finally "cure" the Marketing Myopia?Can AI finally "cure" the Marketing Myopia?
Can AI finally "cure" the Marketing Myopia?
 
AI in Manufacturing: Opportunities & Challenges
AI in Manufacturing: Opportunities & ChallengesAI in Manufacturing: Opportunities & Challenges
AI in Manufacturing: Opportunities & Challenges
 
Preparing for the next ________?
Preparing for the next ________?Preparing for the next ________?
Preparing for the next ________?
 
AI in Business: Opportunities & Challenges
AI in Business: Opportunities & ChallengesAI in Business: Opportunities & Challenges
AI in Business: Opportunities & Challenges
 
Leadership Agility Mindsets
Leadership Agility MindsetsLeadership Agility Mindsets
Leadership Agility Mindsets
 
Building an AI Startup
Building an AI StartupBuilding an AI Startup
Building an AI Startup
 
Agility in an AI / DS / ML Project
Agility in an AI / DS / ML ProjectAgility in an AI / DS / ML Project
Agility in an AI / DS / ML Project
 
Cognitive Chasms
Cognitive ChasmsCognitive Chasms
Cognitive Chasms
 
AI Technology Delivering Business Value
AI Technology Delivering Business Value AI Technology Delivering Business Value
AI Technology Delivering Business Value
 
Nurturing Innovation Mindset
Nurturing Innovation MindsetNurturing Innovation Mindset
Nurturing Innovation Mindset
 
Thought Leadership
Thought LeadershipThought Leadership
Thought Leadership
 
PMOs and Complexity Management
PMOs and Complexity ManagementPMOs and Complexity Management
PMOs and Complexity Management
 
An Introduction to the Systematic Inventive Thinking (SIT) Method
An Introduction to the Systematic Inventive Thinking (SIT) MethodAn Introduction to the Systematic Inventive Thinking (SIT) Method
An Introduction to the Systematic Inventive Thinking (SIT) Method
 
Agile at Scale
Agile at ScaleAgile at Scale
Agile at Scale
 
I blog...therefore I am!
I blog...therefore I am!I blog...therefore I am!
I blog...therefore I am!
 
Bridging the gap between Education and Learning
Bridging the gap between Education and LearningBridging the gap between Education and Learning
Bridging the gap between Education and Learning
 
Is my iceberg melting?
Is my iceberg melting?Is my iceberg melting?
Is my iceberg melting?
 
Digital Business Model Innovation
Digital Business Model InnovationDigital Business Model Innovation
Digital Business Model Innovation
 
25 Years of Evolution of Software Product Management: A practitioner's perspe...
25 Years of Evolution of Software Product Management: A practitioner's perspe...25 Years of Evolution of Software Product Management: A practitioner's perspe...
25 Years of Evolution of Software Product Management: A practitioner's perspe...
 
Agility from First Principles
Agility from First PrinciplesAgility from First Principles
Agility from First Principles
 

Dernier

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Dernier (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

Lean and Kanban-based Software Development

  • 1. Tathagat Varma http://managewell.net Lean and Kanban-based Software Development http://www.toyota-global.com/company/history_of_toyota/75years/text/entering_the_automotive_business/chapter1/section4/images/l02_01_04_04_img01.jpg
  • 2. What is Lean? •  maximize customer value while minimizing waste. •  A lean organization understands customer value and focuses its key processes to continuously increase it. The ultimate goal is to provide perfect value to the customer through a perfect value creation process that has zero waste.
  • 3. Lean Thinking •  Lean thinking changes the focus of management from optimizing separate technologies, assets, and vertical departments to optimizing the flow of products and services through entire value streams that flow horizontally across technologies, assets, and departments to customers. •  Eliminating waste along entire value streams, instead of at isolated points, creates processes that need less human effort, less space, less capital, 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. Also, information management becomes much simpler and more accurate.
  • 5. Lean Principles 1. Identify Value 2. Map the Value Stream 3. Create Flow 4. Establish Pull 5. Seek Perfection
  • 6. Lean Principles •  Specify value from the standpoint of the end customer by product family.1. Identify Value •  Identify all the steps in the value stream for each product family, eliminating whenever possible those steps that do not create value. 2. May the Value Stream •  Make the value-creating steps occur in tight sequence so the product will flow smoothly toward the customer.3. Create Flow •  As flow is introduced, let customers pull value from the next upstream activity.4. Establish Pull •  As value is specified, value streams are identified, wasted steps are removed, and flow and pull are introduced, begin the process again and continue it until a state of perfection is reached in which perfect value is created with no waste. 5. Seek Perfection http://www.lean.org/whatslean/principles.cfm
  • 9. Value Equation of a Smartphone http://www.jtklepp.com/2009/12/03/a-value-based-framework-for-the-smartphone-os-war/
  • 10. Value Stream Map (VSM) •  Special type of flow chart that uses symbols known as "the language of Lean" to depict and improve the flow of inventory and information •  Purpose is to provide optimum value to the customer through a complete value creation process with minimum waste in – Design (concept to customer) – Build (order to delivery) – Sustain (in-use through life cycle to service)
  • 11. 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 http://www.whatissixsigma.net/cycle-time/
  • 12. Takt Time •  The pace at which customer requires products. •  Calculated as the available production time divided by customer demand. •  The purpose of takt time is to precisely match production with demand. •  For example, if a widget factory operates 480 minutes per day and customers demand 240 widgets per day, takt time is two minutes. •  Similarly, if customers want two new products per month, takt time is two weeks. http://www.lean.org/Common/LexiconTerm.aspx?termid=337 http://www.beyondlean.com/takt-time.html
  • 13. Process Cycle Efficiency (PCE) •  PCE = Value-added Time / Total Lead Time •  Also known as Value Added Ratio •  How efficient is your process?
  • 14. Value Stream for Cola Cans Lean Thinking – Womack and Jones
  • 15. Software Development Value Stream http://softwarecreation.org/2009/reliable-software-development-process-the-toyota-way/
  • 16. Kent Beck’s Value Stream Map
  • 17. Agile Value Stream Map Lean Software Development, An Agile Toolkit – Mary Poppendeick
  • 20.
  • 21. Wastes in Software Development Wastes in Manufacturing Wastes in Software Development Inventory Partially done work Extra Processing Extra processes Overproduction Extra features Transportation Task Switching Waiting Waiting Motion Motion Defects Defects www.poppendieck.com
  • 22.
  • 23. 5S in Software Development •  Sort (Seiri): Sort through the stuff on the team workstations and servers, and find the old versions of software and old files and reports that will never be used any more. Back them up if you must, then delete them. •  Systematize (Seiton): Desktop layouts and file structures are important. They should be crafted so that things are logically organized and easy to find. Any workspace that is used by more than one person should conform to a common team layout so people can find what they need every place they log in. •  Shine (Seiso): Whew, that was a lot of work. Time to throw out the pop cans and coffee cups, clean the fingerprints off the monitor screens, and pick up all that paper. Clean up the whiteboards after taking pictures of the important designs that are sketched there. •  Standardize (Seiketsu): Put some automation and standards in place to make sure that every workstation always has the latest version of the tools, backups occur regularly, and miscellaneous junk doesn't accumulate. •  Sustain (Shitsuke): Now you just have to keep up the discipline. Implementing Lean Software Development from Concept to Cash – Mary Poppendeick
  • 24. 5S in Java •  Sort (Seiri): Reduce the size of the code base. Throw away all unneeded items immediately. Remove: –  Dead code –  Unused imports –  Unused variables –  Unused methods –  Unused classes –  Refactor redundant code •  Systematize (Seiton): Organize the projects and packages. Have a place for everything and everything in its place. –  Resolve package dependency cycles –  Minimize dependencies •  Shine (Seiso): Clean up. Problems are more visible when everything is neat and clean. –  Resolve unit test failures and errors ( passed == 100%) –  Improve unit test coverage ( > 80%) –  Improve unit test performance –  Check AllTests performance –  Resolve checkstyle warnings –  Resolve PMD warnings –  Resolve javadoc warnings –  Resolve TODO's •  Standardize (Seiketsu): Once you get to a clean state, keep it that way. Reduce complexity over time to improve ease of maintenance. •  Sustain (Shitsuke): Use and follow standard procedures. Implementing Lean Software Development from Concept to Cash – Mary Poppendeick
  • 25. 7 Principles of Lean Software Development Optimize the Whole Eliminate Waste Build Quality In Learn Constantly Deliver Fast Engage Everyone Keep Getting Better www.poppendieck.com
  • 26. Optimize the Whole Optimizing a part of a system will always, over time, sub-optimize the overall system. 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. Complete solutions are built by complete teams. Think Long Term Beware of governance and incentive systems that drive short term thinking and optimize local performance. www.poppendieck.com
  • 27. Eliminate Waste Waste is anything that does not add customer value. The three biggest wastes in software development are: Building the Wrong Thing "There is nothing so useless as doing efficiently that which should not be done at all." –Peter Drucker Failure to Learn Many of our policies – for example: governance by variance from plan, frequent handovers, and separating decision-making from work – interfere with the learning that is the essence of development. Thrashing Practices that interfere with the smooth flow of value –task switching, long lists of requests, big piles of partly done work – deliver half the value for twice the effort. www.poppendieck.com
  • 28. Build Quality In If you routinely find defects in your verification process, your process is defective. Final Verification Should Not Find Defects! Every software development process ever invented had as its primary purpose to find and fix defects as early in the development process as possible. Mistake-Proof your Process with Test-First Development  Tests – including, unit tests, end-to-end tests, and integration tests – must be available to 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. www.poppendieck.com
  • 29. Learn Constantly Planning is useful. Learning is essential. Predictable Performance is Driven by Feedback A predictable organization does not guess about the future and call it a plan; it develops the capacity to rapidly respond to the future as it unfolds. Maintain Options Think of code as an experiment – make it change-tolerant. Last Responsible Moment Learn as much as possible before making irreversible decisions. Don't make decisions that will be expensive to change before their time – and don't make them after their time! www.poppendieck.com
  • 30. Learn Fast Start with a deep understanding of all stakeholders and what they will value. Create a steady, even flow of work, pulled from this deep understanding of value. Rapid Delivery, High Quality, and Low Cost are Fully Compatible Companies that compete on the basis of speed have a big cost advantage, deliver superior quality, and are more attuned to their customers' needs. Queuing Theory Applies to Development, not Just Servers Focusing on utilization creates a traffic jam that actually reduces utilization. Drive down cycle time with small batches and fewer things-in- process. Aggressively limit the size of lists and queues Managing Workflow is a lot easier than Managing Schedules The best way to establish reliable, predictable deliveries is to establish reliable, repeatable workflows with iterations or a kanban system. www.poppendieck.com
  • 31. Keep Getting Better Results are not the point – the point is to develop the people and the systems capable of delivering results. Failure is a Learning Opportunity The most reliable performance comes when even small failures are deeply investigated and corrected; when noise is not tolerated. Standards Exist to be Challenged and Improved Embody the current best known practice in standards that everyone follows, while actively encouraging everyone to challenge and change the standards. Use the Scientific Method Teach teams to: establish hypotheses, conduct many rapid experiments, create concise documentation, and implement the best alternative. www.poppendieck.com
  • 32. Engage Everyone The time and energy of bright, creative people are the scarce resources in today's economy, and the basis of competitive advantage. People who are paid fairly and adequately are motivated by autonomy, mastery, and purpose. 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. www.poppendieck.com
  • 33. What is Kanban? •  Kanban (literally signboard or billboard) is a scheduling system for lean and just-in-time (JIT) production. According to its creator, Taiichi Ohno, kanban is one means through which JIT is achieved. •  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. •  The need to maintain a high rate of improvement led Toyota to devise the kanban system. Kanban became an effective tool to support the running of the production system as a whole. •  In addition, it proved to be an excellent way for promoting improvements because reducing the number of kanban in circulation highlighted problem areas. https://en.wikipedia.org/wiki/Kanban
  • 35. How Kanban helps achieve “Just-in- Time”? •  For example, to efficiently produce a large number of automobiles, which can consist of around 30,000 parts, it is necessary to create a detailed production plan that includes parts procurement. Supplying "what is needed, when it is needed, and in the amount needed" according to this production plan can eliminate waste, inconsistencies, and unreasonable requirements, resulting in improved productivity. http://www.toyota-global.com/company/vision_philosophy/toyota_production_system/just-in-time.html
  • 36. Kanban in the context of Software Development •  Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see and team members pull work from a queue. •  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[1] and  Lean manufacturing.[2] https://en.wikipedia.org/wiki/Kanban_(development)
  • 37. 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. Kanban: Successful Evolutionary Change for your Technology Business – David Anderson
  • 38. Why Kanban in Software Engineering? 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 https://leanandkanban.files.wordpress.com/2009/04/kanban-for-software-engineering-apr-242.pdf
  • 39. A Kanban System at my Toyota dealership https://twitpic.com/het3u
  • 41.
  • 42. References •  http://poppendieck.com/ •  http://refcardz.dzone.com/refcardz/getting- started-kanban •  http://refcardz.dzone.com/refcardz/getting- started-lean-software •  http://www.djaa.com/ •  https://en.wikipedia.org/wiki/ Lean_software_development •  http://kanbanblog.com/explained/