个人总结
1. 课程计划完成程度
完成情况:约 60%
- 计划内容:第一周目标包括团队组建、项目选题、需求分析、初步技术调研,项目研发。
2. 《构建之法》5个问题的回顾与自答
原问题与自答:
- Q:如何平衡“足够的设计”和“过度设计”?
A:通过MVP(最小可行产品)迭代,实践中发现需求优先级排序是关键(如用MoSCoW法则)。 - Q:敏捷中“个体互动高于流程”如何落地?
A:团队每日站会强制限时15分钟,避免冗长讨论,但需PM强控节奏。 - Q:如何量化“用户价值”?
A:课程未直接覆盖,通过自学A/B测试和NPS(净推荐值)补充。 - Q:代码复审是否真能提高质量?
A:实践中发现复审发现30%的bug,但依赖工具(如SonarQube)更高效。 - Q:工程师的职业成长路径?
A:课程未涉及,通过校友分享了解到“技术深度→广度→领导力”的转型。
3. 新产生的问题(希望老师/助教回答)
- 技术债管理:如何在学期项目中平衡“快速交付”和“代码质量”?是否有轻量级工具(如Technical Debt Quadrant)推荐?
- 跨团队依赖:如果项目依赖其他团队的API(如登录服务),如何避免被阻塞?是否有协调模式(如契约测试)?
- 需求变更成本:如何向非技术成员(如产品经理)解释“看似简单的需求”实际需要3天开发?
4. 文献回顾与“事后诸葛亮”新感想
团队在中期和结项时做了两次复盘,结合软件工程文献(如《人月神话》《Clean Code》),新感悟如下:
(1)沟通成本被低估
- 原分析:认为“需求文档写完就OK”,实际因歧义导致2天返工。
- 新认识:
- 应早用原型工具(Figma)可视化需求,减少误解。
- 参考《敏捷宣言》,增加“需求确认会”。
(2)技术选型的长期影响
- 原分析:选择WebSocket是因“实时性高”,但未考虑浏览器兼容性(部分同学旧版Edge无法连接)。
- 文献启发:《Designing Data-Intensive Applications》强调“降级方案”。
(3)测试的性价比
- 后悔点:初期跳过单元测试,后期修复bug耗时增加50%。
- 改进:采用测试金字塔(70%单元测试+20%集成测试+10%UI测试)。
5. 技能提升与无形收获
(1)量化提升(基于团队技能矩阵)
| 技能 | 课前) | 课后 | 提升原因 |
|---|---|---|---|
| Git协作 | 2 | 4 | 熟练使用Rebase、Cherry-pick |
| 单元测试 | 1 | 3 | 学会Jest+React Testing Library |
| 需求分析 | 3 | 4 | 掌握用户故事地图(User Story Mapping) |
(2)无法量化的收获
- 冲突管理:学会用数据说服队友(如性能测试证明WebSocket优于轮询)。
- 时间感知:真实体验到“预估工时×2”定律,学会预留Buffer。
- 抗压能力:在DDL前夜调试通宵,最终成功部署的成就感。
6. 对课程的未来建议
无建议
浙公网安备 33010602011771号