intro to agile and lean software development

Download Intro to Agile and Lean Software Development

If you can't read please download the document

Upload: aleksejs-truhans

Post on 16-Apr-2017

1.694 views

Category:

Technology


6 download

TRANSCRIPT

Agile Riga Day 2012 Warm-up Agile and Lean Fundamentals

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 TruhansProgramming, analysing, managing projects and teams, teaching software engineering

Thanks to progmeistars.lv

Now at Citadele banka, tsi.lv, nh.lv, javaguru.lv

@AleksejsTruhans

[email protected]

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

Changeableenvironment

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 JapanSmall 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 expenseall 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 timeTotal 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 revolutionAgnostic 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

RolesProduct owner

Scrum master removes obstacles

Cross-functional team

Scrum

ToolsInformation radiator - whiteboard

Burndown chart

ApplicabilityPeer 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

PlanningEstimates by those taking the job

Project velocity

Collective code ownershipPair programming

Moving people around

XP Iteration

QualityRefactor mercilessly

Test driven development

Continuous integration

LearningNew 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 RisingRetrospectives

Alistair Cockburn

Edward W. Deming

The journey goes on...

Yasuhiro Monden (1998), Toyota Production System

Kanban David Andersonhttp://www.se-radio.net/2010/02/episode-156-kanban-with-david-anderson/

http://www.infoq.com/minibooks/kanban-scrum-minibook

The journey goes on...

CodeJ.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.

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso