Agile Anti-Patterns. Yes your agile projects can and will fail too.

Post on 15-May-2015

5,655 views 1 download

Tags:

description

This is the slide deck for a smooth presentation on agile and agile anti-patterns I did recently at several international conferences, including GIDS (Bangalore), ACCU (Oxford), Camp Digital (Manchester), Agile Open Holland (Dieren) and Jazoon (Zurich).

transcript

1

Agile Anti-PatternsYes your agile projects can and will fail too

Sander HoogendoornPrincipal Technology Officer & Global Agile Thoughtleader

Capgemini@aahoogendoorn

Sander HoogendoornCapgeminiPrincipal technology officerGlobal agile thought leader Chief architect Accelerated Delivery Platform (ADP)

OtherAuthor books on UML, agileAuthor +200 articles, columnsSpeaker +100 international conferencesMicrosoft Partner Advisory Council .NETEditorial boards & Advisory boardsCapping IT Off Blog

Webwww.sanderhoogendoorn.com sander.hoogendoorn@capgemini.com@aahoogendoorn

Why waterfall won’t work

• Why waterfall won’t work

Waterfall?

Waterfall?

7

Agile!

You would believe …

because waterfall doesn’t work, right?

@aahoogendoorn They should never have used waterfall.

@aahoogendoorn Does the name of the project coincidently start with a C?

So the methodology doesn’t work

But how would you feel if …

@aahoogendoorn They didn’t apply Scrum right.

@aahoogendoorn This project likely did ScrumBut, not Scrum.

So it’s not the methodology, right?

12

13

14

15

Jack states that we have over 300 resources who are trained as SCRUM master. As it happens I’m meeting him this afternoon. I’ll ask him. 300?

16

Scrumman

Dogmagile

Crusader Agile

Scrumdamentalism

Stand up meetings

Sit down meetings…

Scrumdamentalism

Scrumdamentalism

Agilists against Zenifying

Just write down small things on small papers. It’s your kaizen.

Agilists against Zenifying

Don’t just write down small things on small papers. Write code. It’s your job.

The Bob-the-Builder-Syndrome

Can we build it? Yes, we can!

There is no so thing as one-size-fits-all agile

28

Teams and roles

Customer, Coach, Developer

Product owner, Scrum master, Team

Propose Scope Realize Realize Realize Realize Finalize Manage

Customer, User, Domain Expert Project Manager, Coach, Developer,

TesterCreateproject proposal

Writeproject plan

Deliverworkingsoftware

Stabilizesoftware

Maintainsoftware

Multiple roles

33

Teams?

34

What is the keyto being successful

as a team?

35

Collaboration

36

But what happens

to the old roles?

37

An example teamProduct owner

Responsible for gathering all business requirements

No ‘real’ business owner

Scrum teamBusiness analyst /2

Information analyst /2SAP CRM /1

SAP XI/ BPM /2SAP ABAP /1

UI developer /1.NET developer /1

Test /2Scrum master /1

Agile coach /1

The backlog

Where does it come from?

And on the seventh day Ken created the backlog

The automagical backlog

The automagical backlog

Preliminary iterations

Preliminary iterations

Propose Scope Realize Realize Realize Realize Finalize Manage

Preliminary iterations

Createproject proposal

Writeproject plan

Deliverworkingsoftware

Stabilizesoftware

Maintainsoftware

Documentation Frenzy

Documentation Frenzy

But if your IT landscape looks like this …

Index cards might just not do the trick

User stories are merely meant to get the conversation going?

So what about documentation?

The agile manifesto doesn’t say no documentation (or modeling)

Eventually your software will go into maintenance (hopefully)

Will you document to maintain?

54

Guesstimation

55

Apples

Team 1

Apples and oranges

56

Team 1 Team 2

57

Apples and apples

Team 1 Team 2

Distributed Apples

58

Team 1

OffshoreTeamTeam 2 Team 3

Mandatory burn down chart?

Bad smell: note how the same example is used in everyone’s presentations.

Don’t trust a vendor’s

presentation if it has this example

of a burndown chart in it.

We have our ups and downs

Lightweight agile can beto enterprise projects

What Monopoly is to solving the financial crisis

62

Agile is a sliding scale

Assembling Agile

64

Static versus Dynamic Agile

65

Project Approachpublic interface IApproach{ List<ITeam> Teams { get; set; } IDashBoard Board { get; set; } IUnitOfWork Unit { get; set; }} public abstract class Approach : IApproach{ public List<ITeam> Teams { get; set; } public IDashBoard Board { get; set; } public IUnitOfWork Unit { get; set; }}

66

Static Approach public class Scrum : Approach { public Scrum() { Teams = new List<ITeam> {new LocalTeam()};

Board = new TaskBoard(); Unit = new UserStory(); } }

public class ScrumProject { public Scrum Approach = new Scrum(); }

67

Dynamic Approach public class Project { public IApproach Approach { get; set; } }

public class MyProject : Project { public MyProject() { Approach = new Smart(); Approach.Board = new KanbanBoard();

Approach.Teams.Add(new LocalTeam()); Approach.Teams.Add(new LocalTeam()); Approach.Teams.Add(new IndianTeam());

Approach.Unit = new Feature(); } }

Assembling Agile – The basics of agile

ShortIterations

CollaborativeTeams

SmallUnit of Work

ContinuousPlanning

DeliverEarly & Often

SimplifyCommunication

Lightweight Agile

Assembling Agile – Light

ShortIterations

CollaborativeTeams

SmallUnit of Work

ContinuousPlanning

DeliverEarly & Often

SimplifyCommunication

Enterprise Agile

Assembling Agile – Enterprise

ShortIterations

CollaborativeTeams

SmallUnit of Work

ContinuousPlanning

DeliverEarly & Often

SimplifyCommunication

73

Institutionalizing agile

74

Freedom and flexibility

75

Institutionalizing agile

In retrospective

Agile is no religion

So don’t be a zealot

78

Agile is a sliding scale

Assembling Agile

Value is found

In all agile approaces(and yes, even in waterfall)

And please can we cut the crap

And go back to work?

82

83

Sander Hoogendoornwww.sanderhoogendoorn.com

@aahoogendoorn