managing agile teams

43
Managing Agile Teams – 300 series Brian Blanchard – Chief Architect/CIO, HyperVize

Post on 17-Oct-2014

1.673 views

Category:

Technology


2 download

DESCRIPTION

Advanced course discussing the stages of Agile teams and the various expectations & management tactics during each stage.

TRANSCRIPT

Page 1: Managing agile teams

Managing Agile Teams – 300 series

Brian Blanchard – Chief Architect/CIO, HyperVize

Page 2: Managing agile teams

Agenda

• Agile Basics• The Agile Management Conflict• What do Agile Teams need?• How do we manage self organizing teams?• Tools that can make our jobs easier

Page 3: Managing agile teams

Which is worse?Herding Cats is hard work! Herding pigs is deadly!

We give them Sharp tusks!And encourage them to charge us

Page 4: Managing agile teams

Are we insane or sadistic?!!Why would we do this?!!

• No, We’re just dedicated to building teams• We remove management overhead &

interference• We capitalize current strengths• We grow individuals strengths• The team grows and increases in value

Page 5: Managing agile teams

What’s a pig?

Page 6: Managing agile teams

Define the Agile Management Conflict

Page 7: Managing agile teams

What’s a self organized team

• Team of 6 – 8 individuals• Amongst them are all the skills needed for a

project: Arch, Coding, DB, Design, QA, etc…• Everyone is accountable regardless of skillset• Notice there is no leader

Page 8: Managing agile teams

Properties of traditional management• Everyone has a place – Get there now!• Managers job:

– Check for completion – Check for completion – Check for completion – Yell at people for not being done

Page 9: Managing agile teams

The Agile Management Conflict

Old Way• We’re accountable• We manage• We work together

• We solve problems• We police ourselves

Agile Way• You do A job• I manage• I tell you when to

work together• I solve problems• I police you

Page 10: Managing agile teams

Mitigating the management conflict

Mitigate by changing priorities, approaches, & tactics.1) Develop healthy team members2) Then, meet the needs of the team3) Next, meet the needs of manager(s)4) Finally, meet the needs of customer*

(*Internal or External customers)

Page 11: Managing agile teams

Why isn’t the customer first?

• Customers are happy when desired features are delivered in a timely manor.

• This can only happen if the manager is leading the team correctly.

• The manager can’t lead an unhealthy team effectively.

• You can’t have a healthy team without healthy people working in a healthy environment.

• This all starts with motivation and basic needs / skills.

Page 12: Managing agile teams

Develop Healthy Team Members

Page 13: Managing agile teams

Maslow’s hierarchy of needs

Page 14: Managing agile teams

Needs of a self-organized team member

• Physiological: – Caffeine, food, reasonable hours

• Safety: – Sufficient resources (PC, Apps, Desk, etc…),

Corporate Stability• Belonging:

– Heard, Accepted by the group• Esteem:

– Respected, Challenged, Trusted

Page 15: Managing agile teams

Needs of a developer

Self-actualization: The Ultimate GoalTeam members are free to create, solve problems, and accept consequences

When these needs are met, people can becomemotivated

Page 16: Managing agile teams

Meet the needs of the team

Page 17: Managing agile teams

Performing

Norming

Storming

Forming

Bruce Tuckman – 1965 Doing principals

Page 18: Managing agile teams

What do Agile Teams need?

• Understand the objective & drivers to understand the needs. – Agile Manifesto paraphrased

• Ship good code• Maintain transparency to customers• Respond to change rapidly• Value individuals & interactions

Performing

Norming

Storming

Forming

Page 19: Managing agile teams

Forming the team – Value Individuals & Interactions

• Clear a path – Remove barriers to success– Identify skills, weaknesses, growth objectives of individuals– Compile teams with all needed skills– Preserve individuality – Equalize Super Stars & get everyone talking

• Encourage interactions as a team• Respect us as a team of individuals• Hold us accountable to commitments to each other

Page 20: Managing agile teams

Storming – Respond to change

• Lead the way – Set basic rules– Point us in the right direction– Help us discover new problems– Teach us to discover them ourselves– Protect our voice as a team and individuals – Let us solve all of the problems

• Encourage interactions within the company• Respect our role in the project & the company• Hold us accountable to commitments to each sprint

Page 21: Managing agile teams

Norming – Maintain transparency to customers• Keep us focused

– Guard the team – Help us stay on course– Help us focus on the goals and problems– Let us see the fruits of our labor

• Respect our relationship/duty to the customer• Encourage interactions with the customer• Hold us accountable to customer commitments

Page 22: Managing agile teams

Performing – Ship Good Code

• Stay out of the way– Don’t hold us back– Coach us – Don’t tell us– Provide training & growth opportunities– Create new opportunities to interact– Require retrospectives

• Respect our ability to think, reason, & create• Encourage us to grow our skills & talents• Hold us accountable to commitments

Page 23: Managing agile teams

The two faces of management• Public facing activities

– Meet the teams needs– Celebrate successes– Address team failures– Point out areas to grow– Talk openly & with purpose

• Private facing (1-on-1) activities – Maintain the environment– Manage failures– Practice subtle control & influence

techniques– Complete them quietly & move on

Page 24: Managing agile teams

Meet the needs of the manager(s)

Page 25: Managing agile teams

The team has what they need,What about me?

• We have bosses & clients too.• Our bosses want results not good feeling

methodologies• As managers we are accountable for:

– Keeping productivity high– Meeting deadlines– Keeping costs low– Ensuring the product meets satisfaction levels

Page 26: Managing agile teams

Keep Productivity High• Are you producing motion or motivation?

Fear & rewards creates motion

Desirecreates motivation

Page 27: Managing agile teams

What do developers desire?The same things as everyone else• A safe environment

• Show stability by enforcing normal schedules

• Respect• Let everyone have time to talk

• To be heard & recognized• Stop digs, insults, & rumors quickly

• To know they made a difference• Make sure the team sees the results – Good or Bad

• To know they are valued • Demonstrate & encourage honest feedback in each sprint wrap up• Create team awards for each sprint, let the team do so

Page 28: Managing agile teams

Geeks like geeky things

• Learning, gadgets, & toys are the greatest desire of most developers

• Be creative and fun with motivation• Wii is the best investment for any IT team• Nerf gun fights are ok – sometimes mandatory• R&D is a special treat – use it to motivate• If you want a fun, open team you should have

a fun, open office

Page 29: Managing agile teams

Why all of the fun?

• Fun creates interaction & unites teams• Stress & fear create rifts

– Coding is stressful– People fear failure– People who are stressed and afraid underperform– Stress & fear should be managed & controlled

• Get to know you team so you can know when to reduce unhealthy stress & fear

Page 30: Managing agile teams

Keep Productivity High

• Accountability & Deadlines create more than enough natural, healthy fear based motivation– Let the team participate in setting deadlines– Start every meeting with a quick review of the

deadline & objective– Start every team with a sense of accountability

• If you live accountability & deadlines productivity will improve as will deadlines

Page 31: Managing agile teams

WARNING!!!!!Meeting deadlines

• You will fail• Your team will fail

• It takes time 2 – 8 sprints to determine a teams ability to produce.

• Get corporate buy in when starting• Start with small measurable “sub-projects”• Learn the teams groove

Page 32: Managing agile teams

Keep Costs Low

• Cost in a healthy self organizing team is simple

• In a crucible everyone wants more money in exchange for their pain

• When employees are happy, challenged, & growing reasonable pay adjustments are acceptable

• Watch spending on games, interactions, & learning

Page 33: Managing agile teams

Product Quality

• Quality & customer satisfaction begin on day 1• Make sure Architecture, QA, Design, &

Product management are represented in your initial team

• Hold developers accountable for the quality of code.– Peer reviews, refactoring, community ownership

Page 34: Managing agile teams

Tools to make it easier

Page 35: Managing agile teams

Manual Tools

• Daily Stand up Sprint meetings– Time boxing clock– BS flags

• Scrum Wall– Stories/tasks in sprint– Burn down rate

• Architecture / Storyboard wall– Often a whiteboard for developing stories or parts

of product architecture

Page 36: Managing agile teams

Manual Tools

• Sprint & Project retrospectives– Review success, failure– Awards for the sprint

• Examples:– High on hog – Stuffed pig for someone who hogs up time– Superhero – Action figure for best idea– Super-villain – Evil action figure for the biggest mistake– Bar of soap – Dirtiest code review– Be creative – Let the team decide what to award

• These will be displayed proudly on peoples’ desks

Page 37: Managing agile teams

Pigs can stink - Scrum Smells Detection List

• Loss of Rhythm• Talking Chickens • Missing Pigs• Persistent Signatures • ScrumMaster Assigns Work • The Daily Scrum is For the

ScrumMaster• Specialized Job Roles • Testers will not integrate with Team• Reluctance to estimate Backlog

Items

• Is It Really Done• Nothing Ever Changes Around Here• No One Wants to Attend

Retrospectives • Executive Pressure • Missing Sprint Commitment• Technical Debt• Not Acting Like a Team • No Engineering Practices• Lack of progress

– Backlog fail– Feature definition fail– Enforcement fail

Page 38: Managing agile teams

TFS 2010

• Integrated support for Scrum methodology• Integrated reports• Visibility for team, customers, & your boss(es)• Central repository for stories, tasks, &

impediments

Page 39: Managing agile teams

Progress Dashboard

Page 40: Managing agile teams

Test Dashboard

Page 41: Managing agile teams

Bug Dashboard

Page 42: Managing agile teams

Quality Dashboard

Page 43: Managing agile teams

Build Dashboard