Herding cats (managing software development)

  • View
    1.914

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Text of Herding cats (managing software development)

  • 1. Herding cats or you shouldhave majored inpsychologyChris 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 Dont assign tasks to owners Be fair Highlight everyones 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 dont work better; they just work faster Quality is free Parkinsons Law almost certainly doesnt apply to your people 14. Seven false hopes of software management 1. There is some new trick youve missed that could sendproductivity soaring 2. Other managers are getting 200% productivity gains 3. Technology is moving so swiftly youre being passed by 4. Changing languages will give you huge gains 5. Because of the backlog, you need to double productivityimmediately 6. You automate everything else; isnt it about time youautomated away your software development staff 7. Your people will work better if you put them under a lot ofpressure 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: its hard There are no silver bullets Everyone is an executive You dont 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 Dont break the build Dont 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 & TeamStructure 30. The best recruiting is building a great team 31. Get the right people! Get the right people Make them happy so they dont 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 metaphorsbut 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 knowhow 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 rightand how it helps the organization and the other people whowork here 5. Stop for a moment of silence 6. Encourage more of the same 7. Shake hands and let people know that you support theirsuccess in the organization 50. One Minute Reprimand 1. Tell people beforehand that you are going to let them know how theyare 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 nouncertain terms 5. Stop for a few seconds of uncomfortable silence to let them feel howyou 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 inthe situation 9. Realize that when the reprimand is over, its 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 havepositive career development? Honest feedback on relationships that they need to build across the organization. Immediate feedback when theyve flipped another persons 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 employees 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 employees goalsand 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 youhappiest to achieve? Understand their personal motivations. Ask them: What makes you happy to be at work? In whatsituations did you feel a true sense of accomplishment? 57. How do you track success at managing youremployees 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 progre