《人件》从软件管理的诸多方面阐述了管理的复杂性,作为脑力型工作,管理者那些固定标准化的管理方法显得与此格格不入。令人遗憾的是,开发人员作为脑力工作者,却常常被管理者用劳动密集型行业的管理办法来管理他们,而忽视了脑力工作这一根本属性,定下一个个不符合软件开发规律的交付日期,用繁多的会议、电话、临时任务等来分散他们的注意力,迫使他们从专注状态中退出,减少了他们的有效工作时间,让他们加班来补充消耗的工作时间。不断延长的加班时间,导致了人员流失,人员流失的结果就是招新人培训上岗,然后不改进管理方式。重复这一循环,导致的结果是造成巨大的隐形资源损失。
作为一个管理者,必须谨慎选择初始团队人员和目标,这直接决定了项目的成败。在管理中,管理者不能用其他行业使用的管理方法来管理他的团队,这样只会适得其反。应该做的是服务团队,让他们感受不到被管理,帮助他们学习进步,让他们成为一个自信且凝聚力强的团队,不断激励他们朝着目标前进,达到一种无法停止的地步。
服务团队,与传统的管理理念体现的控制背道而驰,但作为软件团队的管理者不应该对此表示诧异。艺术家能按严格的管理产出作品嘛?答案是能生产一堆不被人认可的带有瑕疵的标准作品。同样作为脑力工作者的软件开发人员,按严格管理就能生产出合格的作品嘛?建议是:把合适的人员组成一个团队,给团队一个任务,定下一个合理的交付期限(请不要按想象应该来确定期限),然后提供一个安静舒适的环境给开发团队。而管理者只需要坐镇公司,帮他们摆脱仪式会议、临时安排等等干扰事情,在他们需要帮助时提供帮助即可,让他们能不被打扰,专注于眼前的工作。管理者要克服自己那颗想把一切控制在手中的心态,不停地确认任务状态,在没有听过完整汇报,就打断发表自己的意见,这些都是干扰开发团队对你报告真实的开发状态的原因。
帮助团队进步,首先要重视的问题是人员流失。如果人员离职率过高,学习便无法维持下去,或者根本无法进行。在这样的组织里,试图改变技术或者引入新的技术都是徒劳之举,甚至有可能使员工离职率更高。在补充新人时,对团队的影响以及新人培训到达到上一个人的水平带来的负绩效都是值得关注的一点。其次,要明白哪些人是能一起并肩战斗,哪些人是关键的(这类人的特点是通常成熟稳重,且视野广阔),哪些人能在关键时刻挺身而出,帮助这些人不断进步成长,继而带动剩下的成员和新人。最后,要允许创新,能接受让一个关键人物不去做产生利润的工作,而去尝试处于萌芽中的想法——同时,能让创新产生作用,必须容忍创新发挥作用之前的那段混乱且产生负绩效的时间,有时必须对组织进行必要的重组。
培养开发团队自信,就必须接受开发人员的自信取决于他们生产的产品质量这一事实。产品质量与实际总是看起来对立,但实际上是相辅相成的,提高产品质量,高于外界要求的产品质量,能刺激开发团队的激情,进一步提升自信,从而减少Bug等一系列的隐形成本,同样也节省了大量的开发时间。高质量的产品不同于低质量的产品,它不会被丢到被拒绝的垃圾堆,然后无人问津,而是作为一种开发模板以供下次借鉴,从中吸取的经验也能使用于其他项目。
《人件》,不得不说是一本难得的软件管理经典书籍。它把那些隐藏在垫子下的问题,还有那些管理者忽视或者不重视的小问题,都翻出来用合适的语言一一指出来,让这些问题摆在管理者面前,得到应有的重视。
这本书的缺点也无法忍受,采用哲学的记述手法,每个结论都那么自然贴切,但举例常引用某某某的话,没有提供详细的实验数据。