programmer anarchy

28
Copyright © 2011 by Forward Internet Group, Ltd PROGRAMMER ANARCHY Antonio Terreno Forward Internet Group, London, UK [email protected] @javame 1

Upload: antonio-terreno

Post on 09-May-2015

3.170 views

Category:

Technology


2 download

DESCRIPTION

Programmer Anarchy #agileee 2011

TRANSCRIPT

Page 1: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

PROGRAMMER ANARCHYAntonio TerrenoForward Internet Group, London, [email protected]@javame

1

Page 2: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Experiences at...

2

Page 3: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Performance

3

£0.5m £0.7m £1.0m £3.9m £10.0m

£15m

£3m £7m £13m £27m £55m

£100m

Page 4: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Why is Forward Working?

4

Page 5: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 5

Agile Manifesto

✦ Individuals and interactions over processes and tools

✦ Working software over comprehensive documentation

✦ Customer collaboration over contract negotiation

✦ Responding to change over following a plan

✓ ✓ ✓

Page 6: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 6

XP Values

✦ Feedback✦ Communication✦ Simplicity✦ Courage✦ Respect

✓ ✓

✓ ✓ ✓

Page 7: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Agile Best Practices

✦ Stand ups✦ Story narratives✦ Retrospectives✦ Estimates✦ Iterations✦ Mandatory pairing

7

✦ Unit tests✦ Acceptance tests✦ Refactoring✦ Patterns✦ Continuous integration

Not Used

Page 8: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 8

Trustbetween Customer and Developer

Agile Impact:

Page 9: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 9

Trust

waterfall

WHY?✦ Larger systems✦ Higher expectations✦ Volatile commercial

environments✦ etc...

Page 10: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 10

Trust

waterfall

agile/lean

SCRUM

XP

Agile

Lean

Kanban

CulturalChasm

✦ Frequency of interaction✦ Process impact✦ Fewer roles (& titles!)

Idea from Mark Durrand, uSwitch

Page 11: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 11

Role impact

AgileRoles

developmentbusiness

management

programmercustomerBA QA

DBA UI designerarchitect

project manager

iteration manager

developer

Page 12: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 12

Trust

waterfall agile/lean

CulturalChasm

Fortune 50 story

CulturalChasm

Idea from Mark Durrand, uSwitch

Page 13: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd 13

Agile Roles

✦ Customer✦ Project manager✦ Business analyst✦ Developer✦ Quality assurance / tester

✓ X

✓ X

X ✦ Manager of programmers X

Reduced Again...

Page 14: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

PROGRAMMER

14

Developer-Driven DevelopmentOpen Source BusinessANARCHY

Page 15: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Why “ANARCHY”

15

✦ EMPOWERMENT✦ Somebody “gives” it✦ Somebody can “take

it away”✦ Leads to “Can I ... ?”

✦ ANARCHY✦ Nobody to ask✦ Can’t stop someone

else✦ Disagreements

expected

Page 16: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Matching Work and Devs

16

Stories Devs

Stand Up

Projects

“Resource Rumble”

Who?

Page 17: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

✦ Development driven by stories✦ Stories small✦ Priority set by customer✦ Story-level estimates and metrics

Agile Side Effect:Story Tyranny

Problem:

17

Developers become disconnected from business problem (Drones)

Page 18: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Business Decisions Shift...

18

Trust

waterfall agile/lean anarchy

Cust DevCust Dev Cust Dev

Page 19: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

forwardtechnology.co.uk

19

Page 20: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Example: Energy Revolution✦ Prior system:

✦ .NET with SQLServer✦ New system:

✦ Ruby, Clojure, C++✦ MySQL, MongoDB✦ HAML, SASS

20

Page 21: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Example: Energy Revolution✦ Ruby for energy calculation - big improvement!✦ Rewrote in Clojure✦ Rewrote in Clojure (again)

Question: What manager would let them to do it?Hence: No manager!

21

Page 22: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Example: Click Tracking✦ Old system:

✦ Ruby-based, 32 servers with 40% utilization✦ New system:

✦ Node.js, 22 servers with 10% utilization and lower latency

22

Page 23: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Cultural Enablers

23

Clarity ofsuccess

Respected peers

Do or not do, there is no try

If you are not failing,you are not trying

Like risk

Developerfocused

Sound finances

Experimentationdrives innovation

The greatest barrierto success is

the fear of failure

Fear is themind killer

Page 24: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Agile Best Practices

✦ Stand ups✦ Story narratives✦ Retrospectives✦ Estimates✦ Iterations✦ Mandatory pairing

24

✦ Unit tests✦ Acceptance tests✦ Refactoring✦ Patterns✦ Continuous integration

Trust wcollocation

Results,not blame

Small,short-lived

apps

Continuousdeployment

Not Used

Page 25: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Reality Check✦ Different extent by team

✦ Talent, experience, apprehension✦ Anarchy exists in how Anarchy is implemented

✦ Even our best Anarchists “ask” on occasion✦ Commercial success driving freedom

25

Page 26: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Anarchy dangers

✦ Works well with teams that are at a Ri level✦ From anarchy to dictatorship✦ Work in progress Excess

26

Page 27: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

Go home with this line

✦ Agile is learn how to embrace agile practises and then learn how to take them off and then back in, depending on the context

27

Page 28: Programmer Anarchy

Copyright © 2011 by Forward Internet Group, Ltd

PROGRAMMER

28

ANARCHY