[I.1] 个人作业: 阅读和提问
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2026 年春季软件工程 |
| 这个作业的要求在哪里 | 个人作业:阅读和提问 |
| 我在这个课程的目标是 | 了解软件开发的流程,学会团队协作 |
| 这个作业在哪个具体方面帮助我实现目标 | 理解软件开发规范 |
提问
问题一
当我们谈论“全栈工程师”的时候,我们说的究竟是“交响乐作曲家写各个乐器的乐谱”,还是“演奏家满场奔走,操作各种乐器”呢?当工程师设计软件的时候,工程师的设计、修改错误等活动大致等同于交响乐的谱写完善阶段,两个职业都假设一旦程序/乐谱写好,它们就会被正确地执行。
- 问题:“精通” VS “全栈”
- 作者用了单人乐队和乐手的例子,想说明我们需要精通某一门技术。就像交响乐团,是由很多人来演奏不同的乐器。但在现实中,只精通一项技术已经不足以满足需求了,比如训练模型的时候,如果只懂算法,但不了解硬件相关知识,或许也不能达到很好的效果。很多问题需要跨领域的知识才能解决。
- 提问的原因:只知其一难免管中窥豹,懂得更多的知识或许能为原技术栈锦上添花,优秀的工程师应该兼具技术的深度和广度。
问题二
在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档,等等。
结对编程中有两个角色:
- 驾驶员 (Driver): 控制键盘输入。
- 领航员 (Navigator): 起到领航、提醒的作用。
这两个角色是可以互换的。和现实生活中的例子类似,一个人负责具体的执行(驾驶,用键盘编写程序等),另一人负责导航、检查、掩护等。
- 问题:结对编程是否真的有必要(利 vs 弊)?何时使用结对编程模式?
- 就读到的材料而言,我觉得结对编程有不少的缺点:需要两个人协调配合,比如商议时间,感觉不是很灵活;编程时不全在写代码,也需要查阅文档、学习一些新知识之类的,我觉得两个人在一起看的效率是没有单独思考的效率高。结对编程的优点是可以互相检查,但我觉得这也可以利用代码审查的方式来实现。
- 所以暂时不清楚为啥推荐结对编程,等到结对编程作业的时候来看吧(
问题三
用户最需要的 > 用户表达出来的 > 软件团队能理解的 + 团队的商业目标 > 软件团队成员具体表达出来的 (PM 写 Spec) > 在各种约束条件下,具体执行表达出来的 (Dev 写代码) > 验证通过的 (Test) > 通过各种渠道告诉目标用户(发布 / 推广) > 用户终于能用上了,但是他们不满意
- 问题:书中列出了需求传递过程,可以发现需求在层层传递中不断失真,这是否是软件工程的必然现象?有没有什么机制能减少这种信息衰减现象?
- 支撑材料或事例:敏捷开发强调频繁迭代和用户反馈,OKR 和数据驱动产品试图缩短反馈链路,但现实中仍然大量产品上线后被吐槽“不符合用户需求”。
- 提问的原因:书中似乎假设需求传递一定导致失真,但现代工具(原型设计、用户访谈、A/B 测试)是否能缓解这一问题?
问题四
MSF 过程模型的基本元素是阶段和里程碑。所谓“阶段”,就是在这一段时间里团队集中精力做某一类事情,每个阶段的结束都代表了项目的进展和团队工作重心的变化。比如在“开发阶段”结束后,团队就不再允许设计/实现新的功能,除非有理由充分的“变更请求”。
- 问题:在大规模团队中,是否可能真正实现阶段节奏统一?现实中需求频繁变更是否使阶段模型失效?
- 支撑材料或事例:在敏捷开发中,团队通常采用迭代开发,大厂产品经常在开发阶段临时插入新需求,团队之间的进度可能不能完全统一。
- 提问的原因:现代软件开发普遍采用 CI/CD,设置明显的阶段并且禁止新功能的实现可能不太现实。
问题五
Program Manager (PM)
- 负责一个功能的开发/测试人员和相关的 PM 密切合作,再由 PM 代表这一小组去和别的小组或客户代表打交道,大大降低了交流的成本;
- 有专人负责开发 / 测试之外的许多事务和项目进度的管理,让开发和测试人员专注技术方面的工作;
- 牛人主导的项目,往往会大起大落;PM 主导的产品中,“不犯大错”成了一个特点。微软的很多产品在长期的竞争中,靠“不犯大错”,从第三版开始,赶上并超越对手,这也是了不起的能力。
- 问题:如果团队规模较小(比如我们的软工小组),是否还需要 PM?另外 PM 没有了解开发的细节,是否反而会增加沟通成本?
- 支撑材料或事例:微软的三个角色分配是:PM,开发,测试(PM 负责除产品开发和测试之外的所有事情),感觉 PM 确实有必要。但是在小团队 / 创业公司中,沟通交流的效率已经比较高了,而且大家都是开发者,也没有项目经理的经验,似乎可以省略 PM 这个角色?
- 提问的原因:对 PM 的职责和价值还不太清楚。

浙公网安备 33010602011771号