文献阅读收获
由于我们组开始的时候文件在我的手里,后来才给PM齐总(齐炜祯),我经过阅读觉得收获很大,所以也写在这里。
人件阅读收获
500个一线开发的软件工程项目开发跟踪结果
- 15%项目出现问题,越大的项目出现问题概率越高。
- 没有一个失败的项目是单纯因为技术问题而失败
- 实践与感悟:如果没有很好的合作计划/工具,足够有效的沟通,每个人的输出能力会大打折扣。比如如果没有明确划分每个人要做的事情,很可能大家都提交百分之八十的结果,如果接口定义也不准确,那最后将会一团糟。
统计--编码大赛
- 能力最强:能力最差效率比 = 10 :1
- 能力最强 : 中间均值 = 2.5 :1
- 能力大多集中在中上游,下游长尾分布
- 编码速度与 语言 经验年限 薪酬(???不理解)关系不大
- 同一个公司/环境出来的个体 差异不大
- 编码效率和环境是否足够安静适合工作成正比关系
音乐对工作的影响
- 对于编写一段程序,听音乐组与不听音乐组差别不大
- 对于隐藏规律的发现,听音乐组做的非常好
- 对于日常工作任务,当使用左脑完成时候,听音乐没什么问题
- 对于需要创新的工作,对于右脑的使用权会和音乐冲突
确保流状态稳定
- 进入流状态的时间大约为 7 到 15 min
- 需要流状态的工作,最好不要经常被打断
- 实践与感悟:每天固定拿出四个小时对效率的提升非常大,如果冲刺时候还在兼顾别的事情,往往会导致效率的大幅度降低。
高离职率带来的问题
- 新人上手时间普遍在半年左右,如果高技术壁垒的行业可能为两年
- 员工,小团体会普遍考虑短线利益,不利于公司发展
- 优秀的扁平型组织结构,一般一线员工工作年限为5年,升到管理层需要10年
- 感悟与实践:当一个必要功能绑定给某个具体的人(情况很多见),当他突然有事/离职的时候,对团队影响很大,因为很可能他手里的工作对其他成员来说有专业壁垒,找同样方向的人又会导致入手熟悉时间过长。
团队毁灭发动机
- 防御式管理:杜绝不信任
- 官僚主义:不需要多解释
- 物理分隔:组织团队来一顿意面晚餐很重要(团建的重要性)
- 时间碎片:一个人兼职的项目最好是一个,不要超过两个,否则切换角色/人际互动会消耗大量精力
- 牺牲产品质量:也许降低质量是领导,市场,销售,经费的共同诉求,但是会极大打击团队的自信与热情
- 凭空产生ddl:与共同愿景相悖,种下 不信任种子
- 感悟与实践1:每天的例会非常的重要,就算说的问题很少,也要坚持碰头,这会让沟通变得更加清晰明确,进度更加可控,还能增加团队战斗力。
- 感悟与实践2:PM的作用非常巨大,当其他成员对于PM的安排都非常信服和支持,整个团队的进展会快很多。就像赛龙舟,PM带起的击鼓节奏以及整个团队的积极响应对推动一个项目非常的关键。如果PM带头晕船或者胡指挥,团队就好似乱撞的苍蝇,并不知道该往哪个方向努力。
优秀团队养成特征
- 对产品质量追逐的满足感带来凝聚力
- 结婚时告诉她我爱她:人类需要不断的被确认自己沿着正确方向行进
- 团队成员拥有团队荣耀感,同时具有一些排他性
- 团队成员有展现自己领导力的舞台,鼓励个性发展,团队结构呈网络而非分层,真正管理者表面上“游离于团队之外”
敏捷流程
收获
- 一个有共同目标的团队是敏捷流程的基础
- 敏捷流程适用于一个任务被明确切分成具体分离的问题的场景
感悟
- 如果团队有人执意掉链子,就很难正确分工开船
- 不适合当小组成员没有一个知道事情该怎么做的情况,那会导致分不出活,就会很乱。
- 调研应该发生在冲刺之前
阅读评论1
收获
- 短小的周期可以提供更容易的迭代机会,减少开发测试迭代的难度
- 更少的关注个性技巧or能力差别,方法论中的一些守恒量更能左右软件工程的开发进度
感悟
- 我们六七个人的团队尚且合作不易,不难想象更大会是什么情况
- 分工明确的时候,通过每天例会循环燃尽效率很高,不会混乱掉。
阅读评论2
收获
- IT领域的工作很难做出一个精确合理的预测 or 时间估计
- 由于现实情况或者需求的多变,无法估计出到底瀑布模型好还是敏捷流程好
- 有两个规律可循:减少反馈周期, 提高反馈效率(调整自学的能力)
感悟
- 我们那到任务的时候同样没有办法去预测能够花多少精力和时间,因为大家都没有做过,但是没有意识到减少反馈周期的事情。belta阶段把调研这个工作也作为核心目标之一,并加快反馈进度,似乎一切协调的多。
为什么计算机系的老师教不好软件工程水平的编程?
收获
- 更加偏重于理论,而且不是把软件工程的内容作为重头戏
- 老师们大多没有太多实战经验
- 没有那么多时间来做一个大工程,更别谈体会了
感悟
虽然我没有上个科大的软件工程课,但目睹了室友曾经左手前端右手后端的PM经历,我觉得大学更容易上成编程训练课而非教学生如何合作编程
习而学的软件工程教育
收获
非常赞同的观点有:
- 数学物理课程推迟进行
- 大幅度增加上机课程的时间
- 基本的软件测试工具放在大一
- 鼓励高级厂实习
- 从大一开始建立专业博客
感悟
回想科大信息安全专业的培养(当然信息安全不是专门为了软件工程而培养人才),我们在大一大二花费了太多时间和经历学习数学物理,还有电路等课程,在计算机方向的动手少之又少。