Copyright © 2011-2016 by Fred George
PROGRAMMER ANARCHY
and
MANAGERLESS PROCESSES
Fred George
FredGeorge@acm.org
@fgeorge52
1
Fred George
Copyright © 2015 by Fred George. All rights reserved. 2
Technologist
• Computer networks – 70’s
• Token Ring LAN – 80’s
• GUI’s – late 80’s
• OO – late 80’s
• Agile – late 90’s
• MicroServices – mid-2000’s
Programmer
• Since 1968 (Basic)
• 65,000 hours experience
• 70+ languages
• Computer Science Degree 1973
Manager
• 17 years IBM
• Business degree,
MIT Sloan School 1986
• Product Owner, IBM
• VP, ThoughtWorks
• Co-founder, Outpace (Silicon
Valley)
• Senior Advisor to 3 tech
companies
Fred George
Copyright © 2015 by Fred George. All rights reserved. 3
Consulting Roles
• Change Agent
• Disruptor
• “Hand grenade I am throwing
into development”
• CTO describing Fred to his Vice
President
Copyright © 2011-2016 by Fred GeorgeCopyright © 2012-2013 by Fred George. All rights
reserved.
Emerging Experiences
at...
4
Copyright © 2011-2016 by Fred George 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-2016 by Fred George 6
XP Values
✦ Feedback
✦ Communication
✦ Simplicity
✦ Courage
✦ Respect
✓
✓
✓
✓
✓
Copyright © 2011-2016 by Fred George
Agile Best Practices
✦ Stand ups
✦ Story narratives
✦ Retrospectives
✦ Estimates
✦ Iterations
✦ Mandatory pairing
7
✦ Unit tests
✦ Acceptance tests
✦ Refactoring
✦ Patterns
✦ Continuous integration
Not Used
Copyright © 2011-2016 by Fred George 8
Agile Roles
Agile
Roles
developmentbusiness
management
programmercustomer
BA
QA
DBA
UI
designer
architect
project
manager
iteration
manager
developer
Copyright © 2011-2016 by Fred George 9
Anarchy Roles
✦ Customer
✦ Project manager
✦ Business analyst
✦ Developer
✦ Quality assurance / tester
✓
X
✓
X
X
✦ Manager of programmersX
Copyright © 2011-2016 by Fred George
Process Has Many NamesStartup Model
Developer-Driven
Development
One Hacker
Way
Copyright © 2011-2016 by Fred George
Simple
ComplicatedComplex
Chaotic
Cause a Effect
Cause aaa Effect
Effect? Cause?
Cause ? Effect
Disorder
New Problem Domains:
The Cynefin Framework
Copyright © 2011-2016 by Fred George
Simple
ComplicatedComplex
Chaotic
Copyright © 2011-2016 by Fred George
Project Delivery Cycles
5 yrs.
1980 1990 2000
1 mon.
1 week
1 day
2010
1 year
ProjectDuration(log)
Waterfall
Waterfall
Agile
Agile
A2
A2
Waterfall
w OO
Copyright © 2011-2016 by Fred George
✦ Development driven by stories
✦ Stories small
✦ Priority set by customer
✦ Story-level estimates and metrics
Agile Side Effect:
Story Tyranny
Problem:
14
Developers become disconnected
from business problem (Drones)
Copyright © 2011-2016 by Fred George
Requirements Hierarchy
15
Tasks
Stories
Features
Projects
Initiatives
Credit: Greg Reiser, ThoughtWorks, 2005
Over-Specialization
Copyright © 2015 by Fred George
•Theory:
• Specialist are more productive
•Practice:
• Overhead of communication is under-estimated
• Unbalanced workload creates delays
16
Copyright © 2011-2016 by Fred George
✦ QA tools are Programming tools
✦ Selenium
✦ Cucumber
✦ Service Architecture creates complex systems
✦ Need architecture skills to properly test
✦ Shift toward monitoring over acceptance testing
17
Fate of Roles:
Agile
Roles
developmentbusiness
management
customer
BA
QA
project
manager
iteration
manager
developer
QA
Copyright © 2011-2016 by Fred George
BA
18
Fate of Roles:
Agile
Roles
developmentbusiness
management
customer
project
manager
iteration
manager
developer
BA
Too complex for
programmers!
Programmers
can’t talk
Programmers lack
“social skills”
Copyright © 2011-2016 by Fred George 19
Fate of Roles:
Agile
Roles
developmentbusiness
management
customer
project
manager
iteration
manager
developer
Copyright © 2011-2016 by Fred George 20
Fate of Roles:
Manage
r
ClerkLeaderAmbassadorCoach/mentorConcierge
Power-
Hungry
Boss
Copyright © 2011-2016 by Fred George 21
Anarchy Roles
Agile
Roles
developmentbusiness
management
customer
developer
Copyright © 2011-2016 by Fred George
forwardtechnology.co.uk
22
Copyright © 2011-2016 by Fred George
Example: Energy
Revolution
✦ Prior system:
✦ .NET with SQLServer
✦ New system:
✦ Ruby, Clojure, C++, Node.js, R
✦ MySQL, MongoDB
✦ HAML, SASS
23
Copyright © 2011-2016 by Fred George
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!
24
Copyright © 2011-2016 by Fred George
Example: Click Tracking
✦ Old system:
✦ Ruby-based, 32 servers with 40% utilization
✦ New system:
✦ Node.js, 22 servers with 10% utilization and
lower latency
25
Copyright © 2011-2016 by Fred George
Agile Best Practices
✦ Stand ups
✦ Story narratives
✦ Retrospectives
✦ Estimates
✦ Iterations
✦ Mandatory pairing
26
✦ Unit tests
✦ Acceptance tests
✦ Refactoring
✦ Patterns
✦ Continuous
integration
Trust w
collocation
Results,
not blame
Small,
short-lived
apps
Continuous
deployment
Not Used
Copyright © 2011-2016 by Fred George
Agile 2013:
Implementing Anarchy
27
✦ Online version of Daily Mail
✦ Company established in late 1800’s
✦ MailOnline largest online newspaper in world
✦ Challenge: Introduce Anarchy to an established IT
Specialization
Institutionalized with Titles
Copyright © 2015 by Fred George. All rights reserved. 28
Case Study:
•50 IT professionals
•25+ titles
•0 people understanding projects
29
Master
Journeyman
Apprentice
Key Business Tech
Platform
iOS
Android
Databases
Big Data
Languages
HTML/CSS/JS
Java
Ruby
Server-side JS
Software Delivery
Agile management
OOD / Architecture
Testing
Solution: Fix the Titles
Matching HR Focus
3
0
Competent in at least 1
key technology
Graduate Dev
Developer
Not yet competent in a
key technology
Senior Dev Master (expert) in at least
1 key technologySystems Dev
Competent in 5-7 key
technologies
Master Dev Master in 3+ key
technologies
Dual career path
for Developers
Copyright © 2011-2016 by Fred George
✦ Intensive OO training class (40 hourse, off-site)
✦ Developers, tech leads, QA, and SCRUM masters
✦ Everyone encouraged to participate (but still
optional)
Training in Working
Together
31
Copyright © 2011-2016 by Fred George
Flexible Project Approach
32
Developers
time
“Tables”
A
B
C
D
E
F
G H
Copyright © 2011-2016 by Fred George
MailOnline Scorecard
✦ Absorbed 20 more developers 1 Jan - 1 Mar
✦ By April 15
✦ Delivering LeaderBoard, a new page (Ruby, Node.js)
✦ Building first replacement page (Clojure, Node.js)
✦ Explored numerous message bus technologies
✦ Supporting MicroService architecture
✦ Rebuilt Android application
✦ By September, replaced front-end completely
✦ 130K Java with 4K Clojure + Node.js micro-services
monitoring
36
Copyright © 2011-2016 by Fred George
2014-15: Refining…
38
Copyright © 2011-2016 by Fred George
Like MailOnline, Plus…
✦ Titles: Only “Developer”
✦ Remote pairing (4 time zones in US + Canada)
✦ Still meet developers face-to-face for the first time quarterly
✦ Teams decide assignments/roles each day
✦ New technologies/processes for most developers
✦ Clojure
✦ Micro-services
✦ Flat, self-organizing teams
39
Copyright © 2011-2016 by Fred George
PROGRAMMER
40
ANARCHY

Programmer Anarchy and Managerless Processes

  • 1.
    Copyright © 2011-2016by Fred George PROGRAMMER ANARCHY and MANAGERLESS PROCESSES Fred George FredGeorge@acm.org @fgeorge52 1
  • 2.
    Fred George Copyright ©2015 by Fred George. All rights reserved. 2 Technologist • Computer networks – 70’s • Token Ring LAN – 80’s • GUI’s – late 80’s • OO – late 80’s • Agile – late 90’s • MicroServices – mid-2000’s Programmer • Since 1968 (Basic) • 65,000 hours experience • 70+ languages • Computer Science Degree 1973 Manager • 17 years IBM • Business degree, MIT Sloan School 1986 • Product Owner, IBM • VP, ThoughtWorks • Co-founder, Outpace (Silicon Valley) • Senior Advisor to 3 tech companies
  • 3.
    Fred George Copyright ©2015 by Fred George. All rights reserved. 3 Consulting Roles • Change Agent • Disruptor • “Hand grenade I am throwing into development” • CTO describing Fred to his Vice President
  • 4.
    Copyright © 2011-2016by Fred GeorgeCopyright © 2012-2013 by Fred George. All rights reserved. Emerging Experiences at... 4
  • 5.
    Copyright © 2011-2016by Fred George 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 ✓ ✓ ✓ ✓
  • 6.
    Copyright © 2011-2016by Fred George 6 XP Values ✦ Feedback ✦ Communication ✦ Simplicity ✦ Courage ✦ Respect ✓ ✓ ✓ ✓ ✓
  • 7.
    Copyright © 2011-2016by Fred George Agile Best Practices ✦ Stand ups ✦ Story narratives ✦ Retrospectives ✦ Estimates ✦ Iterations ✦ Mandatory pairing 7 ✦ Unit tests ✦ Acceptance tests ✦ Refactoring ✦ Patterns ✦ Continuous integration Not Used
  • 8.
    Copyright © 2011-2016by Fred George 8 Agile Roles Agile Roles developmentbusiness management programmercustomer BA QA DBA UI designer architect project manager iteration manager developer
  • 9.
    Copyright © 2011-2016by Fred George 9 Anarchy Roles ✦ Customer ✦ Project manager ✦ Business analyst ✦ Developer ✦ Quality assurance / tester ✓ X ✓ X X ✦ Manager of programmersX
  • 10.
    Copyright © 2011-2016by Fred George Process Has Many NamesStartup Model Developer-Driven Development One Hacker Way
  • 11.
    Copyright © 2011-2016by Fred George Simple ComplicatedComplex Chaotic Cause a Effect Cause aaa Effect Effect? Cause? Cause ? Effect Disorder New Problem Domains: The Cynefin Framework
  • 12.
    Copyright © 2011-2016by Fred George Simple ComplicatedComplex Chaotic
  • 13.
    Copyright © 2011-2016by Fred George Project Delivery Cycles 5 yrs. 1980 1990 2000 1 mon. 1 week 1 day 2010 1 year ProjectDuration(log) Waterfall Waterfall Agile Agile A2 A2 Waterfall w OO
  • 14.
    Copyright © 2011-2016by Fred George ✦ Development driven by stories ✦ Stories small ✦ Priority set by customer ✦ Story-level estimates and metrics Agile Side Effect: Story Tyranny Problem: 14 Developers become disconnected from business problem (Drones)
  • 15.
    Copyright © 2011-2016by Fred George Requirements Hierarchy 15 Tasks Stories Features Projects Initiatives Credit: Greg Reiser, ThoughtWorks, 2005
  • 16.
    Over-Specialization Copyright © 2015by Fred George •Theory: • Specialist are more productive •Practice: • Overhead of communication is under-estimated • Unbalanced workload creates delays 16
  • 17.
    Copyright © 2011-2016by Fred George ✦ QA tools are Programming tools ✦ Selenium ✦ Cucumber ✦ Service Architecture creates complex systems ✦ Need architecture skills to properly test ✦ Shift toward monitoring over acceptance testing 17 Fate of Roles: Agile Roles developmentbusiness management customer BA QA project manager iteration manager developer QA
  • 18.
    Copyright © 2011-2016by Fred George BA 18 Fate of Roles: Agile Roles developmentbusiness management customer project manager iteration manager developer BA Too complex for programmers! Programmers can’t talk Programmers lack “social skills”
  • 19.
    Copyright © 2011-2016by Fred George 19 Fate of Roles: Agile Roles developmentbusiness management customer project manager iteration manager developer
  • 20.
    Copyright © 2011-2016by Fred George 20 Fate of Roles: Manage r ClerkLeaderAmbassadorCoach/mentorConcierge Power- Hungry Boss
  • 21.
    Copyright © 2011-2016by Fred George 21 Anarchy Roles Agile Roles developmentbusiness management customer developer
  • 22.
    Copyright © 2011-2016by Fred George forwardtechnology.co.uk 22
  • 23.
    Copyright © 2011-2016by Fred George Example: Energy Revolution ✦ Prior system: ✦ .NET with SQLServer ✦ New system: ✦ Ruby, Clojure, C++, Node.js, R ✦ MySQL, MongoDB ✦ HAML, SASS 23
  • 24.
    Copyright © 2011-2016by Fred George 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! 24
  • 25.
    Copyright © 2011-2016by Fred George Example: Click Tracking ✦ Old system: ✦ Ruby-based, 32 servers with 40% utilization ✦ New system: ✦ Node.js, 22 servers with 10% utilization and lower latency 25
  • 26.
    Copyright © 2011-2016by Fred George Agile Best Practices ✦ Stand ups ✦ Story narratives ✦ Retrospectives ✦ Estimates ✦ Iterations ✦ Mandatory pairing 26 ✦ Unit tests ✦ Acceptance tests ✦ Refactoring ✦ Patterns ✦ Continuous integration Trust w collocation Results, not blame Small, short-lived apps Continuous deployment Not Used
  • 27.
    Copyright © 2011-2016by Fred George Agile 2013: Implementing Anarchy 27 ✦ Online version of Daily Mail ✦ Company established in late 1800’s ✦ MailOnline largest online newspaper in world ✦ Challenge: Introduce Anarchy to an established IT
  • 28.
    Specialization Institutionalized with Titles Copyright© 2015 by Fred George. All rights reserved. 28 Case Study: •50 IT professionals •25+ titles •0 people understanding projects
  • 29.
    29 Master Journeyman Apprentice Key Business Tech Platform iOS Android Databases BigData Languages HTML/CSS/JS Java Ruby Server-side JS Software Delivery Agile management OOD / Architecture Testing Solution: Fix the Titles
  • 30.
    Matching HR Focus 3 0 Competentin at least 1 key technology Graduate Dev Developer Not yet competent in a key technology Senior Dev Master (expert) in at least 1 key technologySystems Dev Competent in 5-7 key technologies Master Dev Master in 3+ key technologies Dual career path for Developers
  • 31.
    Copyright © 2011-2016by Fred George ✦ Intensive OO training class (40 hourse, off-site) ✦ Developers, tech leads, QA, and SCRUM masters ✦ Everyone encouraged to participate (but still optional) Training in Working Together 31
  • 32.
    Copyright © 2011-2016by Fred George Flexible Project Approach 32 Developers time “Tables” A B C D E F G H
  • 33.
    Copyright © 2011-2016by Fred George MailOnline Scorecard ✦ Absorbed 20 more developers 1 Jan - 1 Mar ✦ By April 15 ✦ Delivering LeaderBoard, a new page (Ruby, Node.js) ✦ Building first replacement page (Clojure, Node.js) ✦ Explored numerous message bus technologies ✦ Supporting MicroService architecture ✦ Rebuilt Android application ✦ By September, replaced front-end completely ✦ 130K Java with 4K Clojure + Node.js micro-services monitoring 36
  • 34.
    Copyright © 2011-2016by Fred George 2014-15: Refining… 38
  • 35.
    Copyright © 2011-2016by Fred George Like MailOnline, Plus… ✦ Titles: Only “Developer” ✦ Remote pairing (4 time zones in US + Canada) ✦ Still meet developers face-to-face for the first time quarterly ✦ Teams decide assignments/roles each day ✦ New technologies/processes for most developers ✦ Clojure ✦ Micro-services ✦ Flat, self-organizing teams 39
  • 36.
    Copyright © 2011-2016by Fred George PROGRAMMER 40 ANARCHY