• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Intro to Agile and Lean Software Development

Intro to Agile and Lean Software Development



Basics of Agile and Lean presented at Agile Riga Day 2012 pre-conference warm-up meeting

Basics of Agile and Lean presented at Agile Riga Day 2012 pre-conference warm-up meeting



Total Views
Views on SlideShare
Embed Views



1 Embed 3

http://www.linkedin.com 3



Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Intro to Agile and Lean Software Development Intro to Agile and Lean Software Development Presentation Transcript

    • AgileRigaDay 2012 Warm-up Agile and Lean Fundamentals http://www.agile-latvia.org
      • Audience
      • Why are you here today?
      • Expectations?
      • What bothers you most in your current situation?
      • Introductions
      • Your hosts: eBIT.lv & agile-latvia.org
      • Aleksejs Truhans
        • Programming, analysing, managing projects and teams, teaching software engineering
        • Thanks to progmeistars.lv
        • Now at Citadele banka, tsi.lv, nh.lv, javaguru.lv
        • @AleksejsTruhans
        • Aleksejs.Truhans@gmail.com
      • Subject
      • Software development process
      • Properties of a ”good” process?
      • Contributing factors?
    • Sample ”maturity” ideas
      • Sustainable completion of requested features on time and on budget
      • Supported by
        • Experience
        • Discipline
        • Shared knowledge
        • Communication
        • Reflection
        • Fast feedback
      • Borrowing from industry
      • Compare software development to manufacturing and engineering
      • Speicifics of software process:
        • Producing one and the same car
        • The only detailed enough model is the program itself
        • We are producing decisions
      • Team-based design
      • Invent
      • Communicate
      • Decide
      • How to improve?
      • Creativity?
      • Communication?
      • Making right decisions?
    • Challenge
      • Changeable
        • environment
        • people
        • problem
        • solution
    • Agile
      • Mindset
      • Applicability: team size & cost of failure
      • How much effort do you waste due to wrong assumptions, bad design, etc.?
      • How much time do you waste due to inefficient process?
      • Agile Manifesto
        We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
      • Agile Principles
        Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project.
        From http://agilemanifesto.org/principles.html
      • Agile Principles
        Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
        From http://agilemanifesto.org/principles.html
      • Agile Principles
        Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
        From http://agilemanifesto.org/principles.html
    • Lean
      • A recent problem your team have encountered?
        • Have you resolved the root cause or taken a workaround?
      • How much time do you spend in ”test and fix” phase?
    • Lean
      • The challenge Toyota faced in post-war Japan
        • Small batches, rapid machinery changeover
      • Just-in-time, Kanban
      • Jidoka: Autonomation, Stop the Line and Root Cause
      • Mistake-proofing with poka-yoke
      • W. Edward Deming and Eliyahu Goldratt
    • E. Goldratt, ”The Goal”
      • Increase throughput (as sales)
      • and decrease inventory
      • and decrease operating expense
      • all at the same time
      • The longest queue is right before the bottleneck
    • Edward Deming, ”Out of the Crisis”
      • Build quality into the product
      • Not the lowest price but lower total cost through long-term relationships
      • Training on the job, education and self-improvement
      • Leadership instead of supervision
      • Eliminate management by objective
      • Eliminate management by fear
    • Edward Deming, ”Out of the Crisis”
      • Pride of workmanship
      • Eliminate slogans
      • Eliminate barriers between departments
      • The Seven Wastes - ”Muda”
      • Partially done work
      • Extra features
      • Relearning
      • Handoffs
      • Task switching
      • Delays
      • Defects
      • ?
      • Which waste is the worst offender at your company?
      • ?
      • Would it help to
        • even out the arrival of work?
        • minimize the size of things in process?
        • limit work to capacity?
        • reduce utilization of people's available time?
        • establish a regular cadence?
      • Lean Software Development
      • Stop maximizing local efficiencies, optimize the whole
      • Frequent information transfer and integration
      • Continuous process improvement
      • Enterpreneural expert leader
      • Expert workforce
      • Set-based concurrent engineering
        From ”Implementing Lean Software Development: From Concept to Cash”
      • Lean Software Development
      • Eliminate waste
      • Build quality in
      • Create knowledge through disciplined experimentation and retain it
      • Defer commitment, yet commit
      • Deliver fast
      • Respect people
        From ”Implementing Lean Software Development: From Concept to Cash”
      • Process performance
      • Value over time
        • Total value of the product, not just software
        • Total time spent - from concept to cash
      • A tool – value stream map
        From ”Implementing Lean Software Development: From Concept to Cash”
      • Value of software
      • According to J.B. Rainsberger:
        • Features
        • Design
        • Feedback
      • Value of a feature
      • Helps to prioritize backlog
      • High-value items before low-value
      • High-risk high-value items before low-risk
      • Items that will create significant new knowledge before those already well understood
      • Items with lower cost to support and develop before higher cost
      • Kanban
      • David Anderson
      • Pull the work. Limit the capacity.
      • Visualization of the flow stimulates improvement and provokes change
        • … even of ”waterfall” teams ;)
      • Kanban board cartoon: http://blog.crisp.se/henrikkniberg/2009/06/26/1246053060000.html
      • Kanban
      • Evolution rather than revolution
        • Agnostic to software engineering and management practices
      • When 1 week iteration is too long
      • Cadence taking form of average lead time
      • Estimations and target dates to be used appropriately
      • Service level lanes
      • Scrum
      • Sprint:
        • Planning – sprint backlog
        • Daily standup
        • Demo
        • Retrospective
      • Scrum
      • Roles
        • Product owner
        • Scrum master – removes obstacles
        • Cross-functional team
      • Scrum
      • Tools
        • Information radiator - whiteboard
        • Burndown chart
      • Applicability
        • Peer pressure
        • Assuming developers are eager to do the job, scrum fully loads them with most valuable tasks
      • Extreme Programming
      • User stories
      • Release planning
      • Iteration
      • Acceptance tests
      • XP Iteration
      • Planning
        • Estimates by those taking the job
        • Project velocity
      • Collective code ownership
        • Pair programming
        • Moving people around
      • XP Iteration
      • Quality
        • Refactor mercilessly
        • Test driven development
        • Continuous integration
      • Learning
        • New tests
        • New stories
      • Extreme Programming
        More here: http://www.extremeprogramming.org/map/project.html
      • The journey goes on...
      • Agile Riga Day 2012, Agile Tour, see more at http://lnkd.in/_7rMR2
      • Tom & Mary Popendiecks – Lean Sotware Development
      • Eliyahu Goldratt – Theory of Constraints
      • The journey goes on...
      • Regarding people:
        • Linda Rising
          • Retrospectives
        • Alistair Cockburn
        • Edward W. Deming
      • The journey goes on...
      • Yasuhiro Monden (1998), Toyota Production System
      • Kanban – David Anderson
        • http://www.se-radio.net/2010/02/episode-156-kanban-with-david-anderson/
        • http://www.infoq.com/minibooks/kanban-scrum-minibook
      • The journey goes on...
      • Code
        • J.B. Rainsberger
        • Robert C. Martin
        • Martin Fowler
      • Mike Cohn - User stories
    • Thank you!
        Materials used in the presentation have their source cited and are copyrighted by their respective authors. Rest of the presentation Copyright ©2012 Aleksejs Truhans, licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.