书摘
第一部分 管理你的项目
目前这种基于测试的质量策略已经走到了尽头。
软件产品的质量应当被定义为产品对用户的有用性。因此,如果一件产品提供了对用户而言是最重要的功能,那么这就是一件高质量的产品。
只有得到了清晰的需求,才可能开发出高质量的程序。
软件工程师的工作就是在计划成本和计划进度内交付高质量的产品。
缺陷是一种客观存在的事物,是可以识别、描述和统计的。
消除缺陷实际上是一个比预防缺陷更简单的过程。
尽管不是所有的缺陷都会带来爆炸性影响,但是有一些缺陷的确会。
人们常常把软件质量看做是最终的结果或者终点。事实并非如此,这是一段永远都没有终点的旅程。目标之所以重要,主要是基于以下两条原因:它们提供了努力的焦点,而且建立了一种优先次序。
要坚持让你的问题得到解决。
最难以制定计划的时候,也是最需要计划的时候。
计划分为两种类型。第一种是基于时间段的计划;第二章是基于行的计划。实际上,在日常生活中我们同时使用阶段计划和产品计划。
制定计划的关键是实践,因此要想得到最佳的实践,从现在就开始制定计划,并且在今后所有的项目实践中都要坚持制定计划。
一份合格的产品计划应当包括三项内容:将要生产的产品规格和重要的性能指标;估算工作所需的时间;进度预测。
计划必须满足五条基本要求:易于理解、清晰明白、详细具体、精确缜密、准确无误。
若你不能使计划准确无误,那就常作计划。
动态计划可以防止需求蔓延。
在细节层次上,团队计划必须定期调整。
第二部分 管理你的团队
所谓团队,是指有着共同目标的一群人。
团队遇到的七个常见问题:无效的领导、缺乏妥协或合作、缺少参与、拖延和缺乏信心、低劣的质量、功能蔓延、无效的对等评估。
均等牺牲:如果每个人的辛苦是均等的,你可以搬走一座山。但是只要你发现有一个人不认真工作,或者不能完成其分内的工作任务,那么一切就全毁了。
团队失败的四条原因:资源不足、领导问题、不可能的目标、士气问题。
高效团队必备的四个条件:团队凝聚力、富有挑战性的目标、反馈、共同的工作架构。
逃避现象:当个人的工作在团队中看不出来时,他们就不会那么努力了。
矛盾、迷惑和分歧是这种统一过程的自然组成部分。依靠它们,团队才能找出需要解决的问题,也正是它们推动了我们称为设计的创造性过程。
团队交流三要素:透明、倾听和协商。
五种层次的倾听:忽视型、假装型、选择性倾听、专注型倾听、共鸣型倾听。
团队的生命周期:组建—动荡—规范—执行
群体的三种类型:工作型群体、过程型群体(明确任务角色)、对抗型群体(解决消除威胁)。
团队行为(风格):开放型群体、随意型群体、封闭型群体、同步型群体
自主指导型团队的典型特征:具有团队感和归属感;共同对团队目标作出承诺;对过程和计划的主人翁意识;具有制定计划的技巧和执行计划的纪律;追求卓越。
为了履行在任务分配时作出的按时完成工作的承诺,你就要负责任地制订计划。
承诺是一项必须要学习的道德规范。
当开发项目失败时,几乎总可以归结为糟糕的领导。
对于工作团队,有三条最重要的激励因素,那就是恐惧、贪婪和承诺。
承诺的三要素是协商、约定和执行。
第三部分 管理你的领导
所以应当首先对工作抱着一种积极的态度,并且真正为了得到一个更佳的交付日期而努力。首先,要付出真诚的努力,然后,为得到的日期据理力争。
在作出任何承诺之前都要先制订一个计划
自主指导型团队自己制订详细的计划并于管理者商谈他们的日程进度,而不仅仅做那些要求他们完成的事。
不过,如果你确定你的管理者不可理喻,你只有三个选择:越过你的管理者,直接向高层管理者反映问题;什么也不做,期待情况会自动变好;或者,换个工作。
专断的领导使员工失去动力并且严重影响工作表现
首先也是最重要的是,要取得高层管理者的支持。如果没有来自相当层级管理者的支持,通常不可能进行重大的调整,其次你需要主动与所有相关管理者联系,尤其是那些工作会受到变化影响的部分的管理者。
在一个小团队中,你也许会决定亲自承担团队的某些角色和任务,但永远不要让它成为你的主业,避免从主要工作——领导、管理、支持和保护团队——中分心。对于管理者来说,你的工作就是利用所有的团队资源去完成此项工作,其他所有事情都是第二位。
第四部分 管理你自己
做你自己的管理者,而不要像一个受害者
要想跳出受害者心态的陷阱,就要掌控你自己的工作并说服管理者让你管理自己
为了提高,你必须真正改变你的行为
当人们说要努力工作时,他们实际上是说他们会工作更长时间。除非出现重大的技术革新,否则完成绝大部份任务所花的时间相对而言都是比较稳定的。真正可变的是你花在任务上的时间。为了管理你所花费的时间,你必须要追踪它。
支持人员能够帮助你
所谓负责任,我认为是一种主人翁心态。
你做事的方式、你的感觉,甚至你的个人观点都会影响你的团队。
领导力低下的症状:高层管理者在思考问题时以自我中心、眼界短时狭隘;“官僚惰性”的现象;管理者没有能力及时做出有效的决策。
领导者和管理者之间最主要的区别是,管理者命令员工服从他们的指令,而领导者是带领他们完成任务。
本书要点
第一部分 管理你的项目
本部分主要讲了对项目的管理。首先指出软件产品的质量属性的重要性以及什么是软件质量,点出了现状:软件质量面临挑战,主要是软件范围和重要性不断提高,传统的测试不能满足对其的需求。其次提出了限制质量的重要因素:缺陷,阐述了其产生的原因和如何去避免,进而给出了作者的为了质量而提出的一些建议:质量是无终点的、以明确目标为起点、为了高质量而制定详细的计划(包括阶段计划和产品计划)并去与管理者审查和努力维护计划。
第二部分 管理的你的团队
本部分主要讲的是对自己团队的管理。主要介绍了高效团队这个概念,列举了高效团队的几大要素,什么是团队,团队建设的方法,团队内部交流注意点,团队的生命周期等。其次介绍了我们自身如何做一个高效团队的队员,集中介绍了优秀团队成员需要具备的素质:承诺,分享自己的信息,全员参与。最后是介绍了团队领导应该如何做,领导力是成败的关键,领导激励时恐惧、贪婪是可以采取的但是不能过分,真正有效科学的激励是承诺,领导应该作出并维护自己的承诺。同时要注意队员的参与度,关心整体。
第三部分 管理你的领导
该部分主要讲作为团队领导者如何与高层管理者交流。本部分一开始就指出作为团队领导所处的尴尬位置,面临管理层的要求一开始就陷入麻烦,作者认为团队管理者不应该盲目听任管理层的要求,应该冷静的从团队和项目本身出发,根据计划作出相应合理的承诺并利用商谈,沟通等技巧取得管理层的支持从而使得项目顺利进行。本部分还讨论了管理层专制领导的问题,给出了三条方式:不作为,认真工作和跳槽。
第四部分 管理你自己
本部分主要讲自我管理。首先是介绍作为一个团队成员他应该如何去管理自己,作者提出要做自己的管理者而不是受害者,要合理管理自己的时间不要被无谓的多次打断,提高效率,要去借助支持人员去提高效率,要提高自己责任感主人翁心态,避免拖延,信守承诺,追求卓越。然后是介绍作为一个团队领导着要去如何管理自己,作者认为领导应该注意自己的行为因为这是灰影响到你的团队,其次要有榜样精神,避免作者提到的一些症状,最后要记得领导力是赢得的、管理者与领导者的区别,去成为一名变革型领导。