This document provides an overview of managing people and teams in software development. It discusses best practices for managing down, motivating employees, recruiting, handling problem employees, shielding teams, managing upwards and outwards, establishing culture, communicating, and the reasons for managing. Key points include measuring twice before cutting, life being simpler when plowing around stumps, adding people to late projects makes them later, behaviors being more important than what is measured, and slack being critical for throughput. The document emphasizes communication, culture, and priorities for managing software teams.
3. Why we wrote:
*
* Addison Wesley published October 1, 2012
4. Rules of Thumb / Nuggets of Wisdom*
• Measure twice, cut once.
• Life is simpler when you plow around the
stump.
• Brooks’s Law: Adding manpower to a late
software project makes it later.
– Frederick P. Brooks Jr.
* 300 in the book
5. Agenda
• Managing Down
• Motivating
• Recruiting
• Handling Problem Employees
• Shielding Your Team
• Managing Out and Up
• Establishing Culture
• Communicating
• So Why Manage?
• Q&A
6. Managing Down
• Best manager you ever had?
• Skills
• Behaviors
• Finesse
• Gifts of greatness
. . . that made them stand out?
7. Managing Down: Nugget of Wisdom
• Nothing undermines your credibility as a
manager more completely than pounding on
your team all year to get their work done on
time and then telling them you don’t have
their reviews done because you were busy.
Whatever you were busy with likely wasn’t
managing your people, so you’ve just
proven to them that they don’t matter. Good
luck motivating them next year.
– Tim Swihart, engineering director, Apple Computer
8. Managing Down: Challenges
Rule of Thumb:
The very thing that has made you successful will get in your
way in your next role.
•Manage
•Delegate
•Be a Motivator
•Don’t Be a De-Motivator
10. Motivating:
Be Careful What You Reward
• “Behavior revolves around what you measure.”
– Jim Highsmith
• “Firefighters who get rewarded carry matches.”
– Kimberly Wiefling
• Do you define “done” as “coding complete”?
– Or as features that delight customers?
11. Recruiting
• A manager’s most important job
• Give it the priority it deserves
• Always be recruiting
• There’s no perfect record
12. Handling Problem Employees
• Intervention beats performance plans &
firing
– Requires preparation, commitment, time
– But gets the job done earlier:
• One of two results:
– Turns them around
– Manages them out
—Marty Brounstein: Handling the Difficult Employee
13. Shielding Your Team
• Threat to your team
– Torrent of politics, “opportunities”, issues
– Sap your team’s focus
• Challenge for you
– Be a conduit for Mission and Passion and
Strategy
– While shielding your team from distraction
Be a damper to the noise. --Joe Kleinschmidt, CTO
14. Managing Out and Up
• “The single most important leader in an
organization is your immediate supervisor.”
– Jim Kouzes
• “You can safely assume all perceptions are
real, at least to those who own them.”
– Joe Folkman
15. Managing Out & Up
• Because
– your peers increasingly are not technical
– and your boss may not be either
• …they’ll pressure you
– to micromanage your team (or let them)
– to report on / prove your team’s productivity
– to fill your team’s plates to capacity
16. Productivity
• The Apple Lisa team’s managers had asked
engineers to report, each week, how many
lines of code they’d written. The first week,
Bill Atkinson turned his attention to making
QuickDraw faster and more efficient,
reducing the previous week’s code by 2,000
lines. He duly reported that he’d written
minus-2,000 lines of code for the week.
17. Capacity
• Slack is critical to throughput
– 100% capacity results in bottlenecks
--photo (c) Bud Adams, SXC, www.aimpgh.com
18. Establishing Culture
• Does your company live its values?
• Programming culture ≠ corporate culture
– Wall parts off
– Substitute and bolster more appropriate values
• Wherever you can, leverage culture & values
19. Establishing Culture
• “Publicly reward or acknowledge
engineers who act in a way that supports
the culture that you want to create.”
—Juanita Mah, engineering manager
20. Communicating
• You have to communicate more
• Encourage your team to communicate
• Create a culture of communication
– at every level
– with everyone
• up, down, within and across
• “We have two ears and one mouth. Use them in
this ratio.”
— Kimberly Wiefling
21. So Why Manage?
• You get to go broad
– Affect more of the product
– Affect more of the customer experience
• You get to be more in the conversation
• You get to mentor and coach and motivate
– A whole team
– To become something more
22. A Few Closing Rules of Thumb
• If you’re a people manager, your people are far more important than
anything else you’re working on.
—Tim Swihart, Engineering Director
• Projects should be run like marathons. You have to set a healthy pace
that can win the race and expect to sprint for the finish line.
—Ed Catmull, CTO, Pixar Animation Studios
• In applications with high technical debt, estimating is nearly
impossible.
—Jim Highsmith, Agile Coach and Leader
• The quality of code you demand during the first week of a project is
the quality of code you’ll get every week thereafter.
—Joseph Kleinschmidt, CTO, Leverage Software
23. Ron Lichty Consulting
• Mentoring and Coaching and Consulting:
– http://ronlichty.com/
• The book:
Managing the Unmanageable:
Rules, Tools & Insights for Managing Software People & Teams
– http://ManagingTheUnmanageable.net
• Training: forthcoming:
– “The Agile Manager”
– “Managing Software People and Teams: the class”
(Email me through the site above and I’ll let you know when.)