KEMBAR78
Programmer Anarchy | PDF
PROGRAMMER ANARCHY
Antonio Terreno
Forward Internet Group, London, UK
toni@forward.co.uk
@javame
Copyright © 2011 by Forward Internet Group, Ltd   1
Experiences at...




Copyright © 2011 by Forward Internet Group, Ltd   2
£100m


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

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




Performance

                                                                                 £15m




Copyright © 2011 by Forward Internet Group, Ltd                                          3
Why is Forward Working?



Copyright © 2011 by Forward Internet Group, Ltd   4
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   ✓

Copyright © 2011 by Forward Internet Group, Ltd               5
XP Values

✦    Feedback                         ✓
✦    Communication                                ✓
✦             ✓
     Simplicity
✦    Courage ✓
✦    Respect ✓



Copyright © 2011 by Forward Internet Group, Ltd       6
Agile Best Practices Not Used

✦    Stand ups                                    ✦   Unit tests
✦    Story narratives                             ✦   Acceptance tests
✦    Retrospectives                               ✦   Refactoring
✦    Estimates                                    ✦   Patterns
✦    Iterations                                   ✦   Continuous integration
✦    Mandatory pairing



Copyright © 2011 by Forward Internet Group, Ltd                                7
Agile Impact:


                                                  Trust
                          between Customer and Developer




Copyright © 2011 by Forward Internet Group, Ltd            8
WHY?
                                                   ✦   Larger systems
                                                   ✦   Higher expectations
                                                   ✦   Volatile commercial
                                                       environments

Trust                                              ✦   etc...




                                 waterfall
 Copyright © 2011 by Forward Internet Group, Ltd                             9
✦     Frequency of interaction
                                 ✦     Process impact
                                 ✦     Fewer roles (& titles!)
                                                       agile/lean
                                                                                     Lean

                                                                                      Kanban

Trust                                              SCRUM              Agile

                                                       XP
                                                     Cultural
                                                     Chasm


                                 waterfall
 Copyright © 2011 by Forward Internet Group, Ltd            Idea from Mark Durrand, uSwitch    10
Role impact                                                  project
                                                             manager
                                                                       iteration
                                                        management     manager




                                                          Agile
                                                          Roles


                                       business                        development
                                customer                          programmer architect
                                                   QA                  developer
                                              BA                           UI designer
                                                                    DBA



Copyright © 2011 by Forward Internet Group, Ltd                                          11
Cultural
                                                                                            Chasm


Trust
                                                   Cultural
                                                   Chasm
                                                    Fortune 50 story


                                 waterfall                agile/lean
 Copyright © 2011 by Forward Internet Group, Ltd          Idea from Mark Durrand, uSwitch              12
Agile Roles Reduced Again...

✦    Customer                         ✓
✦                 X
     Project manager
✦ Business analyst X

✦    Developer                     ✓
✦    Quality assurance / tester                   X
✦    Manager of programmers                       X
Copyright © 2011 by Forward Internet Group, Ltd       13
PROGRAMMERBusiness
       Open Source ANARCHY
   Developer-Driven Development




Copyright © 2011 by Forward Internet Group, Ltd   14
✦    EMPOWERMENT                                  ✦   ANARCHY
      ✦     Somebody “gives” it                       ✦   Nobody to ask

Why “ANARCHY”
      ✦     Somebody can “take
            it away”
                                                      ✦   Can’t stop someone
                                                          else
      ✦     Leads to “Can I ... ?”                    ✦   Disagreements
                                                          expected




Copyright © 2011 by Forward Internet Group, Ltd                                15
Matching Work and Devs
              Stories
              Projects                                            Devs



                                                     Who?

                                                      Stand Up
                                                  “Resource Rumble”

Copyright © 2011 by Forward Internet Group, Ltd                          16
✦    Development driven by stories
✦    Stories small
Agile Side Effect:
✦    Priority set by customer
Story Tyrannymetrics
✦Story-level estimates and


                         Problem:
                               Developers become disconnected
                               from business problem (Drones)
Copyright © 2011 by Forward Internet Group, Ltd                 17
Business Decisions Shift...

                                                        Cust           Dev   Cust        Dev
                            Cust                  Dev


   Trust



                                     waterfall            agile/lean           anarchy
Copyright © 2011 by Forward Internet Group, Ltd                                                18
forwardtechnology.co.uk




Copyright © 2011 by Forward Internet Group, Ltd   19
✦    Prior system:
      ✦     .NET with SQLServer
Example: Energy Revolution
✦New system:
      ✦     Ruby, Clojure, C++
      ✦     MySQL, MongoDB
      ✦     HAML, SASS


Copyright © 2011 by Forward Internet Group, Ltd   20
✦    Ruby for energy calculation - big improvement!
✦    Rewrote in Clojure
Example: Energy Revolution
✦Rewrote in Clojure (again)


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


Copyright © 2011 by Forward Internet Group, Ltd        21
✦    Old system:

Example:32Clickwith 40% utilization
  Ruby-based,
      ✦       servers Tracking
✦    New system:
      ✦     Node.js, 22 servers with 10% utilization and lower
            latency



Copyright © 2011 by Forward Internet Group, Ltd                  22
Do or not do,
Sound finances                                          there is no try
                 Like risk                                Experimentation
           Fear is the
 Cultural Enablers                                        drives innovation
           mind killer are not failing,
                    If you
                                                       you are not trying
Clarity of                              Developer
 success                                 focused    The greatest barrier
                                                        to success is
       Respected peers                               the fear of failure
 Copyright © 2011 by Forward Internet Group, Ltd                            23
Agile Best Practices Not Used
              Trust w
✦ Stand ups collocation                                ✦   Unit tests
✦    Story narratives                                  ✦   Acceptance tests
                                                                            Small,
✦    Retrospectives                                    ✦   Refactoring
                                                                          short-lived
✦    Estimates                                         ✦   Patterns          apps
                                            Results,
✦    Iterations                            not blame   ✦   Continuous integration
✦    Mandatory pairing                                            Continuous
                                                                  deployment


Copyright © 2011 by Forward Internet Group, Ltd                                     24
✦    Different extent by team

Reality Check
      ✦     Talent, experience, apprehension
      ✦     Anarchy exists in how Anarchy is implemented
✦    Even our best Anarchists “ask” on occasion
✦    Commercial success driving freedom



Copyright © 2011 by Forward Internet Group, Ltd            25
Anarchy dangers


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




Copyright © 2011 by Forward Internet Group, Ltd     26
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




Copyright © 2011 by Forward Internet Group, Ltd               27
PROGRAMMER ANARCHY



Copyright © 2011 by Forward Internet Group, Ltd   28

Programmer Anarchy

  • 1.
    PROGRAMMER ANARCHY Antonio Terreno ForwardInternet Group, London, UK toni@forward.co.uk @javame Copyright © 2011 by Forward Internet Group, Ltd 1
  • 2.
    Experiences at... Copyright ©2011 by Forward Internet Group, Ltd 2
  • 3.
    £100m £3m £7m £13m £27m £55m £0.5m £0.7m £1.0m £3.9m £10.0m Performance £15m Copyright © 2011 by Forward Internet Group, Ltd 3
  • 4.
    Why is ForwardWorking? Copyright © 2011 by Forward Internet Group, Ltd 4
  • 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 ✓ Copyright © 2011 by Forward Internet Group, Ltd 5
  • 6.
    XP Values ✦ Feedback ✓ ✦ Communication ✓ ✦ ✓ Simplicity ✦ Courage ✓ ✦ Respect ✓ Copyright © 2011 by Forward Internet Group, Ltd 6
  • 7.
    Agile Best PracticesNot Used ✦ Stand ups ✦ Unit tests ✦ Story narratives ✦ Acceptance tests ✦ Retrospectives ✦ Refactoring ✦ Estimates ✦ Patterns ✦ Iterations ✦ Continuous integration ✦ Mandatory pairing Copyright © 2011 by Forward Internet Group, Ltd 7
  • 8.
    Agile Impact: Trust between Customer and Developer Copyright © 2011 by Forward Internet Group, Ltd 8
  • 9.
    WHY? ✦ Larger systems ✦ Higher expectations ✦ Volatile commercial environments Trust ✦ etc... waterfall Copyright © 2011 by Forward Internet Group, Ltd 9
  • 10.
    Frequency of interaction ✦ Process impact ✦ Fewer roles (& titles!) agile/lean Lean Kanban Trust SCRUM Agile XP Cultural Chasm waterfall Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 10
  • 11.
    Role impact project manager iteration management manager Agile Roles business development customer programmer architect QA developer BA UI designer DBA Copyright © 2011 by Forward Internet Group, Ltd 11
  • 12.
    Cultural Chasm Trust Cultural Chasm Fortune 50 story waterfall agile/lean Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 12
  • 13.
    Agile Roles ReducedAgain... ✦ Customer ✓ ✦ X Project manager ✦ Business analyst X ✦ Developer ✓ ✦ Quality assurance / tester X ✦ Manager of programmers X Copyright © 2011 by Forward Internet Group, Ltd 13
  • 14.
    PROGRAMMERBusiness Open Source ANARCHY Developer-Driven Development Copyright © 2011 by Forward Internet Group, Ltd 14
  • 15.
    EMPOWERMENT ✦ ANARCHY ✦ Somebody “gives” it ✦ Nobody to ask Why “ANARCHY” ✦ Somebody can “take it away” ✦ Can’t stop someone else ✦ Leads to “Can I ... ?” ✦ Disagreements expected Copyright © 2011 by Forward Internet Group, Ltd 15
  • 16.
    Matching Work andDevs Stories Projects Devs Who? Stand Up “Resource Rumble” Copyright © 2011 by Forward Internet Group, Ltd 16
  • 17.
    Development driven by stories ✦ Stories small Agile Side Effect: ✦ Priority set by customer Story Tyrannymetrics ✦Story-level estimates and Problem: Developers become disconnected from business problem (Drones) Copyright © 2011 by Forward Internet Group, Ltd 17
  • 18.
    Business Decisions Shift... Cust Dev Cust Dev Cust Dev Trust waterfall agile/lean anarchy Copyright © 2011 by Forward Internet Group, Ltd 18
  • 19.
    forwardtechnology.co.uk Copyright © 2011by Forward Internet Group, Ltd 19
  • 20.
    Prior system: ✦ .NET with SQLServer Example: Energy Revolution ✦New system: ✦ Ruby, Clojure, C++ ✦ MySQL, MongoDB ✦ HAML, SASS Copyright © 2011 by Forward Internet Group, Ltd 20
  • 21.
    Ruby for energy calculation - big improvement! ✦ Rewrote in Clojure Example: Energy Revolution ✦Rewrote in Clojure (again) Question: What manager would let them to do it? Hence: No manager! Copyright © 2011 by Forward Internet Group, Ltd 21
  • 22.
    Old system: Example:32Clickwith 40% utilization Ruby-based, ✦ servers Tracking ✦ New system: ✦ Node.js, 22 servers with 10% utilization and lower latency Copyright © 2011 by Forward Internet Group, Ltd 22
  • 23.
    Do or notdo, Sound finances there is no try Like risk Experimentation Fear is the Cultural Enablers drives innovation mind killer are not failing, If you you are not trying Clarity of Developer success focused The greatest barrier to success is Respected peers the fear of failure Copyright © 2011 by Forward Internet Group, Ltd 23
  • 24.
    Agile Best PracticesNot Used Trust w ✦ Stand ups collocation ✦ Unit tests ✦ Story narratives ✦ Acceptance tests Small, ✦ Retrospectives ✦ Refactoring short-lived ✦ Estimates ✦ Patterns apps Results, ✦ Iterations not blame ✦ Continuous integration ✦ Mandatory pairing Continuous deployment Copyright © 2011 by Forward Internet Group, Ltd 24
  • 25.
    Different extent by team Reality Check ✦ Talent, experience, apprehension ✦ Anarchy exists in how Anarchy is implemented ✦ Even our best Anarchists “ask” on occasion ✦ Commercial success driving freedom Copyright © 2011 by Forward Internet Group, Ltd 25
  • 26.
    Anarchy dangers ✦ Works well with teams that are at a Ri level ✦ From anarchy to dictatorship ✦ Work in progress Excess Copyright © 2011 by Forward Internet Group, Ltd 26
  • 27.
    Go home withthis 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 Copyright © 2011 by Forward Internet Group, Ltd 27
  • 28.
    PROGRAMMER ANARCHY Copyright ©2011 by Forward Internet Group, Ltd 28