Managing agile teams

Preview:

DESCRIPTION

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

Citation preview

Managing Agile Teams – 300 series

Brian Blanchard – Chief Architect/CIO, HyperVize

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

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

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

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

What’s a pig?

Define the Agile Management Conflict

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

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

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

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)

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.

Develop Healthy Team Members

Maslow’s hierarchy of needs

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

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

Meet the needs of the team

Performing

Norming

Storming

Forming

Bruce Tuckman – 1965 Doing principals

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

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

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

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

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

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

Meet the needs of the manager(s)

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

Keep Productivity High• Are you producing motion or motivation?

Fear & rewards creates motion

Desirecreates motivation

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

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

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

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

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

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

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

Tools to make it easier

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

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

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

TFS 2010

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

impediments

Progress Dashboard

Test Dashboard

Bug Dashboard

Quality Dashboard

Build Dashboard