软件工程之美
宝玉
Groupon资深工程师,微软最有价值专家
立即订阅
6741 人已学习
课程目录
已完结 54 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (3讲)
开篇词 | 你为什么应该学好软件工程?
免费
特别放送 | 从软件工程的角度解读任正非的新年公开信
学习攻略 | 怎样学好软件工程?
基础理论 (9讲)
01 | 到底应该怎样理解软件工程?
02 | 工程思维:把每件事都当作一个项目来推进
03 | 瀑布模型:像工厂流水线一样把软件开发分层化
04 | 瀑布模型之外,还有哪些开发模型?
05 | 敏捷开发到底是想解决什么问题?
06 | 大厂都在用哪些敏捷方法?(上)
07 | 大厂都在用哪些敏捷方法?(下)
08 | 怎样平衡软件质量与时间成本范围的关系?
“一问一答”第1期 | 30个软件开发常见问题解决策略
项目规划篇 (8讲)
09 | 为什么软件工程项目普遍不重视可行性分析?
10 | 如果你想技术转管理,先来试试管好一个项目
11 | 项目计划:代码未动,计划先行
12 | 流程和规范:红绿灯不是约束,而是用来提高效率
13 | 白天开会,加班写代码的节奏怎么破?
14 | 项目管理工具:一切管理问题,都应思考能否通过工具解决
15 | 风险管理:不能盲目乐观,凡事都应该有B计划
16 | 怎样才能写好项目文档?
需求分析篇 (5讲)
17 | 需求分析到底要分析什么?怎么分析?
18 | 原型设计:如何用最小的代价完成产品特性?
19 | 作为程序员,你应该有产品意识
20 | 如何应对让人头疼的需求变更问题?
“一问一答”第2期 | 30个软件开发常见问题解决策略
系统设计篇 (4讲)
21 | 架构设计:普通程序员也能实现复杂系统?
22 | 如何为项目做好技术选型?
23 | 架构师:不想当架构师的程序员不是好程序员
24 | 技术债务:是继续修修补补凑合着用,还是推翻重来?
开发编码篇 (7讲)
25 | 有哪些方法可以提高开发效率?
26 | 持续交付:如何做到随时发布新版本到生产环境?
27 | 软件工程师的核心竞争力是什么?(上)
28 | 软件工程师的核心竞争力是什么?(下)
29 | 自动化测试:如何把Bug杀死在摇篮里?
30 | 用好源代码管理工具,让你的协作更高效
“一问一答”第3期 | 18个软件开发常见问题解决策略
软件测试篇 (4讲)
31 | 软件测试要为产品质量负责吗?
32 | 软件测试:什么样的公司需要专职测试?
33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?
34 | 账号密码泄漏成灾,应该怎样预防?
运行维护篇 (6讲)
35 | 版本发布:软件上线只是新的开始
36 | DevOps工程师到底要做什么事情?
37 | 遇到线上故障,你和高手的差距在哪里?
38 | 日志管理:如何借助工具快速发现和定位产品问题 ?
39 | 项目总结:做好项目复盘,把经验变成能力
“一问一答”第4期 | 14个软件开发常见问题解决策略
经典案例解析篇 (7讲)
40 | 最佳实践:小团队如何应用软件工程?
41 | 为什么程序员的业余项目大多都死了?
42 | 反面案例:盘点那些失败的软件项目
43 | 以VS Code为例,看大型开源项目是如何应用软件工程的?
44 | 微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?
45 | 从软件工程的角度看微服务、云计算、人工智能这些新技术
“一问一答”第5期(内含彩蛋) | 22个软件开发常见问题解决策略
结束语 (1讲)
结束语 | 万事皆项目,软件工程无处不在
软件工程之美
登录|注册

39 | 项目总结:做好项目复盘,把经验变成能力

宝玉 2019-05-30
你好,我是宝玉。相信大家都有这种体验,经历了无数个“996”加班,项目终于成功上线了,也进入了稳定运行阶段,你终于可以松一口气,准备迎接下一个项目的挑战了。
然而,这时还有一件事不要忘记了,那就是对项目复盘,全面总结一下项目过程中的得与失。

什么是项目复盘?

“复盘”本来是围棋术语,表示对弈之后,棋手把下棋的过程重演一遍,看看哪些地方下的好,哪些地方下的不好,有哪些更好的走法。把下棋的过程还原,并且分析、讨论的过程就是复盘。
软件项目中的复盘,也是通过分析、讨论开发中出现的问题,进而总结成功经验,吸取失败教训,提升团队能力。
一次项目过程,自然会有一些做的好的地方,也会犯一些错误,复盘就是要分辨出哪些是好的实践,继续保持;哪些是做的不够好的,找出原因,针对性改进,避免再犯同样的错误。
如果没有这样的项目复盘,那下一次做项目,你还会是用同样的方式来做事情,那恐怕踩过的坑可能还得再踩一遍。
也许你会认为,你们团队也开过项目复盘总结会议,但是似乎没有什么效果,是不是项目复盘并没那么有价值?
并不是项目复盘没有价值,多数情况下,是因为没有做好项目的复盘,反而相当于浪费了一次学习提升的机会。比如说一些常见的存在问题的项目复盘情形:
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《软件工程之美》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(10)

  • 拉欧
    我部门的项目复盘就是击鼓传锅大会

    作者回复: 😂好形象生动的比喻

    2019-05-30
    14
  • MarksGui
    第二次阅读这篇文章,真的是大获启发!项目复盘会议组织过多次,但是没想到以前做的这么差劲,没想到复盘会议还可以这么玩儿,真的学到了很多。再次感谢宝哥!

    作者回复: 谢谢支持:)

    2019-06-12
    2
  • hua168
    好的地方比原来做得差的意思是上一个项目复盘知道优缺点,比如bug变少了,是开发和测试花大量时间共同努力的结果,原因项目规定时间,其它方面少了,比如代码比较乱,注释少,文档没有……
    如果在bug方便控制,下个项目bug比之前多,其它方面有所改善,反正是这个弄好了,那个又变差了,小公司开发他们也不想着怎么改进,如果加入强制控制他们反感,本来时间就紧,还搞其它…

    作者回复: 如果是解决一个问题又导致了新的问题,按下葫芦起了瓢这种情况,需要多在整体思考一下原因,尤其是项目的整体流程和开发计划方面。

    推广开发流程导致反感,觉得时间紧还搞其他这个问题,需要两方面入手:
    1. 首先要反省项目计划,如果只是加要求而不给相应时间计划,比如说要求写自动化测试,而不留出写自动化测试时间,那当然会抵触。

    所以相应的要制定出更好的项目计划,避免为了砍时间而砍时间,给开发留出时间去设计去写测试代码,不然就算你制定一个很紧的计划,还是要花很多时间修Bug,最终花的其实时间差不多。

    2. 提升大家的认识,不仅是团队内部,还包括团队外部,你的老板和业务部门,获得他们的支持。让大家知道磨刀不误砍柴工:前期投入时间在开发质量上面,后期会节约大量修改Bug的时间。

    2019-06-08
    2
  • 纯洁的憎恶
    回顾目标。客观准确。

    评估结果。在目标与结果的差异中发现做的好的地方和不足的地方。客观不发散。

    分析好与不足的原因。畅所欲言,就事论事。

    总结规律。归纳出可以继承的经验或极力避免的坑,凝练出流程与规范。

    作者回复: 👍谢谢总结分享

    2019-06-02
    2
  • hua168
    如果复盘,好的是花不少精力上去了,如果要改进坏的,那么好的地方就会比原来的做得差,这种情况怎搞?是不是想办法提高效率之类?
    另外我想问下宝哥,你哪章是讲代码质量,项目质量的呀?我看标题找不到,尴尬了^_^|||

    作者回复: 你说的“好的地方会比原来的做的差”,能举一个具体的例子吗?

    你说的代码质量和项目质量是来自《31 | 软件测试要为产品质量负责吗?》

    2019-06-01
    2
  • kirogiyi
    项目复盘是整个项目实施过程中或项目结束后很重要的一环,它可以帮助项目团队成员站在全局的视角上提升发现问题-分析问题-解决问题的能力,更能帮助具有管理才能的技术人才提高统筹规划和执行能力。与此同时,我们还可以根据每个团队成员在项目实施过程中的经典设计和典型错误,判断出他们各自的擅长领域和技术上的短板,在遇到相似或相关问题的时候进行针对性的沟通和交流,从而减少问题重复发生所带来的影响。

    作者回复: 🙏谢谢补充分享!

    建议对于团队成员,日常就可以做这样的沟通和指正,不必等到项目复盘的时候。比如说定期可以有一对一的会议。

    2019-05-30
    2
  • 陈丹
    有时候总结出是领导的问题,但是毕竟领导组织的,也没人敢说他的问题,每次领导说你们啥啥啥一堆问题,其实大家都觉得他是主要源头,但是就是不知道如何表达,让他意识到他的问题,又不会显得下属太直接。。

    作者回复: 说实话,这个问题我帮不了太多,多转发一点软件工程文章让他看到也许是个委婉的方式🤦‍♂️

    2019-09-09
    1
  • alva_xu
    我觉得scrum方法中提到的两个会,可以作为项目复盘会内容的参考。Sprint评审会议(Sprint Review Meeting)和Sprint回顾会议(Sprint Retrospective Meeting)。Sprint 评审会议在 Sprint 快结束时举行 ,用以检视所交付的产品增量并按需调整产品待办列表,是对工作成果的评审。Sprint 回顾会议是 Scrum 团队检视自身并创建下一个 Sprint 改进计划的机会。是对方法论的回顾和提高。项目复盘会也应该从这两个角度去做总结提高。

    作者回复: 🙏谢谢补充!

    Sprint评审会议可以帮助发现做的好的和做的不好的;
    Sprint回顾会议可以帮助找出原因和总结规律

    2019-05-30
    1
  • 邢爱明
    回想一下,项目复盘想要效果好,需要做一些准备工作:
    1. 复盘会前,要求项目组核心人员对项目的情况先自己进行总结,包括做得好和做的不好的方面,有书面文件输出。先要有思考,复盘会上大家才有可讨论的内容,否则会议上大家可能就是随便说说,复盘会成了走形势。
    2. 复盘会的会议主持人,需要有比较强的会议主导能力,尤其是参加会议的人来自多个部门的时候。因为大家总结项目中做的不好的地方,难免会涉及到多个部门或团队配合的情况,且每个人的描述也不可能做到百分之百的客观和公正。如果有人认为总结的内容有问责的含义或需要自己承担责任,复盘会就很容易变成了甩锅会。这时候就需要会议主持人正面介入和引导,让大家讨论解决方案和改进措施,确保按照预定的议程开复盘会议。

    作者回复: 🙏谢谢补充!

    会议前的准备蛮重要,要有一些基础的可以讨论的素材

    会议时要有人组织控制

    2019-05-30
    1
  • javaadu
    之前在有赞的时候,使用一些复盘的工具来进行项目复盘:
    (1)KISS(keep、improve、stop、start),分别讨论出在下一个项目中需要保持、提升、停止、开始的行动,感觉非常有效;
    (2)心情曲线,可以从另一个侧面考察项目组成员在项目过程中的参与感和非理性的感觉,有助于在后面的项目中改善项目组沟通

    老师在这篇文章中介绍了最基本的步骤:(1)回顾项目目标;(2)评估项目结果;(3)分析原因;(4)总结规律,落实行动。对于第四步来说,就可以使用KISS这个工具。

    作者回复: 👍谢谢分享

    2019-11-09
收起评论
10
返回
顶部