Organizational Design for Effective Software Development
description
Transcript of Organizational Design for Effective Software Development
Organizational Design
for Effective Software
Development
Faith Cooley, PMP
Lean Six Sigma Black Belt
• Faith Cooley
– Software Development Management Coach
– Lean Six Sigma Black Belt 10 years
– PMP 8 years
– CSM, CSPO, ITIL
– Last 8 Years: Software Development
• Problems with Matrix Organizations
• Intro to Team Based Organizations
– Address Matrix Org Problems
• Move toward team based organization
• What companies use this structure?
Feels like this…
Bob (leader)
Steve (dev)
Mitch (design)
Harry (finance)
Jane (PM)
But really is this…
And it grows into…
Cross-
Functional
Matrix Team
CEO
VP Marketing
Director, Product
Management
Sr. Product Manager
VP, PMO
Director, Project
Management
Sr. Project Manager
VP Technology
Director, QA
Sr. Test Engineer
Director, Development
Sr. Developer
CFO
Director, Operations
Operations
Manage the function,
not the project
BobLeader
Jane
•Web + PM
Mitch
•Dev + Design
Harry
•Finance + Support
Steve
•Dev + QA
• Bob says…
– Jane, hire PM!
– Mitch, hire Dev!
– Steve, hire QA person!
• Once you are 50+ people, it
gets increasingly hard to
reorganize…
Problems with the Matrix
CEO
VP Marketing
Director, Product
Management
Sr. Product Manager
VP, PMO
Director, Project
Management
Sr. Project Manager
VP Technology
Director, QA
Sr. Test Engineer
Director, Development
Sr. Developer
CFO
Director, Operations
OperationsCross-
Functional
Matrix Team
To get anything done…
shadow organization!
Get product
to market
with 100
features fast
Make sure
all
processes
followed
Ship with as
few bugs as
possible
using
modern
technology
I need this
done cheap &
delivered on
time to make
my numbers
OMG I am
working on too
many projects &
getting pulled
every way
• Theory– Software Development is a simple series of
repeatable steps, manageable via processes• Good engineering, no conflicting objectives
• Reality– Software Development is a never ending series of
small decisions made by everyone on the team, rooted in goals
• Ambiguity in silo vs delivery goals
• The “presider” over the fighting always looks “responsible” in comparison
– The VP of Technology HAS to be there to resolve disputes between these yahoos!
– VP may have caused it… Hmm…
• Heads Down & Stay Out of Trouble!
– Don’t tell a PM what to do. Don’t tell a Dev what to do. Etc.
Learned Helplessness
• Accountability & delivery means risk
– Better to not put your neck out…
• Two year waterfall projects are great!
– Work for two years, get paid
– Not ship, everyone gets fired or not
– Not my fault! It was [PM|Dev|QA|Management]!
– Repeat!
Risk Income Management
• Teams responsible & accountable for
delivery
• Everyone is a mentor
• All “managers” are working managers
Bob (Leader)
Team Lead, Product A
Dev
QA
PM
Contractor
Team Lead, Product B
Dev
SDET
Ops
Team Lead, Product C & D
Dev
SDET
Ops
Internal Reviewer
Product A Product B Product C&D
• Software produced by single team that works only on a single
project is of significantly higher quality (less defects)
• Each team member is SME with respected competencies
– Each has accountabilities to team & function
– Work with other teams for functional mentoring
• Goals of team are clear & delivery focused
– Visual on Kanban board
– Definition of Done clearly described
• Collaboration is incented & rewarded
Key to Success
Reward cooperation!
• Reviews
• Hiring/Firing/Career Management
• Functional Execution Quality
– Good code? Good tests? Good reqs?
• Budget
• Methodology
• Potential Single-Chain Authority Problems– Petty dictators?
– Buddies?
• 360 Reviews– Anonymous feedback, managed by HR
– Presented to staff member by team lead
– Cited by employees as one of best things we do
– Challenging to implement properly…• But worth doing!
Team Leader(s)• Options:
– PM
– PM/Dev Lead*
– Dev Lead
– Manages the budget
• Career Management– You pick what you want
to know
– You pair/you fill in
• Your team is expensive!
• Top 5
– Lack of commitment
– Fear of conflict
– Absence of trust
– Avoidance of accountability
– Inattention to results
• Standards agreed to & followed
• Pairing/Code reviews between teams
• Continuous integration driven from below– Support from above!
• Test automation
• “Open Source” self serve internal code repository
• Binary Repository for Artifacts (libs + apps)
• Feature toggles, release trains
• Limit blast area
• Pull system that accommodates your team– Not the other way around!
• Focuses on team swarming on and finishing work
• Kanban forces conversations
• Great for growing your team competencies
• Highlights bottlenecks in organization
• Forces continuous improvement
• Layered on top of SDLC to show bottlenecks & determine waste
• Allows business to pick what is most important each time
BACKLOG SELECTED DONE
DEVELOPMENT
ONGOING DONE
TESTING
ONGOING DONEDEPLOY
T1
T2
T2
T6T7
S1
S2
S6S7
3 2 2 1
• Start giving full-cycle projects to your managers– “Bob, you have been leading QA for a while now. We have an upcoming project to update our
website – it’s not huge, but it’s a couple of people. I’d like you to run the whole thing, soup-to-nuts.”
• Have this conversation with all of your managers.
• Track who is able to effectively deliver, and who struggles– Reward successful delivery
– Reward collaboration
– Phase out managers that play games, don’t ship
• After 3-6 month period, transition entire portfolio
• Walk through portfolio of projects, assign names to all staff– Be clear about high level standards & expectations
– E.g. I expect projects to be run using Scrumban, use automation where possible, push to staging frequently with demos every two weeks.
• Make clear that you hold everyone to standards, expect prior domain experts to share knowledge
• Servant leaders focus on what problems to
solve and why
• Teams solve the problem
• Managed by– Visual progress
– Frequent demos
– Short feedback loops
– Small set of stakeholders
– Regular meetings reviewing blockers/overall status
• Portfolio Management
Team 7-Nov 21-Nov 5-Dec 19-Dec 2-Jan
Finance Billing Billing Billing Billing Invoice
Core Data Oracle Upgrade Oracle Upgrade Test Data TBD TBD
User Engagement A/B Awards A/B Awards A/B Register A/B Register A/B Register
Fulfilment Electronic Tag Electronic Tag Electronic Tag Electronic Tag Tag Cleanup
Device R&D Android Wear Spike Android Wear Spike Apple Watch Spike Apple Watch Spike TBD
• Scaled Agile
Framework
• Controversial Agile
Methodology
– Portfolio Management
– Everything else…
• Primary Material
– Overcoming the Five Dysfunctions of a Team: A Field
Guide for Leaders, Managers, and Facilitators,
Patrick Lencioni
• Additional Recommendations
– Behind Closed Doors, Rothman & Derby
– Leadership & Self-Deception, Arbinger Institute
– Good To Great, Jim Collins
• Spotify (Operations)
• Group Health (Web Dev)
• Microsoft (IT Division)
• Xbox Kinect
• Constant Contact
• BBC
• Globo
• Petrobras
• Lonely Planet
• IPC Media
• Motley Fool
• Corbis
• Stormpath
• Tantalus
• Ultimate Software
• Simplifying Work
– http://www.ted.com/talks/yves_morieux_as_work_gets_more_complex_6_rules_t
o_simplify
• Happy Secret to Better Work
– https://www.ted.com/talks/shawn_achor_the_happy_secret_to_better_work
• MIT On Org Design, Dynamics, Culture
– https://www.youtube.com/watch?v=AAkJqzJYHJc
• Spotify Operations, Flat Org Design (2,000 people!)
– http://www.infoq.com/articles/kanban-operations-spotify
START THE
CONVERSATION!
Thanks for your time!
Q & A