Being Lean Agile
by Agile Practices
Prakash M Pujar
What session contains
 What is Lean
 Agile Practices that influences Lean
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
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
What is Value?
Adopt agile practices, eliminate non-value added activities
Agile Practices
Generally accepted agile practices that influenced to
eliminate non-value added activities :
 Backlog Grooming
 ACDD
 Refactoring
 WIP Limit
Backlog Grooming
Attain “Definition of Ready” state
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
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
ACDD
Acceptance Criteria Driven Development
 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
ACDD - in Sprint Cycle
Features are being developed against AC
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
Code Refactor
On the way to “Continuous Refactoring”
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
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
When to Refactor ?
 Add / update feature
 Fix a bug
 Code review
After completing these activities, think of Refactor for a minute !
 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 ?
 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 ?
 Code Review:
Complete the code review
Review for opportunities for Refactor
REFACTOR : Do the re-factor. Park it for later
How to Refactor ?
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
WIP Limit
Limiting Work in-progress activities
 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
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
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
References
 http://sourcemaking.com/refactoring
Thanks

Being Lean Agile

  • 1.
    Being Lean Agile byAgile Practices Prakash M Pujar
  • 2.
    What session contains What is Lean  Agile Practices that influences Lean
  • 3.
    Lean  The coreidea 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
  • 4.
    Lean Principles  Specifyvalue 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
  • 5.
    What is Value? Adoptagile practices, eliminate non-value added activities
  • 6.
    Agile Practices Generally acceptedagile practices that influenced to eliminate non-value added activities :  Backlog Grooming  ACDD  Refactoring  WIP Limit
  • 7.
  • 8.
    Backlog Grooming  BacklogGrooming - 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
  • 9.
    How Grooming influencedin 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
  • 10.
  • 11.
     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
  • 12.
    ACDD - inSprint Cycle Features are being developed against AC
  • 13.
    How ACDD influencedin 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
  • 14.
    Code Refactor On theway to “Continuous Refactoring”
  • 15.
    Re-factoring  “Refactoring iscontrolled 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
  • 16.
    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
  • 17.
    When to Refactor?  Add / update feature  Fix a bug  Code review After completing these activities, think of Refactor for a minute !
  • 18.
     Add/update thefeature Complete implementing new feature by adding updating methods  Look for the opportunities in the code being touched while updating How to Refactor ?
  • 19.
     Fixing adefect: 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 ?
  • 20.
     Code Review: Completethe code review Review for opportunities for Refactor REFACTOR : Do the re-factor. Park it for later How to Refactor ?
  • 21.
    How Refactoring influencedin 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
  • 22.
    WIP Limit Limiting Workin-progress activities
  • 23.
     A Kanbanpractice 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
  • 24.
    How WIP Limitinfluenced 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
  • 25.
    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
  • 26.
  • 27.