Answers:
我已购买并推荐给为我工作的技术主管和经理的书籍:
快速发展(S. McConnell)-伟大的“圣经”,可以回答常见的管理/领导类型问题(更多管理思想)
成为技术领导者(杰拉德·温伯格)-读得很深刻,但读起来很棒。
经理工具包(Harvard Business Essentials)-再次强调管理重点,但在解决一些人际关系问题上表现出色
协作说明(吉恩·塔巴卡)-更加注重敏捷,但是“如何做X”的另一本圣经非常实用
除此之外...听。向您的团队学习。向同行学习。向老板学习。在您的命令链之外找到一个导师,但要找一个您尊敬的人,当您感到沮丧或卡住时,他可能会遇到。每两周与他们见面一次,享用早餐。
我最近读过Peopleware,发现它很有启发性。它无疑将帮助您了解开发团队的动态(以及我们在管理/领导它们时所犯的许多错误)。有人在这里向我推荐程序员。
看看Steve Maguire撰写的“ 调试开发过程 ”。
尽管它不再是最现代的书(1994年),但它仍然拥有大量信息,对于团队领导者来说应该被证明是有用的,而且您可以真正廉价地购得。我发现它很棒。
您可能还需要考虑Steven McConnell撰写的“ Rapid Development ”。再次,这是个老歌(1996),因此它早于敏捷方法论的工作,因此您会发现正在讨论“瀑布式”,“螺旋式”和“时间盒式”方法的优点。您会发现一些敏捷方法的先驱(快速原型开发等)。另外,关于“最佳做法”,您会发现在第400页上有很多摘要,并在其中引用了有关其功效的适当评估以及详细的解释。
这两本书都是由Microsoft Press发行的,因此应该为您现有的技术提供足够的参考。
最重要的是,这两本书都涵盖了如何管理软件开发团队-动机,日程安排,战略思考,领导力等。
我的位置也差不多。首先,您要定义团队应该如何工作,应该制定哪些流程,团队的角色是什么。创建一个Wiki(或sharepoint或其他)页面以放置所有这些页面。然后在团队中进行大量定期对话,以详细定义每个对话。重要的一件事是树立团队想要拥有的文化和行为。对于团队知识,这就是我们所使用的。开始每两周或每月定期进行一次知识共享会话,创建一个电子表格,其中各行各领域的知识不同,列中各团队的成员。然后从1-5中分配一个分数,以了解每个成员的优势和差距。制定计划,为每个区域分配主要,次要和第三级责任,目标得分分别为5、4和3。
记录所有流程非常重要。例如,我们有一个代码审查流程和清单。如果流程涉及其他团队,请向管理层提出,并同意该级别的流程。例如发布过程。
我不能强调记录(在Wiki中是轻量级的)文档的重要性,因为您在改善和演示管理方面具有很强的基础地位。由于我们拥有强有力的文档和流程,因此我的团队多次赢得高级管理层的青睐。