Agile or Fragile

34
Agile or Fragile Rodrigo Campos [email protected] - @xinu ffffuuuu conference 2010 - http://ffffuuuu.me 1 Sunday, November 21, 2010

description

Musings on agile methods and other fairy tales, as presented in ffffuuuu conf 2010.

Transcript of Agile or Fragile

Page 1: Agile or Fragile

Agile or FragileRodrigo Campos

[email protected] - @xinu

ffffuuuu conference 2010 - http://ffffuuuu.me

1Sunday, November 21, 2010

Page 2: Agile or Fragile

Disclaimer #1

Agile methods can improve a company’s ability to deliver production ready systems in less time than the so called traditional development methods.

Now that said...

2Sunday, November 21, 2010

Page 3: Agile or Fragile

Disclaimer #2

I’ll talk about nonteorethical, real life stuff that happens in real life companies.Your mileage may vary...

3Sunday, November 21, 2010

Page 4: Agile or Fragile

The mythical endless week

VPWhatever Inc.

DirectorProduct R&D

ManagerR&D and Ops

Development Engineering

Operations Infrastructure

4Sunday, November 21, 2010

Page 5: Agile or Fragile

The mythical endless week

5Sunday, November 21, 2010

Page 6: Agile or Fragile

The mythical endless week

6Sunday, November 21, 2010

Page 7: Agile or Fragile

The mythical endless week

VPWhatever Inc.

CWTFOProduct R&D

ManagerR&D

ManagerOperations

ManagerR&D

ManagerR&D

R&D R&D R&D

Ops

7Sunday, November 21, 2010

Page 8: Agile or Fragile

The mythical endless week

VPWhatever Inc.

CWTFOProduct R&D

ManagerR&D

ManagerOperations

ManagerR&D

ManagerR&D

R&D R&D R&D

Ops

R&D

R&D

R&D

R&D

R&D R&D

8Sunday, November 21, 2010

Page 9: Agile or Fragile

Operations will be overwhelmed and will provide poor service

If you can live with that, that’s OK !Just don’t go bitch and moan at the ops team...

9Sunday, November 21, 2010

Page 10: Agile or Fragile

Possible solutions

• If you need operational throughput and quality of service you need a vertical organizational structure

• Schedule production deploys every 2 or 3 cycles

• Focus on quality assurance so you’ll have less bugs in production

• Automation is not an option !

• Don’t be an asshole

10Sunday, November 21, 2010

Page 11: Agile or Fragile

The neverending project

new story: now we need to get back to earth safe and sound.

11Sunday, November 21, 2010

Page 12: Agile or Fragile

The neverending project

• Continuous development is not an excuse for short sighted definitions

• You can be damn sure that Leonardo da Vinci was not trying to draw a horse when he started painting La Gioconda

• If you need to change your data model and build new architecture components every other cycle, something is wrong !

12Sunday, November 21, 2010

Page 13: Agile or Fragile

The neverending project

• Goal != Requirements

• Goal: “... achieving the goal, before the decade is out, of landing a man on the moon and returning him safely to the earth.” (JFK, 1961)

• Requirements (Saturn V):

• Payload to LEO: 119.000 Kg

• Main Engines: 5 Rocketdyne F-1

• Thrust: 34.020.000 N

• Burn time: 150 seconds

13Sunday, November 21, 2010

Page 14: Agile or Fragile

Possible Solutions• The PO has to fully understand and evaluate end

customer needs as well as market dynamics

• She can’t be clueless about the product !

• You may not need a “project statement” but every team needs a goal

• The goal has to be:

• Measurable

• Valuable

• Tangible

14Sunday, November 21, 2010

Page 15: Agile or Fragile

The bugless fallacy

• There’s no such thing as bugless applications

• Business will take precedence over quality

• By that I mean time to market issues as well as QA budget

• You’ll need to handle emergency rollouts

15Sunday, November 21, 2010

Page 16: Agile or Fragile

Possible Solutions

• QA needs time to accurately test software

• Every new feature should have a on/off switch (feature flags)

• Plan and do dark deploys

16Sunday, November 21, 2010

Page 17: Agile or Fragile

Pair Programming

17Sunday, November 21, 2010

Page 18: Agile or Fragile

Pair Programming

• Besides unemployment rates, what problem are you trying to solve ?

18Sunday, November 21, 2010

Page 19: Agile or Fragile

Pair Programming

• Two wrongs don’t make a right !

• A seminal book on Agile methods suggests that it is a good idea to have one programmer controlling the keyboard while the other controls the mouse

• No, I’m not kidding

19Sunday, November 21, 2010

Page 20: Agile or Fragile

The Quality Assurance Panacea

20Sunday, November 21, 2010

Page 21: Agile or Fragile

The Quality Assurance Panacea

• “But it passed QA”

• This is the new “Met the requirements” !

• QA oriented development is a predictable train crash

• Having a QA process doesn’t mean you can hire subpar programmers

21Sunday, November 21, 2010

Page 22: Agile or Fragile

Possible Solutions• Avoid QA oriented development, what you

need is user oriented development

• Make it clear that development should care about the end user experience and expectations

• Be sure that the whole team actually knows the user expectations

• QA needs leverage to halt a deploy

22Sunday, November 21, 2010

Page 24: Agile or Fragile

The meeting addiction

• Actually, daily meetings can be a good thing!

• You need to control the Drama Queens

• Constant whining is a sign of trouble

• More communication doesn’t mean good communication

24Sunday, November 21, 2010

Page 25: Agile or Fragile

Possible Solutions

• Focus on planning instead of eternal debates over what went wrong

• “Inspect and adapt” can lead to a dangerous road

• Sometimes you need to fix (or get rid of) the problem

25Sunday, November 21, 2010

Page 26: Agile or Fragile

The risk homeostasis syndrome

The hypothesis of risk homeostasis holds that everyone has his or her own fixed level of acceptable risk. When the level of risk in one part of the individual's life changes, there will be a corresponding rise or fall in risk elsewhere to bring the overall risk back to that individual's equilibrium.

Source: http://en.wikipedia.org/wiki/Risk_homeostasis

26Sunday, November 21, 2010

Page 27: Agile or Fragile

The risk homeostasis syndrome

• Symptoms may include:

• Multiple development teams working on a project at the same time

• Scrum master arguing about the number of stories and/or effort estimations

• Too many significant stories being deployed every cycle

• More than one deploy for each cycle - see the mythical endless week

27Sunday, November 21, 2010

Page 28: Agile or Fragile

Possible Solutions

• If the company missed the time to market window, launching a poorly developed product won’t fix it

• Remember Brook’s Law: "adding manpower to a late software project makes it later"

• Trust your team’s effort estimations

28Sunday, November 21, 2010

Page 29: Agile or Fragile

Now this one is for the managers

I know you’re out there !

29Sunday, November 21, 2010

Page 30: Agile or Fragile

If you expect this...

30Sunday, November 21, 2010

Page 31: Agile or Fragile

Don’t treat your team like this

31Sunday, November 21, 2010

Page 32: Agile or Fragile

Garbage InGarbage Out

• In the end it’s all about people

• Cheap programmer’s code will be... cheap

• No development process will harness the power of ignorance

32Sunday, November 21, 2010

Page 33: Agile or Fragile

You can’t fit a square peg in a round hole.

33Sunday, November 21, 2010

Page 34: Agile or Fragile

It’s Q&A time !

34Sunday, November 21, 2010