Upload
james-peckham
View
1.358
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Scaling ScrumScaling Scrum
Adapted from The Enterprise And Adapted from The Enterprise And Scrum by Ken SchwaberScrum by Ken Schwaber
James PeckhamJames Peckham
In IT since 2003In IT since 2003
Support, Infrastructure, Networking, Support, Infrastructure, Networking, Development, Testing.Development, Testing.
C#, Web services, WCF, WPF, ASP.NET, C#, Web services, WCF, WPF, ASP.NET, C++, Java, LPC, Lua, DirectX, XNAC++, Java, LPC, Lua, DirectX, XNA
Organizational PracticesOrganizational Practices
StrategyStrategy
OperationsOperations
ProjectsProjects
LeanLean
Strategic PlansStrategic Plans
Existing organization product owner voice Existing organization product owner voice only considers 10,000 foot view itemsonly considers 10,000 foot view items
Work items all become priority #1!Work items all become priority #1!
IncrementalIncremental spans quarters instead of spans quarters instead of rapid feedback loops needed for true rapid feedback loops needed for true agility and to expose real roadblocks.agility and to expose real roadblocks.
Operations workOperations work
Operations work is done by development Operations work is done by development departments inside of the project work departments inside of the project work looploop
The meeting madnessThe meeting madness
A meeting to communicate some ideas to A meeting to communicate some ideas to a managera manager
Who meets with the worker to Who meets with the worker to communicate the ideas to workercommunicate the ideas to worker
Who meets with vendor to communicate Who meets with vendor to communicate ideas with vendorideas with vendor
Who meets with…Who meets with…
LeanLean
Cutting back on wasteCutting back on wasteCloser communication with requestor to the worker Closer communication with requestor to the worker creating the product.creating the product.Closer communication with Ops those doing the work.Closer communication with Ops those doing the work.Functional managers see their roles changeFunctional managers see their roles change
Less commandLess command More removing organizational roadblocksMore removing organizational roadblocks Making sure the worker is in contact with the source of work.Making sure the worker is in contact with the source of work.
Some functional managers may find themselves “bored” Some functional managers may find themselves “bored” but given opportunity to monitor and improve their team.but given opportunity to monitor and improve their team.
Operational WorkOperational Work
Driven By network operationsDriven By network operations
Driven by support ticketingDriven by support ticketing
Driven by work ordersDriven by work orders Work orders better communicated to workers Work orders better communicated to workers
who own them.who own them.
Driven by Configuration Management Driven by Configuration Management SystemSystem
Project workProject work
Baseline hours set by scrum team Baseline hours set by scrum team velocities and backlog item sizesvelocities and backlog item sizesEnterprise wide ‘ideal day’ = story pointEnterprise wide ‘ideal day’ = story pointEnterprise wide ‘done’Enterprise wide ‘done’ Unit testUnit test Security scanSecurity scan Code reviewCode review Documentation level/templateDocumentation level/template
Managed by enterprise backlogManaged by enterprise backlog
Enterprise BacklogEnterprise Backlog
Arranging workArranging work EnterpriseEnterprise Line of businessLine of business OperationOperation ProductProduct ActivityActivity SystemSystem ComponentComponent RequirementRequirement
Enterprise Product backlogEnterprise Product backlog
Engineering practicesEngineering practices
Integrating oftenIntegrating oftenIntegrate at least once per sprint (30 days)Integrate at least once per sprint (30 days)
Difficult for engineering organizations especially Difficult for engineering organizations especially those who have long running regression tests.those who have long running regression tests.
Multi layer system work organized by Multi layer system work organized by functionalityfunctionality
Create a local version utilizing existing Create a local version utilizing existing infrastructureinfrastructure
Refactor to use new infrastructure developmentRefactor to use new infrastructure development
Integration of Multiple-layer Integration of Multiple-layer systemssystems
Layer vs tierLayer vs tier
Interface changes need communicated at Interface changes need communicated at scrum meeting(standup) in scrum of scrum meeting(standup) in scrum of scrumsscrums
• A team focused around each area of the system
• Or each tier
• An integration layer team (if not the UI team)
LOB Widgets/UI Controls/
Presentation
LOB Controller Objects
Business Objects/Service
Layer
SOA
Other AppsEnterprise
Data
Integrating with non-scrum workIntegrating with non-scrum work
Stubbed/simulated systemsStubbed/simulated systems
Simulated interfaces act as ongoing Simulated interfaces act as ongoing update to the Statement of work with the update to the Statement of work with the provider.provider.
People practicesPeople practices
Organizing people to do enterprise workOrganizing people to do enterprise workTeam creationTeam creationTeam workTeam workHow people are managedHow people are managedFunctional expertiseFunctional expertiseCompensationCompensationExtra managersExtra managersTeams with distributed membersTeams with distributed membersScarce skills needed by many teamsScarce skills needed by many teams
30 years in the making30 years in the making
Functional managersFunctional managers
DepartmentalizedDepartmentalized
Matrix organizationsMatrix organizations
Consider this on your own meritConsider this on your own merit
Then consider steps needed to adoptThen consider steps needed to adopt
Organizing people to do the workOrganizing people to do the work
Integration Scrum team
Integration Scrum team
Integration Scrum Team
Scrum team Scrum team Scrum team
Integration Scrum Team
Scrum team Scrum team Scrum team
Organizing the peopleOrganizing the people
The integration team is developing The integration team is developing integration tests to verify all of the integration tests to verify all of the functionality integrates properly.functionality integrates properly.
They’re the final say in whether the They’re the final say in whether the software is Demo-able or not. Generally a software is Demo-able or not. Generally a group of team leads from the different group of team leads from the different functional areas.functional areas.
Team creationTeam creation
Scrum master and product owner firstScrum master and product owner firstPeople who have succesfully worked People who have succesfully worked together previouslytogether previouslyPeople who understand the product or People who understand the product or business domainbusiness domainPeople who know the selected technologyPeople who know the selected technologyPeople who can fulfill the ‘done’ People who can fulfill the ‘done’ requirement. For example a tech writer for requirement. For example a tech writer for documentation.documentation.
Self directedSelf directed
45 crossfunctional ‘developers’ at 45 crossfunctional ‘developers’ at Woodgrove bankWoodgrove bank They were all thrown in a room with no They were all thrown in a room with no
managersmanagers Told follow scrum rules to organize into teamsTold follow scrum rules to organize into teams
Trust from team that management wasn’t Trust from team that management wasn’t ‘selling them down the river’‘selling them down the river’Trust from managementTrust from managementSelf organizing will flourishSelf organizing will flourish
Team WorkTeam Work
FormingForming
StormingStorming
NormingNorming
PerformingPerforming
formingforming
Decide how they’ll get requirementsDecide how they’ll get requirements
Decide how they’ll testDecide how they’ll test
Formed rules of etiquette (Working Formed rules of etiquette (Working agreements/values)agreements/values)
Formed rules on engineering practicesFormed rules on engineering practices
Tentatively formalize sprint process for Tentatively formalize sprint process for turning backlog items into something turning backlog items into something “Done”“Done”
stormingstorming
Team needs trained on resolving conflicts.Team needs trained on resolving conflicts.
Conflicts about how things are doneConflicts about how things are done
Conflicts about who does thingsConflicts about who does things
They also need to be able to identify the They also need to be able to identify the source of their conflicts and not blamesource of their conflicts and not blame No ‘You’ language, try “It” or “we”No ‘You’ language, try “It” or “we” No “But” language, try “and”No “But” language, try “and”
Norming and performingNorming and performing
Performing is not permanent.Performing is not permanent.
Storming will arise from time to time.Storming will arise from time to time.
When it does they will need the skills to When it does they will need the skills to identify the cause and resolve it.identify the cause and resolve it.
How people are managedHow people are managed
The team manages it selfThe team manages it self
The product owner sets goalsThe product owner sets goals
The team commitsThe team commits
The scrum master ensures the ‘framework’ The scrum master ensures the ‘framework’ of scrum is followedof scrum is followed
The rules of the organization cannot be The rules of the organization cannot be ignored. ignored. Enterprise “Done”Enterprise “Done”
The product owner The product owner
Responsible for node one of the tree and setting Responsible for node one of the tree and setting goals. Responsible for ROIgoals. Responsible for ROI
Integration Scrum team
Integration Scrum team
Integration Scrum Team
Scrum team Scrum team Scrum team
Integration Scrum Team
Scrum team Scrum team Scrum team
The scrum masterThe scrum master
At node 1 the scrum master should be At node 1 the scrum master should be educating the product owner on how to educating the product owner on how to maximize ROI utilizing the scrum maximize ROI utilizing the scrum frameworkframework
Scrum master should be making sure all Scrum master should be making sure all scrum masters in below nodes are scrum masters in below nodes are encouraging self direction.encouraging self direction.
Functional expertiseFunctional expertise
How do I keep functional skills sharp now How do I keep functional skills sharp now that functional managers are scrum that functional managers are scrum masters?masters?
You could let ‘the team decide’ or…You could let ‘the team decide’ or…
20% to ‘self research’20% to ‘self research’
Or allow them to dedicate 20% to self Or allow them to dedicate 20% to self research and improving themselves.research and improving themselves. Don’t just say “Seek training”Don’t just say “Seek training” Remember your teacher: “Write me a paper” Remember your teacher: “Write me a paper”
and you said “How long does it have to be?”and you said “How long does it have to be?”
Be surprised like 3m and Google were!Be surprised like 3m and Google were! Gmail… PostIts….Gmail… PostIts….
compensationcompensation
Total incentive amount pooled and sent Total incentive amount pooled and sent down through the teams via the product down through the teams via the product owner.owner.
Meeting commitmentsMeeting commitments
TeamworkTeamwork
CollaborationCollaboration
CommunicationCommunication
Extra managersExtra managers
Some managers left over after all were Some managers left over after all were assigned as scrum mastersassigned as scrum masters
Idle hands are the devil’s workshopIdle hands are the devil’s workshop
Managers attending sprint planningManagers attending sprint planning Committing for team membersCommitting for team members
Managers assigning workManagers assigning work
Managers making sure there was no slack Managers making sure there was no slack timetime
Teams with distributed membersTeams with distributed members
We can’t collocate our team We can’t collocate our team Can you simulate it? Yes!Can you simulate it? Yes!
Intercom/immediate chatIntercom/immediate chat TeamspeakTeamspeak VentriloVentrilo Voip systemsVoip systems
Sync up with representatives from each office.Sync up with representatives from each office. Let the team brainstorm!Let the team brainstorm!
Scarce skills needed by many Scarce skills needed by many teamsteams
Cross-trainingCross-training
Share timeShare time
Let the team decideLet the team decide
Don’t let the shared resource work in Don’t let the shared resource work in isolation.isolation. Their knowledge won’t get sharedTheir knowledge won’t get shared No accountability to a teamNo accountability to a team
Relationship between Product Relationship between Product manager and the dev teammanager and the dev team
Shortening the time to release through Shortening the time to release through managing valuemanaging value
Just do itJust do it
The infrastructureThe infrastructure
Accelerators to recoveryAccelerators to recovery
The mother of all problemsThe mother of all problems
Delivering valueDelivering value
Backlog items can be measured in ROIBacklog items can be measured in ROI
Product owners can determine what value Product owners can determine what value they are delivering and deliver highest they are delivering and deliver highest value firstvalue first
Projects ending before the unused Projects ending before the unused features even get delivered… move on to features even get delivered… move on to other projects.other projects.
Relative valuationRelative valuation
1000 ping pong balls1000 ping pong balls
Place them into all the backlog items of Place them into all the backlog items of the project.the project. backlog value effort
item 1 80 13
item 2 75 34
item 3 75 21
item 4 74 13
item 5 70 34
item 6 70 13
item 7 65 20
item 8 60 22
item 9 60 13
… … …
item 32 50 12
item 33 32 21
Earned business valueEarned business value
Just do itJust do it
Time honored traditionTime honored tradition
Tells managers, devs aren’t on board!Tells managers, devs aren’t on board!
Devs cut quality!Devs cut quality!
Speed is improved up to 3x!Speed is improved up to 3x!
Maintenance cost can go upwards of 4x Maintenance cost can go upwards of 4x more.more.
Decrease value of enterprise assetDecrease value of enterprise asset
The coreThe core
The core constraintThe core constraint
How did this happen?How did this happen?
The product owner meeting!The product owner meeting! All the core engineers and product owners in All the core engineers and product owners in
the roomthe room
AcceleratorsAccelerators
How do I move this beast faster!How do I move this beast faster!Remediate the coreRemediate the core
Develop automationDevelop automation Form teams and refactor it aggressivelyForm teams and refactor it aggressively
Strangle the coreStrangle the core As bugs are fixed refactor, clean, and heavily comment codeAs bugs are fixed refactor, clean, and heavily comment code
Rewrite the coreRewrite the core Wee!Wee!
Prop up the coreProp up the core Live with it longer but put automation around it to tell when it Live with it longer but put automation around it to tell when it
breaks.breaks.
Drain the pondDrain the pond Rebuild with new tech and good design with test harnesses.Rebuild with new tech and good design with test harnesses.
How did this happen?How did this happen?
““just do it”just do it”
Bad engineering practicesBad engineering practices
Choice to hit market fastChoice to hit market fast
How can we see when this is How can we see when this is happening?happening?
Trending of slower velocities over time.Trending of slower velocities over time.
googlegoogle
http://steve-yegge.blogspot.com/2006/09/ghttp://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.htmlood-agile-bad-agile_27.html
I don’t know steve but let’s talk about what I don’t know steve but let’s talk about what he points out as ‘signs’ of good agility.he points out as ‘signs’ of good agility.
Signs of good agility in playSigns of good agility in play
No true managers, just team leadsNo true managers, just team leadsPeer reviews influence the teamPeer reviews influence the teamGoals are communicated through an incentive system (I Goals are communicated through an incentive system (I would imagine an enterprise product backlog with would imagine an enterprise product backlog with highest value giving highest incentive for completing)highest value giving highest incentive for completing)Meetings are reduced to 1-3/weekMeetings are reduced to 1-3/weekMeetings only happen in the middle of the day so people Meetings only happen in the middle of the day so people can do what they need to do early or late.can do what they need to do early or late.
It also ensures that late or early comers always get ‘meetings’ It also ensures that late or early comers always get ‘meetings’ that are neededthat are needed
Note they have free meals for everyone so that would help the Note they have free meals for everyone so that would help the meeting during mid-day situations.meeting during mid-day situations.