Date post: | 13-Jan-2015 |
Category: |
Technology |
Upload: | devnology |
View: | 4,981 times |
Download: | 4 times |
WorkshopLean Development
Martin van Amersfoorth, Freek Leemhuis, Maarten MetzJava & Oracle Practice, C&PS, Logica
Original idea by Francisco Trindade & Danilo Sato
Workshop | Lean Development
Agility
Agility
Agile Manifesto
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan …Craftsmanship over crap
Agility | Methods
A group of software development methodologies that promotes development iterations, open collaboration, and process adaptability throughout the life-cycle of the project.
Agility | Methods
Scrum49%
Scrum & XP22%
XP8%
Other21%
Bron: 3rd Annual ”State of Agile Development” Survey June-July 20083061 respondents from 80 countries
More prescriptive More adaptive
XP(13)
Scrum(9)
Kanban(3)
Do Whatever(0)
• Architecture Reviewer• Business Designer• Business-Model Reviewer• Business-Process Analyst• Capsule Designer• Change Control Manager• Code Reviewer• Configuration Manager• Course Developer• Database Designer• Deployment Manager• Design Reviewer• Designer• Graphic Artist• Implementer• Integrator• Process Engineer• Project Manager• Project Reviewer• Requirements Reviewer• Requirements Specifier• Software Architect• Stakeholder• System Administrator• System Analyst• Technical Writer• Test Analyst• Test Designer• Test Manager• Tester• Tool Specialist• User-Interface Designer• Architectural analysis• Assess Viability of architectural
proof-of-concept• Capsule design• Class design• Construct architectural proof-of-
concept• Database design• Describe distribution• Describe the run-time architecture• Design test packages and classes• Develop design guidelines• Develop programming guidelines• Identify design elements• Identify design mechanisms• Incorporate design elements• Prioritize use cases• Review the architecture• Review the design• Structure the implementation model• Subsystem design• Use-case analysis• Use-case design• Analysis model• Architectural proof-of-concept• Bill of materials• Business architecture document• Business case• Business glossary• Business modeling guidelines• Business object model• Business rules• Business use case
• Whole team• Coding standard• TDD• Collective ownership• Customer tests• Pair programming• Refactoring• Planning game• Continuous integration• Simple design• Sustainable pace• Metaphor• Small releases
• Scrum Master• Product Owner• Team• Sprint planning meeting• Daily Scrum• Sprint review• Product backlogt• Sprint backlog• BUrndown chart
• Visualize the workflow• Limit WIP• Measure and optimize lead time
• Business use case realization• Business use-case model• Business vision• Change request• Configuration audit findings• Configuration management plan• Data model• Deployment model• Deployment plan• Design guidelines• Design model• Development case• Development-organization
assessment• End-user support mateirla• Glossary• Implementation model• Installation artifacts• Integration build plan• Issues list• Iteration assessment• Iteration plan• Manual styleguide• Programming guidelines• Quality assurance plan• Reference architecture• Release notes• Requirements attributes• Requirements
management plan• Review record• Risk list• Risk management plan• Software architecture
document• Software development
plan• Software requirements specification• Stakeholder requests• Status assessment• Supplementary business
specification• Supplementary specification• Target organization assessment• Test automation architecture• Test cases• Test environment configuration• Test evaluation summary• Test guidelines• Test ideas list• Test interface specification• Test plan• Test suite• Tool guidelines• Training materials• Use case model• Use case package• Use-case modeling guidelines• Use-case realization• Use-case storyboard• User-interface guidelines• User-interface prototype• Vision• Work order• Workload analysis model
RUP(120+)
Agility | Methods
Agility | ScrumScrum = Management Process
Scrum MasterProduct OwnerTeamSprint Planning MeetingDaily ScrumSprint ReviewProduct BacklogSprint BacklogBurndown Chart
Agility | XPExtreme ProgrammingXP = Engineering Process
TestingSmall ReleasesRefactoringSimple DesignPlanning GamePair Programming
Onsite CustomerSystem MetaphorCollective Code OwnershipContinuous IntegrationCoding ConventionsSustainable Pace
Performance
PerformanceDetroit Automakers Industrial IT
Frequent crises of quality Notorious for low quality
Excessively long product development time
Long product development time
Borrowing against future income (leveraged buying)
Borrowing against future capability (leveraged delivery)
Building cars people don’t want to buy
IT stands up solutions that people don’t want but have no choice but to use
Source: Ross Petitt, Restructuring IT: The Detroitification of IT (2009)
Performance
Performance | ToyotaJust In Time ( ジャストインタイム ) – JITJidoka ( 自働化 ) Autonomation – automation with human intelligenceHeijunka ( 平準化 ) Production SmoothingKaizen ( 改善 ) Continuous ImprovementPoka-yoke ( ポカヨケ ) fail-safing – to avoid inadvertent errorsKanban ( 看板 , also かんばん ) Sign, Index CardAndon ( アンドン ) SignboardMuri ( 無理 ) OverburdenMura ( 斑 or ムラ ) UnevennessMuda ( 無駄 , also ムダ ) WasteGenchi Genbutsu ( 現地現物 ) Go and see for yourself
Performance | BoeingDetailed customer knowledge and focusWe will seek to understand, anticipate and be responsive to our customers' needs.
Large-scale systems integrationWe will continuously develop, advance, and protect the technical excellence that allows us to integrate effectively the systems we design and produce.
Lean enterpriseOur entire enterprise will be a lean operation, characterized by the efficient use of assets, high inventory turns, excellent supplier management, short cycle times, high quality and low transaction costs.
Boeing’s core competencieshttp://boeing.com/aboutus/culture/index.html
Performance | ZaraIn fashion, stock is like food, it goes bad quick(=> 35-40% sold at discounts)
New styles manufactured in Europe (@ 17-20 x higher labor costs than Asia)
Small batches to avoid oversupply (higher avg. selling price)
Designers in daily contact with store managers to discover bestselling items
Spends 5-10 x less on IT than its rivals
Performance | Southwest AirlinesExcellent Customer ServiceReliable PerformancePoint-to-Point RoutingConsistent Low FaresNo “Nuisance Charges”Lots of Flight Options
Most PunctualLost the Least BagsHad the Fewest ComplaintsRated “Most Admired” US AirlineMade a profit every yearOperates at Lowest Load Factor
Performance | New BalanceA Boston company and just about the onlyathletic footwear maker left manufacturing in the US
Deploys lean manufacturing principles to keepits domestic production (25%) globally competitive
30% of NB shoes sold in European market are manufactured at the New Balance facility in England
Reduced replenishment cycle from 110 to 5 daysallowing it to match stock levels to demandand prevents from manufacturing unwanted shoes
Run #1 | Briefing
1. Table 1: sort on color. Move sorted bricks to table 2
2. Table 2: sort on color and form. Move sorted bricks to table 3
3. Table 3: collect bricks that are necessary to build 1 house. Move collection to table 4
4. Table 4: assemble house according to instructions
You’ve got 1 minute per table!
Run #1 | Debriefing
Winston W. Royce, Managing the Development of Large Software Systems (1970)
LeanThinking
Lean Thinking | GuidelinesSpecify value: value is defined by the customer in terms of specific products and services
Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste
Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”
Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production
Pursue perfection: pursue continuous process of improvement striving for perfection
James Womack and Daniel T. Jones, Lean Thinking, 1996
Lean Thinking | Value
Specify value: value is defined by the customer in terms of specific products and services
Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste
Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”
Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production
Pursue perfection: pursue continuous process of improvement striving for perfection
Lean Thinking | ValueAgile Manifesto: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software”“Business people and developers must work together daily throughout the project.”
Practices: Onsite Customer (XP), Product Owner (Scrum)
Lean Thinking | Value Agile Manifesto: “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”
Practices: Team (Scrum), Scrum Master (Scrum)
© 2007 Poppendieck LLC
Lean Thinking | ValueValue Added ActivityTransforms or shapes material or information or peopleAnd it’s done right the first timeAnd the customer wants it
Non-Value Added Activity – Necessary WasteNo value is created, but cannot be eliminated based on current technology, policy, or thinkingExamples: project coordination, regulatory, company mandate, law
Non-Value Added Activity – Pure WasteConsumes resources, but creates no value in the eyes of the customerExamples: idle/wait time, inventory, rework, excess checkoffs
Lean Thinking v6.3 © Massachusetts Institute of Technology.
Run #2 | Briefing
1. Table 1: sort on color. Move only value adding sorted bricks to table 2
2. Table 2: sort on color and form. Move only value adding sorted bricks to table 3
3. Table 3: collect bricks that are necessary to build 1 house. Move collection to table 4
4. Table 4: assemble house according to instructions
You’ve got 1 minute per table!
Run #2 | DebriefingManufacturing Software Development
OverproductionCreating too much material or information
Extra FeaturesSo focus on the top 20% (MoSCoW)
InventoryHaving more material or information than you need
Partially Done WorkStrict Definition of Done (DoD)
TransportationMoving material or information
HandoffsWork with customers
Unnecessary MovementMoving people to access or process material or information
Finding InformationCo-location
WaitingWaiting for material or information, or material or information waiting to be processed
Waiting for DecisionsFrequent, small releases
Defective OutputsErrors or mistakes causing the effort to be redone to correct the problem
Defects, Bugs not CaughtTest Driven Development
Over-ProcessingProcessing more than necessary to produce the desired output
Intermediate Artifacts“The Code is the Model”
Lean Thinking | Value
Often or always used: 20%, rarely or never used: 64%.Source: Standish Group Study reported at XP2002 by Jim Johnson (Chairman)
7 13
16
19
45
Features and Functions Used in a Typical System
AlwaysOftenSometimesRarelyNever
Lean Thinking | Value StreamSpecify value: value is defined by the customer in terms of specific products and services
Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste
Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”
Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production
Pursue perfection: pursue continuous process of improvement striving for perfection
Lean Thinking| Value StreamAgile Manifesto: “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”“Working software is the primary measure of progress”
The Planning Game, Small Releases (XP), Sprints and Sprint Planning Meeting, Sprint Backlog (Scrum)
Lean Thinking | Value Stream Agile Manifesto: “Simplicity – the art of maximizing the amount of work not done – is essential”“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”
Simple Design, System Metaphor, Coding Conventions (XP)
Value Stream | Example
Bron: via www.poppendieck.com
Value Stream | Example
Lean Thinking | FlowSpecify value: value is defined by the customer in terms of specific products and services
Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste
Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”
Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production
Pursue perfection: pursue continuous process of improvement striving for perfection
Lean Thinking| Flow
“This may be the single most import device ever created to help control traffic safely and smoothly” (Discover, June 2001).
Run #3 | Briefing
1. Table 1: collect bricks that are necessary to build 1 house. Move collection to table 2
2. Table 2: assemble house according to instructions
You’ve got 2 minutes per table!
Run #3 | Debriefing
Lean Thinking | Flow Agile Manifesto: “Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”
Testing, 40-Hour Week, Continuous Integration, Collective Code Ownership, Sustainable Pace (XP), Daily Scrum (Scrum)
S.J. Chapman, Hours of Labor, The Economic Journal, 1909
Lean Thinking | Flow
Source: Scott W. Ambler
Lean Thinking | PullSpecify value: value is defined by the customer in terms of specific products and services
Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste
Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”
Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production
Pursue perfection: pursue continuous process of improvement striving for perfection
Lean Thinking | PullLittle’s Law: Time Through System = # Things in Process / Avg Completion Rate
Optimize Throughput – Not Utilization- Minimize # Things in Process- Minimize Size of Things in Process
Limit Work to Capacity- Timebox, Don’t Scopebox- Pull – Don’t Push
Level the Workload- Even out the Arrival of Work- Establish a Regular Cadence
Lean Thinking | Kanban
Source: Henrik Kniberg
−Visualize the workflow−Limit WIP (work in progress)−Measure & optimize flow To do Dev Release
FH C
I
2Test
35Done!
3
D
GJ
K
EA
B
FLOW
Run #4 | Briefing
1. Use KanBan cards to build houses according to customer demand.
You’ve got 4 minutes!
Run #4 | Debriefing
Source: Henrik Kniberg
Lean Thinking | PullAgile Manifesto: “Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”
Onsite Customer (XP), Product Owner, Product and Sprint Backlog (Scrum)
Lean Thinking | PerfectionSpecify value: value is defined by the customer in terms of specific products and services
Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste
Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”
Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production
Pursue perfection: pursue continuous process of improvement striving for perfection
Lean Thinking | Perfection Agile Manifesto: “The best architectures, requirements, and designs emerge from self-organizing teams”“Continuous attention to technical excellence and good design enhances agility”
Pair Programming, Testing, Refactoring (XP), Sprint Review / Retrospective, Burndown Chart (Scrum)
Argentina vs. Serbia and Montenegro (6-0), World Cup 2006
Lean Thinking | Perfection
(based on Poppendieck, Grady)
Functional Testing
Unit Testing Integration Testing
Usability Testing
Property Testing
Test Business Design
Test Technical Design
Test
to S
peci
fica
tion
Test
to F
ailu
re
FU
RPS+
FURPS+FunctionalityUsabilityReliabilityPerformanceSupportability+ (constraints)
Lean Thinking | Perfection
Adaptation of Toyota’s A3 Sheet
Resources| Lean Thinking
Resources| Lean Software Dev.
Thank You