Contenu connexe

Herding cats (managing software development)

  1. Herding cats or you should have majored in psychology Chris Fry
  2. Herding Cats
  3. Agenda  What is management, what is dev management? Holistic management  Technical Management  Recruiting  Process & Execution  Feedback & Career development  Finish up
  4. I started on the API Team  Dev Mgr for the API team in 2006  Now run all of development for salesforce
  5. 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
  6. What is management?
  7. The transition to management is hard
  8. Holistic Management
  9. Working with people to do the right thing  Productivity is its own reward  Responsibility is power  Focus on the outcome
  10. 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
  11. Manage your relationships  Across, up and down  Help people  Meet regularly cross-functionally
  12. Leadership is communication  Over communicate  Send a daily email  Foster a culture of face 2 face communication  Talk to people frequently  Break down barriers
  13. 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
  14. 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
  15. 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
  16. Notes from peopleware (3)  Quiet space is more productive  FLOW – an endless state of no-flow?
  17. In a knowledge economy everyone is an executive
  18. 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”
  19. 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
  20. Technical Management
  21. Technical Management  What are you responsible for as a dev manager?
  22. Technical Management  As a development manager you are responsible for the design, quality and implementation of software.
  23. 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
  24. Decision making  Who is making the decision?  Force hard technical decisions early  Leverage the virtual architecture team
  25. Team Structure  Partner with a great architect  Embrace QE
  26. Team practices  Enforce good coding habits  Review test plans and ftests  Reinforce good code reviews  Mentor junior developers  Look for warning signs  Fail Fast
  27. Broken Windows  Don’t break the build  Don’t break the tests  Write tests  Integrate early and often  Fix bugs right away
  28. Summary: Technical Management  KISS  Use the product  Promote healthy practices  Broken Window Theory
  29. Recruiting & Team Structure
  30. The best recruiting is building a great team
  31. Get the right people!  Get the right people  Make them happy so they don’t want to leave  Turn them loose
  32. 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
  33. Get out of their way!
  34. What level should you stay informed? OR
  35. Ideal Team Structure – I hate sports metaphors but…
  36. Recruiting Phases 1. Sourcing 2. Screening 3. Interview 4. Post Interview
  37. Jell the team  Goal alignment  Joint ownership of the product  Obvious enjoyment  Sense of eliteness
  38. 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
  39. 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
  40. Execution & Process
  41. Features * Quality = Resources * Time
  42. Development as a Team Design/Build/Test Design -> Build -> Test
  43. Continuous Integration
  44. Reflection & Improvement
  45. 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
  46. Summary: Execution and Process  FQ=RT  Lower Risk, ship often  Automate and integrate  Reflect and Improve  Run great projects
  47. Feedback
  48. Learned Helplessness
  49. 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
  50. 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
  51. Summary: Feedback  Make people safe (ask for permission)  In the moment, direct and honest  Positive feedback at a 10 to 1 ratio
  52. Career Development
  53. 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.
  54. Have a vision of where people are going
  55. 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.
  56. 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?
  57. 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?
  58. Write a plan and checkin
  59. Summary: Career Development  Ask Questions  Write a plan and commit to it  Deliver on the plan
  60. Overall Summary Holistic Management Technical Management Recruiting and Team Structure Execution & Process Feedback Career development
  61. Q&A

Notes de l'éditeur

  1. What process do we follow