潘正磊谈微软研发团队管理和敏捷实践学习总结
个人成长
1. 你对这个团队有什么贡献,你对你的客户有什么贡献?
2. 目前的流程存在什么问题,要怎样改进?
3. 怎么样能够跟大家交流,怎么样可以说服大家同意你的观点,怎么样听取别人的反馈?
4. 你在工作中够主动吗?
5. 我们在工作中不可能一个人把方方面面都考虑全,这是不可能的。所以你一定要跟你团队里面的人搞好关系,一定要把团队里面帮你一起想这个问题,还有什么其他的观点,而且能够非常坦然的把这个观点结合到你的解决方案中去. (沟通交流整合)
开发管理
管理产品(Product),管理人员(People),管理流程(Process)
产品
1. 针对用户需求不明确的情况,可以做原形prototype,给用户一个非常直观的可视性,便于和用户交流。做原形一可明确用户的需求,二可对架构有更明确的思路。(原形可是一个可点击的PPT,也可是html页面)
2. 试用自己的产品
3. 收集用户的反馈,改进产品 (原形 --> 用户反馈 --> 改进 --> 用户反馈 --> 改进)
4. 考核的是你最后那刻做出来的结果,你的结果是怎么样,是不是在你所承诺的时间里面把东西做出来,做出来东西用户是不是认可,你做出来的东西后面是不是有很多质量问题,还是说很好用。(结果导向)
5. 通过查看还有哪些开发任务没有做和每天产生的臭虫,了解产品目前到底有没有问题。
人员 (团队管理)
1.怎样帮助你团队的员工扫平障碍,让他们非常顺利地开发。
2.怎样让员工,愿意跟我做很多年?
2.1 下面的员工他们最适合什么,他们不太适合什么,哪个工作岗位最适合他们? (用人所长)
2.2 我是不是真的培养员工?真正让员工在团队里充分的发挥了他的重要性出来吗?员工认可我的管理的方式吗?员工认可他是这个团队的一员吗?员工想到怎么样在这个团队里面发挥最大的重要的作用吗?
3.员工不够主动,你让他做他会做得非常好,但是你不跟他说的事情,他也许就不做。作为一个管理者,你怎么样能够让他能够非常主动把问题告诉你,而且把解决方案也告诉你?
流程
1. Process(流程)是应该帮助你的开发更有效、更快
2. backlog(待开发事项)确定优先级,哪一个是最重要的,哪一个是第二个,再根据当前资源确定哪些可以做好,哪些场景是不能做。
3. 你每做一个规划,每做一个迭代,都是一个学习的过程,你什么地方做的对,什么地方做的不对,你把这些经验再放到下一个迭代的规划里面去,这样你每一个里程碑都比上一个做得更好,更贴近你想做的,跟你实际做到的越来越吻合,这才是敏捷开发的精髓之一。这是一个逐步完善的过程
4. 敏捷最最重要的是,根据不同的用户场景、需求,可以很灵活地调整实施方案。(因地制宜)
5. 敏捷就是用最好的方法帮你来实现你的项目,它最主要的是跟用户有非常多的交流,帮助你的团队能够团结一致地、很快地朝一个非常明确的目标行进,这些才是敏捷的精髓。
6. 对于流程的改进, 有的时候是在现有方法之上,说哪些是一定要改动的,哪些是不能改动的,为什么你要做这个改动,你现有方法你觉得最最不好的问题是什么,你要把这个问题跟团队讲清楚。那团队在理解了这个东西而且他也认可的情况下,那他真正能够明白体会了这个问题之后,那再接下来他会和你一起改进他的工作方法。(思想先行,自己讲清楚了,别人明白了,接下来的工作就好开展了)