programmer anarchy and managerless processes
Post on 14-Apr-2017
755 Views
Preview:
TRANSCRIPT
Copyright © 2011-2016 by Fred George
PROGRAMMER ANARCHYandMANAGERLESS PROCESSES
Fred GeorgeFredGeorge@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
1973Manager
• 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
AgileRoles
development
business
management
programmer
customerBA QA
DBAUI
designer
architect
project manage
r iteration manage
r
developer
Copyright © 2011-2016 by Fred George 9
Anarchy Roles
✦ Customer✦ Project manager✦ Business analyst✦ Developer✦ Quality assurance /
tester
✓ X
✓ X
X ✦ Manager of
programmers X
Copyright © 2011-2016 by Fred George
Process Has Many NamesStartup ModelDeveloper-DrivenDevelopmentOne Hacker
Way
Copyright © 2011-2016 by Fred George 11
Simple
ComplicatedComplex
ChaoticCause a Effect
Cause aaa Effect
Effect? Cause?
Cause ? Effect
DisorderNew Problem Domains: The Cynefin Framework
Copyright © 2011-2016 by Fred George 12
Simple
ComplicatedComplex
Chaotic
Copyright © 2011-2016 by Fred George 13
Project Delivery Cycles
5 yrs.
1980 1990 2000
1 mon.
1 week
1 day
2010
1 year
Proj
ect D
urat
ion
(log) Waterfall
Waterfall
AgileAgile
A2
A2
Waterfallw 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:
AgileRoles
development
business
management
customerBA QA
project manage
r iteration manage
r
developer
QA
Copyright © 2011-2016 by Fred George
BA
18
Fate of Roles:
AgileRoles
developmentbusiness
management
customer
project manage
r iteration manage
r
developer
BAToo complex
for programmers!
Programmers can’t talk
Programmers lack “social
skills”
Copyright © 2011-2016 by Fred George 19
Fate of Roles:
AgileRoles
development
business
management
customer
project manage
r iteration manage
r
developer
X
Copyright © 2011-2016 by Fred George 20
Fate of Roles:Manager
ClerkLeaderAmbassadorCoach/mentorConciergePower-Hungry
Boss
Copyright © 2011-2016 by Fred George 21
Anarchy Roles
AgileRoles
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 wcollocation
Results,not blame
Small,short-lived
apps
Continuousdeployment
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 TechPlatform
iOSAndroid
DatabasesBig Data
LanguagesHTML/CSS/JS
JavaRuby
Server-side JS
Software DeliveryAgile managementOOD / Architecture
Testing
Solution: Fix the Titles
Matching HR Focus
30
Competent in at least 1 key technology
Graduate Dev
DeveloperNot 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
top related