《软件管理沉思录》读书笔记
作为一名在校大学生,阅读软件管理方面的书籍确实感受不是太深,因为没有经历过管理这个过程,谈何感同身受。所幸以前在一些公司实习过,见证过不少管理者,结合被管理的经历,倒是能有一些同理心。下面是我整理的该书读书笔记。
管理你的项目
软件质量的挑战:软件质量改造的需求是巨大的,并且这种改进已经不能单纯的靠延续过去的那种基于测试的方法实现。为了保证质量,必须遵循:
l 确立质量控制的策略丶目标和计划
l 正确训练丶指导和支持开发人员和团队
l 确立和维护软件需求的质量管理过程
l 审查丶检查并评估所有的产品制品
l 确立和维护软件工程过程的统计控制
l 评估所有的缺陷,加以更正并用以识别丶纠正和预估其他类似问题
l 确立和维护配置管理和变更控制系统
l 持续改进开发过程
什么是缺陷:
削弱弱程序性能,使其不能有效并完全的满足用户需求的所有因素,是一种客观存在的事物,是可以识别描述统计的。
需要认识到的是缺陷并非漏洞。
质量是永无终点的旅程。应当聚焦于持续不断的质量改进,并且帮助你的团队成员真正的相信并遵循这些质量管理原则。
质量旅程包含(循序渐进):
l 测试更正
l 检查
l 局部测试
l 质量到人
l 个人测评
l 设计
l 缺陷预防
l 基于用户的测评
目标很重要,他们提供了努力的焦点,而且建立了一种优先次序。
需要为高质量项目制定计划。
最难以制定计划的时候,也是最需要制定计划的时候:当项目团队面临巨大的交付压力时,一定不能让步,需要坚持制定一份计划。
计划分为基于时间段的计划和基于行动的计划。
制定计划的关键是实践,因此想要得到最佳实践,从现在开始制定计划,并且在今后的所有项目实践中都得制定计划。
一份合格的产品计划包括:将要生产的产品规格和重要性能指标丶估算工作所需时间丶进度预测。
计划的五条基本要求:易于理解丶清晰明白丶详细具体丶精确缜密丶准确无误。
若不能是计划准确无误,那就常做计划,可以制定动态计划防止需求蔓延,同时计划必须得到维护。
管理你的团队
团队:一只团队至少两名队员;所有成员为共同目标而工作;每位成员至少扮演一个特定角色;完成任务要求成员相互依赖
有了共同目标及成员之间紧密的相互依赖,凝胶型团队所需的信任感和凝聚力就产生了
迪马克对凝胶型团队定义:紧密间隙在一起工作的一个群体,其密切程度使他们作为一个整体时迸发出的力量远超其组成部分之和。这种团队的效率要比人员构成相同但没有形成凝胶型团队的群体大得多。
通常团队会面临以下七个问题:
l 无效的指导
l 缺乏妥协或合作
l 缺少参与
l 拖延和缺乏信心
l 低劣的质量
l 功能蔓延
l 无效的对等评估
而团队失败的四条原因可以总结为:资源不足丶领导问题丶不可能的目标丶士气问题
高效团队必备的四个条件:凝聚力丶目标丶反馈丶共同的工作架构,前三者对于团队至关重要,最后一者规定了哪些任务必须完成,什么时间完成,由谁完成。
毋庸置疑,团队中的交流很重要。交流的三要素:透明丶倾听丶协商。
最杰出的交流者实际上是最优秀的倾听者。最优秀的倾听方式是“共鸣性倾听”,即“恩,你的意思是…...”,“换句话说,你认为……”,以这种方式不断的重复对方的发言。这一点本人深有感触,实习时如果直属领导以这样的方式与我交流,我会感受到被尊重以及自己的发言真的被关注了。
团队的生命周期:组件-动荡-规范-执行
群体类型:
l 工作型群体:成员集中精力在完成工作以及相关的各种活动上
l 过程型群体:关心的是团队内部的结构和行为
l 对抗型群体:与外部威胁作斗争
自主指导型团队典型特征:
l 具有团队感和归属感
l 共同对团队目标作出承诺
l 对过程和计划的主人翁意识
l 具有制定计划的技巧和执行计划的纪律
l ȥԽ
最基本的特征是凝聚力,最重要的是具备有效的领导
做一名高效的团队成员
优秀的团队会做任何需要做的事。
承诺是一项必须要学习的道德规范
增效现象:一个观点会产生大量的问题,在回答这些问题时,会引发新问题。
团队创建的义务:作为团队的一员接受责任,并尽你最大的能力扮演好你的角色;参与确定团队目标和计划,并努力实现这些目标和计划;建立并维护一支高效和合作的团队。
原则时谈判的基础是认识到立场只是满足利益的一种方式,把注意力集中在利益而不是立场上,这样就摆脱了争论,同时还得到了做出正确而有效的决定所必须的信息。
歌德说过一句话我觉得很有启发,“按一个人是怎样的便怎样对待他,他便还是那样的人,按一个人能怎样过或应该怎样去练他,他便会成为那样的人”
领导和指导你的团队
我丝毫不怀疑领导力的重要性,以前在找实习的时候对于没有没有领导魅力的面试官给的offer绝不会去。
领导力决定成败。
对于工作团队,有三条最重要的激励因素:恐惧丶贪婪和承诺。前面两条只有在不得已的情况才会使用,最应该使用的是承诺。团队承诺比个人的单独承诺产生的激励作用更大。
让团队所有人参与的技巧:
l 提问,先别主动说
l 装聋作哑
l 频繁的检查约定
l 感受没有说出口的疑虑或不同意见
l 管理专家
l 不要让某个人完全控制讨论
l 指导团队领导者
l 关注事实和数据
l 不允许有旁观者
对于管理者们,本书也指出需构建管理团队。这点与《人件》中的观点截然相反。《人件》认为管理者从来不能形成一个团队,因为涉及的利益关系太多。个人比较支持《人件》里的观点,相信本书所提的“管理团队”只是形式上的团队。为此需做到:
l 当某个决定会影响到他们所在部门时,各部门管理者应当从一开始就参与其中
l 需主动的投入,并且外部环境必须鼓励争论和竞争
l 鼓励管理团队共同工作
理性管理四要素:确定目标;计划和审查;评估和追踪;预测和纠正。
管理你的领导
当管理者说交付日期是9个月,实际上他是报出了一个价格,而你必须“讨价还价”,你必须首先让管理者知道项目会花费多长时间,方法就是制定一份计划。优先级最高的事就是当前的工作任务。在位计划争取过程中,重点强调:
l 根据您所提要求,这是我们制定的最好计划了
l 如果实在想要更改需求或其他前提条件,那么我们需要重新检查计划来看看他们对日程进度有什么影响
l 这是一份费用最小的计划。如果您最关心的是进度,那么我们可以缩短一点时间,但是费用会增加……
当一个项目注定要失败时要做什么,有三个选择:
l 继续埋头工作希望情况会好转
l 寻找另一份工作
l 试图解决问题:考虑下管理者面临的问题再决定你能做些什么:管理者已经怀疑项目有了麻烦;他们香想得到的是解决办法而不是问题;管理者不想有竞争对手。
“你可以因为某事得到赞誉,也可以实际完成它,但别想两者兼得”
集体做出的决策通常比个人决定要好的多。
要让决策取得各个层级管理者的支持需要考虑:你为什么想要改变;你需要从哪些管理者得到支持;那些管理者为什么要支持你。
过程改进做法:
l 清晰的阐明你的提议是什么
l 理解当前的业务状况
l 找出高层管理者当前关注
l 对改进合理性做初步检查
l 以两三个原型为起点制定计划
l 估算前期一次性的引入成本
l 测定后期的可能成本
l 记录下可用的收益数据
l 估算预期的节约数额
l 确定衡量实际收益
l 评估改进对高层管理者最关心的问题可能带来的影响
l 找出提议的改进给组织可能带来的其他益处
l 准备一个清晰丶简短的陈述
管理你自己
做你自己的管理者,而不要像一个受害者。
成功者赢得胜利,他们绝不抱怨。正是那些永远失败的人才会抱怨人生的不公以及别人该如何为自己的失败负责。
你需要做到:真正掌控你自己的工作;说服管理者同意你管理你自己
如何提高工作质量:衡量;改变本身
改变工作方式步骤:
l 确定质量目标
l 衡量产品质量
l 理解过程
l 调查过程
l 应用调查后的过程
l 衡量结果
l 把结果与目标进行比较
l 循环并不断改进
软件项目失败的主要原因通常是团队合作问题而不是技术问题。
压力的真正根源是我们自己,它来自于我们渴望实现管理者丶辅导员或同伴对我们的期望的天性。
完成的工作量主要取决于:任务需耗费的时间;你能用来完成这些任务的总时间。
为了管理你的工作,你必须知道自己的时间花费在了什么地方
时间管理的逻辑基础
l 你在本周利用时间的方式很有可能与上周一样
l 要想制定切实可行的计划,你必须追踪自己利用时间的方式
l 要制定更加精细的计划,需要找出先前计划哪些地方出错及怎样改进
l 要管理好时间,就要计划你的时间并遵守这个计划
l 把主要活动分类
l 记录每项主要活动所用时间
l 以一种标准方式记录时间
l 把时间数据放在一个便利的地方
对人生的思考
负责任是对待人生的一种方式,我们可以迎接挑战,积极寻找我们能做什么并把它完成。要么我们控制我们自己生活的环境,要么环境控制我们。
对自己做出承诺,保证你的承诺是负责任的:
l 在同意承诺前要分析工作
l 用计划来支持承诺
l 用书面形式记录下约定
l 如果出现不能履行承诺的情况,马上告诉对方并努力最小化影响
l 执著追求卓越,你才可能臻于卓越
学会领导
这一节是给管理者看的,对于我们学生来说其实没有太多体会。
对于领导,你的做事方式,你的感觉,甚至你的个人观点都会影响你的团队。领导要为团队树立榜样。