29
Agile vs ?? How to become happy Agile developers... and never feel lost

Agile vs ??

Embed Size (px)

Citation preview

Agile vs ??How to become happy Agile developers... and never feel lost

AlessandroConfetti

I started to develop software when I was fourtheen…

and never stopped since then…

CTO di OSLO srlhttp://www.oslo.it

linked-in it.linkedin.com/in/zigolab twitter @zigolab - github zigolab - skype zigolab

Scrum Alliance CSM® & CSD®

5Ws of Agile(W)hat it is,

(W)hy, (W)hen, (W)hereand ho(W) to use it

What is it Agile?

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.

Manifesto for Agile Software Development

(2001)

http://agilemanifesto.org

Why to use Agile?

change without pain

Training Within Industry (TWI)1940-1945

“There isn’t time”

“Don’t try to plan a whole new department layout or go after a big new installation of new equipment”

“Look for hundreds of small things you can improve”

“Look for improvements on existing jobs with your present equipment”

“Pay respectful attention to every employee, viewing each one as a potential source of ideas, information, and suggestions”

W. Edwards Deming

The Spirit of Kaizen: Creating Lasting Excellence One Small Step at a Timeby Robert Maurer, McGraw-Hill, 2012

Toyota “extended” Family Tree

jidoka - automation with an human touch

kaizen - improvement teams

TPS - Toyota Production System

When to use Agile?

The Cynefin framework

https://en.wikipedia.org/wiki/Dave_Snowden

https://xkcd.com/349/

OBVIOUS

COMPLICATED

COMPLEX

CAHOTIC

Agile vs “The real” Project Management

Bombshell vs Trumpet

things to do

start delay...end

Where to use Agile?

not all companies are the same...

Agile vs Corporate Culture: Agile in Colors

Reinventing OrganizationsBy Frederic Laloux, Nelson Parker 2014

Agile: necessary conditions for adopting itTOP LEADERSHIP

OWNERSHIP

“The founder or top leader (let’s call him the CEO for lack of a better term) must have integrated a worldview and psychological development consistent with the Teal developmental level. Several examples show that it is helpful, but not necessary, to have a critical mass of leaders operating at that stage”

“Owners of the organization must also understand and embrace Evolutionary-Teal worldviews. Board members that “don’t get it,” experience shows, can temporarily give a Teal leader free rein when their methods deliver outstanding results. But when the organization hits a rough patch or faces a critical choice, owners will want to get things under control in the only way that makes sense to them―through top-down, hierarchical command and control mechanisms.”

How to use Agile?

The leading tools and frameworks

(sort of…)

LEANEliminate waste (Muda-Muri-Mura)

Create Customer Value

Seven Types of Waste

Eliminate Waste in Manifacturing:

1. Transportation

2. Inventory

3. Motion

4. Waiting

5. Over-processing

6. Over-production

7. Defects

Improve Quality of Software:

1. Eliminate waste

2. Amplify learning

3. Decide as late as possible

4. Deliver as fast as possible

5. Empower the team

6. Build quality in

7. See the whole

Lean: Life's Too Short…

…to build software nobody wants!

Lean UX - Applying Lean Principles to Improve User ExperienceBy Jeff Gothelf, O'Reilly Media,013

Kanbanvisualize the workflowlimit work in progress

measure lead time

Kanban: what’s going on?

SCRUMsplit your organization

split your worksplit your time

optimize the release plan and the process

AMDDagile model driven development

Just Barely Good Enough Models and Documents (JBGE)

AMDD: Agile UML

The Object Primerby Scott W. Ambler, Cambridge University Press 2004

ADDM: use the right tool for the right audience

TDDtest driven developmnet

Define success up frontBreak the design down into little pieces

Write the test before adding a new functionality

TTT vs TDD: from outside-in to inside-out

vs

DEVOPSDEVelopment & OPerationS

test the deployment before writing a single line of code

DEVOPS: the infinite loop of release