Herding cats (managing software development)

Post on 18-Nov-2014

1.935 views 1 download

Tags:

description

 

Transcript of Herding cats (managing software development)

Herding cats or you should have majored in psychologyChris Fry

Herding Cats

Agenda

What is management, what is dev management?

Holistic management

Technical Management

Recruiting

Process & Execution

Feedback & Career development

Finish up

I started on the API Team

Dev Mgr for the API team in 2006

Now run all of development for salesforce

Notes from my mom, Nancy

“Put your family first and read a lot of Drucker”

“I never wanted anyone working for me that I had to tell

what to do”

Make a game of it

Praise, Praise, Praise

Stand up to bullies

Build community

Be genuinely interested in other people

What is management?

The transition to management is hard

Holistic Management

Working with people to do the right thing

Productivity is its own reward

Responsibility is power

Focus on the outcome

Functional Management: focus on the whole team

There is no such thing – no one function can ship

software– Change task roles

– Don’t assign tasks to owners

– Be fair

– Highlight everyone’s accomplishments (focus on the team)

– Do everything cross-functionally

– Have cross functional one on ones

– Remove blockers

Manage your relationships

Across, up and down

Help people

Meet regularly cross-functionally

Leadership is communication

Over communicate

Send a daily email

Foster a culture of face 2 face communication

Talk to people frequently

Break down barriers

Notes from peopleware (1)

People under time pressure don’t work better; they just

work faster

Quality is free

Parkinson’s Law almost certainly doesn’t apply to your

people

Seven false hopes of software management

1. There is some new trick you’ve missed that could send

productivity soaring

2. Other managers are getting 200% productivity gains

3. Technology is moving so swiftly you’re being passed by

4. Changing languages will give you huge gains

5. Because of the backlog, you need to double productivity

immediately

6. You automate everything else; isn’t it about time you automated

away your software development staff

7. Your people will work better if you put them under a lot of

pressure

Notes from peopleware (2)

There are a million ways to lose a work day but not

even one to get one back

There is a 10 to 1 productivity difference between the

best developers and everyone else

There is a 10 to 1 productivity difference between the

best organizations and everyone else

Notes from peopleware (3)

Quiet space is more productive

FLOW – an endless state of no-flow?

AUtONOMY

MAsTERY

PUrPOSE

In a knowledge economy everyone is an executive

Effective Executive

Ask “What needs to be done?”

Ask “What is right for the business”

Develop action plans

Take responsibility for your decisions

Take responsibility for communicating

Focus on opportunities rather than problems

Run productive meetings

Think and say “we” rather than “I”

Summary: Holistic Management

Management is a challenging discipline: it’s

hard

There are no silver bullets

Everyone is an executive

You don’t need to tell people what to do

Manage the whole

Technical Management

Technical Management

What are you responsible for as a dev manager?

Technical Management

As a development manager you are responsible for the

design, quality and implementation of software.

Product

KISS

Dogfood the product

Write and keep tech specs up to date

Focus on quality

Think through the end game of M&M and deployment

Decision making

Who is making the decision?

Force hard technical decisions early

Leverage the virtual architecture team

Team Structure

Partner with a great architect

Embrace QE

Team practices

Enforce good coding habits

Review test plans and ftests

Reinforce good code reviews

Mentor junior developers

Look for warning signs

Fail Fast

Broken Windows

Don’t break the build

Don’t break the tests

Write tests

Integrate early and often

Fix bugs right away

Summary: Technical Management

KISS

Use the product

Promote healthy practices

Broken Window Theory

Recruiting & Team Structure

The best recruiting is building a great team

Get the right people!

Get the right people

Make them happy so they don’t want to leave

Turn them loose

Keep the right people!

Turnover costs you

Voluminous documentation is part of the problem, not

part of the solution

The whole is greater than the sum of its parts

Get out of their way!

What level should you stay informed?

OR

Ideal Team Structure – I hate sports metaphors but…

Recruiting Phases

1. Sourcing

2. Screening

3. Interview

4. Post Interview

Jell the team

Goal alignment

Joint ownership of the product

Obvious enjoyment

Sense of eliteness

Chemistry for team Formation

Make a cult of quality

Provide lots of satisfying closure

Build a sense of eliteness

Allow and encourage heterogeneity

Preserve and protect successful teams

Provide strategic but not tactical direction

Summary: Recruiting and Team Structure

Team building is recruiting

Keep people happy

Know the funnel (sourcing, screening, interview,

close)

Jell teams

Forming, Storming, Norming, Performing

Execution & Process

Features * Quality = Resources * Time

Development as a Team

Design/Build/Test

Design -> Build -> Test

Continuous Integration

Reflection & Improvement

Basic Project Execution

1. Who owns the project

2. Create clear objectives

3. Get buy in on the objectives

4. Get what you need to be successful

5. Create the plan

6. Communicate the plan

7. Execute on the plan

8. Inspect

9. Adapt

Summary: Execution and Process

FQ=RT

Lower Risk, ship often

Automate and integrate

Reflect and Improve

Run great projects

Feedback

Learned Helplessness

One Minute Praising

1. Tell people up front that you are going to let them know how

they are doing

2. Praise people immediately

3. Tell people what they did right – be specific

4. Tell people how good you feel about what they did right and

how it helps the organization and the other people who work

here

5. Stop for a moment of silence

6. Encourage more of the same

7. Shake hands and let people know that you support their

success in the organization

One Minute Reprimand

1. Tell people beforehand that you are going to let them know how they are

doing in no uncertain terms

2. Reprimand people immediately

3. Tell people what they did wrong – be specific

4. Tell people how you feel about what they did wrong – and in no uncertain

terms

5. Stop for a few seconds of uncomfortable silence to let them feel how you

feel

6. Shake hands and let them know you are honestly on their side

7. Remind them how much you value them

8. Reaffirm that you think well of them but not of their performance in the

situation

9. Realize that when the reprimand is over, it’s over

Summary: Feedback

Make people safe (ask for permission)

In the moment, direct and honest

Positive feedback at a 10 to 1 ratio

Career Development

Basics

A manager is responsible for their employees’ careers.  You are the primary responsible party until

they succeed you.

Putting an employee where they can succeed is your responsibility.  This does not mean you cover

for short comings, cheat so they win, or give them credit for others work.  It means you have taken

their strengths and weaknesses, skills and motivations, method of working, and the work you have

available to appropriately marry them to a job they can succeed in.

Taking an employee out of a position they can not succeed in is your responsibility.

The failure of your subordinates is not your subordinates fault.  It is yours.  You failed to put that

person in the right position at the right time with the right skills or information.  Or, you failed to

remove a person from a position that they could not be successful in.  There is a difference between

giving someone a challenging role and a suicide mission.  You must see the difference and act.

Quality people respond to challenge and learning experiences.  Challenge your employees.  Foster

those who take the challenge and execute.  Remove those who do not.

People who are successful at their daily work succeed in their careers.  They are always

progressing forward by taking more responsibility and accountability.  Their reverence continually

grows within the organization.

Not all people are career oriented.  Some just like to work.

Have a vision of where people are going

How can we create successful employees that have positive career development?

Honest feedback on relationships that they need to build across the

organization.

Immediate feedback when they’ve flipped another person’s dork bit.

Remove non performers to open up opportunities for performers.

Let performers decide their work in part or full time.  Fulfill their work

passion.

Give challenges outside of normal daily work that apply to their personal

goals.

Honest feedback on the employee’s responsibility to make it to the next

technical rung, management rung, or career change.

Taking employees out of positions they can not be successful in.

Ensure the employee understands the importance of their work.

How do you understand what your employee’s goals and motivations are?

Talk to them candidly. 

Watch what they choose to work on when.– Ask them: Why that then?

Understand their personal goals.  – Ask them: What unfinished accomplishment would make you

happiest to achieve?

Understand their personal motivations.  – Ask them: What makes you happy to be at work?  In what

situations did you feel a true sense of accomplishment?

How do you track success at managing your employees’ careers?

Are they happy?

Are they well received in the organization?

Do they feel challenged?

Do they understand the importance of their work?

Are they actively working on making themselves better?

Are they taking more responsibility and accountability over

time?

Are they progressing through the organization from a

corporate structure or unwritten pecking order

perspective?

Write a plan and checkin

Summary: Career Development

Ask Questions

Write a plan and commit to it

Deliver on the plan

Overall Summary

Holistic Management

Technical Management

Recruiting and Team

Structure

Execution & Process

Feedback

Career development

Q&A