Good software management:
⁃ How to recognize it when you see it
⁃ How to encourage it
⁃ How to encourage senior management to encourage it
⁃ How to collaborate with it effectively
10 questions: Global Product Mgmt Talks: 10 questions to stimulate thinking (& enable Socratic discussion):
What does good software development management look like?
How do good programming managers motivate their teams?
What are programming managers bedeviled by?
How are programming managers tormented by product managers?
What are the forces that cause discord between product and software development managers?
What can be done about feature creep and late changing requirements?
Why do so many parts of organizations expect feature requirements to change but not delivery schedules?
What part of “cheap, fast, good – pick any two” isn’t clear?
What are objectives shared between programming managers and product managers that could encourage collaboration?
What would happen if programming managers and product managers formed mutual admiration societies with each other?
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 Delivery
• Challenges new programming managers have
• Motivating
• Recruiting
• Handling Problem Employees
• Shielding Their Team
• Managing Out and Up
• Establishing Culture
• Communicating
• Q&A
6. Managing Delivery
• Best programming manager you ever
worked with?
• Skills
• Behaviors
• Finesse
• Gifts of greatness
. . . that made them stand out?
7. Great Programming Manager
• Always recruiting
• Seeks to collaborate
• Listener
• Almost psychologist understanding of coders
• Motivates
• Deals with problem employees
• Clear alignment of team and purpose
• Infectious enthusiasm that brings it all together
• Delivers
8. Challenges
for New Programming Managers
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 team manager’s most important job
• Challenge: give it the priority it deserves
• Always be recruiting
• There’s no perfect hiring 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 to managers
– 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. What Be-Devils Managers?
• Micromanagement
• Requirements that are too detailed
• Requirements that are missing
• Requirements that are not prioritized
• Increasing requirements without adding time
• Fixed scope with arbitrary deadlines
• Interruptions
• Arbitrary, counter-productive rules
20. How do we focus on collaboration?
• Roadmaps
• Prioritization
• Listening to customers
• Avoiding wasted time
• Reducing complexity
• Making software customers love
21. 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
22. 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
23. Communicating
• Managers have to communicate more
• Encourage the 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
24. Form a Mutual Admiration Pact?
• Lots more collaboration and communication
• Surprise the rest of management
– Relief
– Or scare them (!)
• Help each other manage up and out
25. 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
26. 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.)