Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Copyright © 2011-2014 by Fred George
Implementing PROGRAMMER ANARCHYFred George [email protected] @fgeorge52
1
Copyright © 2011-2014 by Fred GeorgeCopyright © 2012-2013 by Fred George. All rights reserved.
Emerging Experiences at...
2
Copyright © 2011-2014 by Fred George
Agile is a Social Change✦ C-level executives understand this
✦ Middle management scared of this
✦ Result: Half-baked Agile implemented
3
Copyright © 2011-2014 by Fred George
✦ Development driven by stories ✦ Stories small ✦ Priority set by customer ✦ Story-level estimates and metrics
Agile Side Effect: Story Tyranny
Problem:
4
Developers become disconnected from business problem (Drones)
Copyright © 2011-2014 by Fred George
Requirements Hierarchy
5
Tasks
Stories
Features
Projects
Initiatives
Credit: Greg Reiser, ThoughtWorks, 2005
Copyright © 2011-2014 by Fred George 6
Agile Roles
!Agile Roles
developmentbusiness
management
programmercustomerBA QA
DBA UI designerarchitect
project manager
iteration manager
developer
Copyright © 2011-2014 by Fred George 7
Anarchy Roles
✦ Customer ✦ Project manager ✦ Business analyst
✦ Developer ✦ Quality assurance / tester
✓ X
✓ X
X ✦ Manager of programmers X
Copyright © 2011-2014 by Fred George 8
Fate of Roles:
!Agile Roles
developmentbusiness
management
customerBA QA
project manager
iteration manager
developer
QA✦ QA tools are Programming tools
✦ Selenium ✦ Cucumber
✦ Service Architecture creates complex systems ✦ Need architecture skills to properly test
✦ Shift toward monitoring over acceptance testing
Copyright © 2011-2014 by Fred George
BA
9
Fate of Roles:
!Agile Roles
developmentbusiness
management
customer
project manager
iteration manager
developer
BAToo complex for programmers!
Programmers can’t talk
Programmers lack “social
skills”
Copyright © 2011-2014 by Fred George 10
Fate of Roles:
!Agile Roles
developmentbusiness
management
customer
project manager
iteration manager
developer
X
Copyright © 2011-2014 by Fred George 11
Fate of Roles: ManagerClerkLeaderAmbassadorCoach/mentorConciergePower- Hungry
Boss
Copyright © 2011-2014 by Fred George 12
Anarchy Roles
!Agile Roles
developmentbusiness
management
customer developer
Copyright © 2011-2014 by Fred George
forwardtechnology.co.uk
13
Copyright © 2011-2014 by Fred George
Example: Energy Revolution✦ Prior system:
✦ .NET with SQLServer ✦ New system:
✦ Ruby, Clojure, C++, Node.js, R ✦ MySQL, MongoDB ✦ HAML, SASS
14
Copyright © 2011-2014 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!
15
Copyright © 2011-2014 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
16
Copyright © 2011-2014 by Fred George
Agile Best Practices
✦ Stand ups ✦ Story narratives ✦ Retrospectives ✦ Estimates ✦ Iterations ✦ Mandatory pairing
17
✦ Unit tests ✦ Acceptance tests ✦ Refactoring ✦ Patterns ✦ Continuous integration
Trust w collocation
Results, not blame
Small, short-lived
apps
Continuous deployment
Not Used
Copyright © 2011-2014 by Fred George
Agile 2013: Implementing Anarchy
18
✦ Online version of Daily Mail ✦ Company established in late 1800’s ✦ MailOnline largest online newspaper in world ✦ Challenge: Introduce Anarchy to an established IT
Copyright © 2011-2014 by Fred George
Transformation Summary
19
Was 2013✦ Project focus
✦ 3-6 month ✦ BAU for smaller
✦ Specialists ✦ Front-end ✦ Back-end ✦ Design ✦ Test ✦ Deployment
✦ SCRUM ✦ Story & task
focus
✦ Feature focus ✦ 1 month or less ✦ Longer for new
platforms ✦ Poly-skilled
✦ Broadly-skilled developers == Experts
✦ Experts float amongst efforts
✦ Aggressive Agile ✦ Table-based
teams of 5-8 ✦ Rotation to
balance & broaden
Copyright © 2011-2014 by Fred George
Pervasive Change Required: …so change everything!✦ Change the titles (and job descriptions)
✦ Change technology stack (with intense training)
✦ Change physical layout
20
Copyright © 2009-2014 by Fred George
Master
Journeyman
Apprentice
21
Copyright © 2009-2014 by Fred George 22
Master
Journeyman
Apprentice
2-6 Months
2 Years - Never
Copyright © 2011-2014 by Fred George
People Focus
23
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
Copyright © 2011-2014 by Fred George
Matching HR Focus
24
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-2014 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
25
Copyright © 2011-2014 by Fred George
Flexible Project Approach
26
Developers
time
“Tables”
A
B
C
D
E
F
G H
Copyright © 2011-2014 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
27
Copyright © 2011-2014 by Fred George
For last year, creating …
28
Copyright © 2011-2014 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
29
Copyright © 2011-2014 by Fred George
PROGRAMMER
30
ANARCHY