[I.1] 个人作业:阅读和提问

news/2025/3/3 22:43:22/文章来源:https://www.cnblogs.com/xuan-yu/p/18749573

[I.1] 个人作业:阅读和提问

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)
这个作业的要求在哪里 [I.1] 个人作业:阅读和提问
我在这个课程的目标是 掌握软件工程原理与敏捷协作,实现高质量系统全周期工程化,开发出一款令人满意的软件。
这个作业在哪个具体方面帮助我实现目标 定义需求边界、解构系统设计矛盾,强化对软件全生命周期中需求分析、质量验证的工程化实践认知
  1. 微软的Program Manager模式能否适用于所有类型的软件团队?在小规模或创业团队中是不是可能会会增加沟通层级?

    书中介绍,微软为解决大规模团队的交流成本问题引入Program Manager(PM)角色,强调​“PM与开发、测试平等协作,不担任行政领导”​。PM的核心职责是​“推动团队完成功能,降低N×(N-1)/2的交流复杂度”​​。

    书中有强调PM不担任行政领导以促进平等讨论,微软的PM模式诞生于大规模团队,但小团队是否需要如此明确的角色分工?这是我疑惑的点。

    PM模式的核心是降低大规模团队的沟通复杂度,但对小团队(就像咱们软工)而言,增设PM可能导致角色冗余,甚至因层级增加而拖慢决策速度。如何判断何时需要引入专职PM?是否应根据团队规模或项目复杂度动态调整呢?书中观点是认为PM的平等协作优于行政领导,但若PM本身是技术权威,就是相当于包含了技术负责人的责任,是否更有利于快速决策?

  2. 书中将“技能的反面是解决问题”作为衡量标准,是否低估了创新和复杂问题解决在软件工程中的价值?

    技能的反面是“解决问题”(Problem Solving),以魔方为例说明低层次问题解决会阻碍高层次技能展现。书中强调通过反复练习将基础操作变为“自动动作”,从而去释放脑力来处理更高层次问题,“一个不精通的面试者把时间花在解决低层次问题上,无法展示算法技能”“通过不断的练习,把那些低层次的问题都解决了,变成不用经过大脑的自动操作,然后才有时间和脑力来解决较高层次的问题。”

    作者认为技能熟练的标志是“无需思考的自动操作”,但我看来,软件工程中许多场景,如架构设计、紧急故障排查需要我们动态调整和创新,单纯依赖“肌肉记忆”可能无法解决复杂问题,而且现实中的优秀工程师,有很多是通过创造性解决问题而脱颖而出的。

    书中将“解决问题”视为技能的负面表现,但实际工程中,解决未知问题恰恰是核心能力。我觉得,这种能力是否被“技能的反面”这一表述忽视?我们是否应区分“机械技能”与“创造性问题解决”,而非将其对立?这可能是书本所忽略的。

  3. 瀑布模型在现代敏捷主导的环境中是否仍有不可替代的适用场景?

    书中5.3.2节提到瀑布模型的局限性有步骤分离、回溯困难、最终产品出现晚,但也指出其适用场景包括需求稳定、技术成熟、团队分布等情况

    瀑布模型适用于“产品定义非常稳定”的场景,但实际经验中,用户需求即使在传统行业(如金融、医疗)也可能因政策、技术更新而变化。

    那么就有问题,是否存在真正“需求绝对稳定”的软件项目?若需求始终存在变动风险,瀑布模型的“不可逆”特性是否本质上不适用于现代软件开发?书中提到瀑布模型适合“团队分属不同机构或地理位置”,但分布式团队通过工具(如Git、CI/CD)也能实现敏捷协作,这是否削弱了瀑布模型的优势?

  4. 在分布式团队中,敏捷流程强调的“面对面交流”是否与远程协作的现实需求存在根本矛盾?

    书中6.2节提到敏捷专家肯•施瓦伯强调团队成员必须面对面开会才能有效沟通,但现实中许多团队分布在不同的地理位置或时区,导致传统敏捷方法难以直接应用。

    书中认为敏捷依赖“面对面、高容量的交流”,现代软件团队(尤其是跨国或远程团队)有时无法满足这一条件。但是这样是否就不敏捷?敏捷是否本质上排斥远程协作?若必须妥协“面对面”原则,是否意味着团队不再“真正敏捷”?

    书中可能将“面对面交流”视为理想状态,但未充分探讨工具和流程如何弥补地理距离。实践中,个人认为,分布式团队可能需要引入“异步敏捷”等变体,通过更细致的任务拆分、自动化测试和文档化需求来维持敏捷核心价值。

  5. NABCD模型在动态市场环境下是否仍能有效指导竞争性需求分析?

    书中8.4节介绍了NABCD模型(Need需求、Approach做法、Benefit好处、Competitors竞争、Delivery推广)作为竞争性需求分析的框架,强调通过差异化优势满足用户需求。

    现实中许多新兴领域(如AI应用)的需求可能在产品开发过程中发生根本变化。这引发疑问:NABCD模型是否预设了需求稳定性,难以应对快速变化的市场?

    NABCD作为静态分析工具,在敏捷开发成为主流的今天,是否需将其与持续探索(如持续发现框架)结合?比如我设想一种,将NABCD拆分为快速迭代的小周期,每个冲刺验证部分假设,而非一次性完成全部分析。

  6. 在软件稳定阶段的会诊(Triage)过程中,如何避免主观偏差影响对Bug修复优先级的判断,是否存在客观的评估标准或工具支持?

    在《构建之法》第15章“稳定和发布阶段”中,作者提到会诊小组需要对每个Bug决定修复、标记为设计如此、不修复或推迟。文中提到“Must修复”的门槛会随着项目进展逐渐提高,但并未详细说明如何避免团队成员的主观判断导致决策不一致。

    根据我的项目经验,团队常因对“大问题”的定义不同而争论,例如:一个界面错位Bug,设计师认为影响品牌形象(Must修复),开发者则认为可推迟。因此,如何建立共识或引入数据驱动的评估标准是关键矛盾点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/893187.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目前国内可用Docker镜像源汇总(截至2025年2月)

[目前国内可用Docker镜像源汇总(截至2025年2月) - CoderJia](https://www.coderjia.cn/archives/dba3f94c-a021-468a-8ac6-e840f85867ea) 在国内使用 Docker 的朋友们,可能都遇到过配置镜像源来加速镜像拉取的操作。然而,最近几个月发现许多曾经常用的国内镜像站(包括各种…

我的lua使用初体验

本文记录作者第一次使用lua的一次实践,主要借助lua来保证检查锁和释放锁的原子性使用lua实现检查和删除分布式锁的原子性很多时候出现并发问题的根本原因在于检查和操作不是同一个操作,不具有原子性,所以中间会被其他线程插一脚。所以我们需要有一种工具保证这两种操作的原子…

三剑客与正则系列-sed命令

1.概述核心功能:取行,过滤,替换修改文件内容 难点:后向引用(截取). sed stream editor流编辑器.2.格式命令 选项 详细格式 参数sed 选项 条件动作 文件找谁干啥找谁:条件,匹配哪一行,哪些行. 干啥:动作,增删改查. #显示文件的第3行 sed -n 3p /etc/passwd选项 说明-n 取消默认输…

加速PyTorch模型训练技巧

Pytorch-Lightning 可以在Pytorch的库Pytorch-lightning中找到我们在这里讨论的每一个优化。Lightning是在Pytorch之上的一个封装,它可以自动训练,同时让研究人员完全控制关键的模型组件。Lightning使用最新的最佳实践,并将你可能出错的地方最小化。 我们为MINST定义为Light…

能力全面提升综合题单-练习

Part1 语言基础题 P1089 [NOIP 2004 提高组] 津津的储蓄计划import java.util.Scanner;// P1089 [NOIP 2004 提高组] 津津的储蓄计划 public class P1089 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int[] budget = new int[12];for (int …

kettle插件-git/svn版本管理插件

场景:大家都知道我们平时使用spoon客户端的时候时无法直接使用git的,给我们团队协作带来了一些小问题,需要我们本机单独安装git客户端进行手动上传trans或者job。 我们团队成员倪老师开发了一款kettle的git插件,帮我们解决了这个大难题,大大方便了我们团队协作,今天一起来…

自我介绍,软工五问

作业相关信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023/homework/13325这个作业的目标 学习博客的使用自我介绍 我是软工2班的彭颂华…

HTTPS,TLS原理分析

简单介绍 Tansport Layer Security TLS 已经逐渐取代 SSL 可以简单理解:HTTPS = HTTP + SSL/TLS TLS运行在TCP之上,HTTP之下,传输层协议,负责HTTP内容的安全传输 TLS流程在TCP三次握手建立连接后开始 TLS协议结构wireshark中TLS主要分为两层,底层的是TLS记录协议,主要负责…

训练ai生成代码效果展示

训练ai生成代码效果展示 在本次实验中试图使用命令的形式来训练ai,达到成功获取需要的web开发页码的效果 起初 本来我打算让ai生成一个整体的项目,但是ai不可以直接生成一整块的项目,他也没办法把得到的结果以文件的形式传给你,得到的还是文本,第一实验的结果并不理想 以下是训…

公交线路(迪杰斯特拉)

这道题就是一道迪杰斯特拉的板子,没想到的是我想到了重载小于符号,没想到要定义优先队列 #include<iostream> #include<vector> #include<queue> #include<cstring> using namespace std; const int N=1000+5; struct node{int id,dis; }; vector<…

HDFS中数据目录的挂载在根目录下至磁盘爆满问题解决

1、查看hdfs-size.xml文件 获取数据目录位置vim /opt/hadoop/etc/hadoop/hdfs-site.xml<property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop-data/data-node-data,/home/hadoop-data/data-node-data-2,/data-3</value> </pro…