Top Banner
Being Lean Agile by Agile Practices Prakash M Pujar
27

Being Lean Agile

Jul 02, 2015

Download

Software

prakashmpujar

The core idea of lean is to eliminate/reduce non-value-added activities (termed "wastes") and thus increase customer value. The Agile itself is a lean for the software development life cycle, and I am sharing a couple of Agile best practices adopted by my teams to make the Scrum methodology more extra lean.
The presentation contains the best agile practices and their benefits in terms of Lean in an agile methodologies
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Being Lean Agile

Being Lean Agile

by Agile Practices

Prakash M Pujar

Page 2: Being Lean Agile

What session contains

What is Lean

Agile Practices that influences Lean

Page 3: Being Lean Agile

Lean

The core idea of Lean is to maximize the customer value

Lean is to eliminate / reduce non-value added activities (AKA wastes)

Agile process is Lean by its nature

Adopt GAAPs (Generally Accepted Agile Practices) -make the Agile further Lean

Page 4: Being Lean Agile

Lean Principles

Specify value in eyes of the customer

Identify the value stream and eliminate waste

Make value flow at the pull of the customer

Involve and Empower employees

Continuously improve in pursuit of perfection

Page 5: Being Lean Agile

What is Value?

Adopt agile practices, eliminate non-value added activities

Page 6: Being Lean Agile

Agile Practices

Generally accepted agile practices that influenced to

eliminate non-value added activities :

Backlog Grooming

ACDD

Refactoring

WIP Limit

Page 7: Being Lean Agile

Backlog Grooming

Attain “Definition of Ready” state

Page 8: Being Lean Agile

Backlog Grooming

Backlog Grooming - once per sprint

Identify the Stories of next Sprint prioritization by PO

Create / update the Stories if not created for prioritized features

Add / Update the acceptance criteria for story

Identify the dependencies to meet the acceptance criteria of story

Time boxed activity

Page 9: Being Lean Agile

How Grooming influenced in Lean

Grooming done in previous sprints

Attain “Definition of Ready” for next sprint

Helps to resolve the dependencies before sprint

planning : Eliminates any waiting time

Waiting time is Non-Value Added activity

Page 10: Being Lean Agile

ACDD

Acceptance Criteria Driven Development

Page 11: Being Lean Agile

ACDD – Acceptance Criteria Driven Development

Inherited by TDD – Test Driven Development

AC consists of set of test scenarios i.e. positive, negative, NFRs

AC indicates what exactly PO expects

Test scenarios signifies the behavior of a feature

Story is claimed to be complete if AC is met

Easily it is adopted – No sprint rituals required

ACDD

Page 12: Being Lean Agile

ACDD - in Sprint Cycle

Features are being developed against AC

Page 13: Being Lean Agile

How ACDD influenced in Lean

Satisfies the requirements of PO

The AC has multiple sections with all possible

scenarios covered - reduces the occurrence of

defects

Defects are the Non-Value Added activity

Page 14: Being Lean Agile

Code Refactor

On the way to “Continuous Refactoring”

Page 15: Being Lean Agile

Re-factoring

“Refactoring is controlled technique for improving the code/design of an existing code base without changing the features it implements”

e.g.

2X2 + 10X re-factors to 2X (X+5)

Refactoring is changing the internal logic without changing its behavior

Page 16: Being Lean Agile

Benefits of Refactor

Improves the design of software

Makes software easier to understand

Helps to find bugs

Helps to program/code faster

Writing Tomorrow’s code today

Page 17: Being Lean Agile

When to Refactor ?

Add / update feature

Fix a bug

Code review

After completing these activities, think of Refactor for a minute !

Page 18: Being Lean Agile

Add/update the feature

Complete implementing new feature by adding updating methods Look for the opportunities in the code being touched while

updating

How to Refactor ?

Page 19: Being Lean Agile

Fixing a defect:

Follow three steps (RGR method) while fixing

defects:

STOP : Something not working, hence the defect

GO : Go for fixing the defect; feature is working at the end

DO REFACTOR : Do the re-factor around the fix of this defect

How to Refactor ?

Page 20: Being Lean Agile

Code Review:

Complete the code review

Review for opportunities for Refactor

REFACTOR : Do the re-factor. Park it for later

How to Refactor ?

Page 21: Being Lean Agile

How Refactoring influenced in Lean

If refactoring is not addressed at the right time, then it

becomes a technical debt

As today’s technical debt is tomorrow’s waste

Effort required to address tech debts

Rework is Non-Value Added activity

Page 22: Being Lean Agile

WIP Limit

Limiting Work in-progress activities

Page 23: Being Lean Agile

A Kanban practice to restrict the count of working

activities

The “In-Progress” is split into “Under Development”

and “Under verification” columns on Scrum boards

Restricts the accumulating of working items

Start Finishing, Stop Starting!

Use of WIP Limit

Page 24: Being Lean Agile

How WIP Limit influenced in Lean

WIP limit restricts the increase in the count of number of

working items

Pile of working items increases the waiting time to

complete them

Waiting time and inventory are Non-Value Added activities

Page 25: Being Lean Agile

Being Lean Agile – The Benefits

Before being Lean Agile Being Lean Agile

Use of CI is another key

factor

Live data from Value Stream Mapping of a Scrum Team

Page 26: Being Lean Agile

References

http://sourcemaking.com/refactoring

Page 27: Being Lean Agile

Thanks