DEV Community

loading...

Agile & Lean. A brief Introduction.

Haseeb A. Basil
AWS Certified Developer
Originally published at Medium on ・3 min read

Lean

Lean says to relentlessly eliminate anything that isn’t adding value and only work on what we absolutely need to be doing at this moment in time. Eliminating waste means eliminating useless meetings, tasks and documentation. But it also means eliminating time spent building what “we know” we’ll need in the future (things are constantly changing so we often end up not needing them — or if we do, we have to rework them because conditions and our understanding has changed by then). It also means eliminating inefficient ways of working — like multitasking (!) — so we can deliver fast.

“Organizations that are truly lean have a strong competitive advantage because they respond very rapidly and in a highly disciplined manner to market demand, rather than try to predict the future.” — Mary Poppendieck

Agile

Agile is a time-focused, iterative philosophy that allows to build a product step-by-step (incrementally), delivering it by smaller pieces. One of its main benefits is the ability to adapt and change at any step (depending on feedback, market conditions, corporate obstacles, etc.) and to supply only relevant products to the market. Scrum

A good agile team picks and choses the management & technical practices that best work for them. (a bad one just picks a couple of practices and falsely believes that somehow “makes them agile” — see: Are We Agile Yet?).

So, what are the differences?

Agile Philosophy

Is aimed at executing tasks faster, adapting to changes easier

Makes the developing process flexible

Was initially designed for Software Development, then expanded to Marketing, and is currently applied in other areas

Action loop: product backlog — sprint backlog — iteration (sprints) — potentially shippable result

Method for demonstrating progress — definition of ‘done’

Methodologies: Scrum, XP, FDD, DSDM, Crystal Methods etc.

Toolkit: sprints, boards, Scrum Master, acceptance tests, user story mapping etc.

Lean Philosophy

Is about Smart development, when you improve virtually everything you do by eliminating anything that doesn’t bring value to the customer

Makes the developing process sustainable

Started from traditional manufacturing and expanded to all existing industries

Action loop: build-measure-learn

Method for demonstrating progress — validated learning

Methodologies: Kanban, Kaizen etc.

Toolkit: hypotheses, split (A/B) tests, customer interviews, funnel and cohort analysis, Customer Success Manager etc.

The term Lean is wider than Agile because its smart approach influences all types of losses (not only time loss) such as money, labour, energy, etc.

Scrum

Scrum is about Teams producing Results in an agile way. Scrum Teams achieve results anyway they can by using a simple set of rules to guide effort. We will describe Scrum as a simple applied model so that a central understanding of Scrum can be built. Other complexities of applied Scrum such as scaling, distribution, etc. will be explored elsewhere.

Kanban

Kanban is a scheduling system of visual management aimed at just-in-time delivery excluding team overloading. As a part of Lean, initially the methodology supported Japanese automotive industry. Similarly to Scrum, Kanban tracks ‘to do — in progress — done’ activities, but it limits them by the number of ‘work in progress’ activities (the number is defined by the team manager and cannot be exceeded).

For more info please visit:

How to choose between Agile and Lean, Scrum and Kanban — which methodology is the best?

Kanban Vs Scrum

Discussion (0)