北航2026软件工程作业 [I.1] 个人作业:阅读和提问
[I.1] 个人作业:阅读和提问
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2026年春季软件工程 (北京航空航天大学 - 计算机学院) |
| 这个作业的要求在哪里 | [I.1] 个人作业:阅读和提问 |
| 我在这个课程的目标是 | 系统性掌握软件项目全生命周期的开发流程,提升大型复杂系统的协同开发能力与代码质量控制。 |
| 这个作业在哪个具体方面帮助我实现目标 | 锻炼批判性思维与提问能力,通过泛读建立软件工程的全局认知,为课程学习打好基础。 |
问题一:在资源充裕的前提下,软件功能是否应该追求“面面俱到”?增加辅助功能虽然能吸引细分用户,但由此带来的系统复杂度和界面臃肿是否会反过来削弱“杀手功能”的感知度,从而降低整体用户满意度?
- 来源: 此提问源于 第8.5节 功能的定位和优先级。书中通过图8-8的功能分析四个象限指出,团队应将资源倾斜到杀手功能上,并对辅助需求采取维持或不做的策略。同时,图8-10提到投资力度与满意度在某些情况下呈线性关系。但如果一个软件试图通过堆砌大量第三、第四象限的功能来覆盖更多用户场景,这种加法逻辑是否真的符合软件工程的演进规律?
- 如今中国互联网公司很多应用集成了庞大的功能集合,比如微信、抖音等应用,或许他们处于初期阶段时功能很简洁,但现在已经变成了一个“大而全”的Super App。例如在短视频产业兴起后,淘宝等主要业务不是短视频的软件也集成了短视频功能,虽然用户可能不会经常在淘宝上刷短视频,基本上是别人有的我也要有。
- 软件开发中经典的Unix哲学提倡“做一件事并把它做好”,以及 “让每个程序做好一件事。要做一件新的工作,就构建新程序,而不是通过增加新特性使旧程序复杂化”。这与现代许多大而全的Super App逻辑形成了鲜明对比。
- 交互体验中的希克定律告诉我们:一个人面临选择越多,需要做处决定的时间就越长。
- 结合我作为此类软件用户的经验,很多软件的更新并不是为了解决我的痛点,而是为了增加其商业覆盖范围。书中提到的10X原则强调在焦点上做得比别人好10倍,但过多的外围功能难道不会会稀释这10倍的优势,让产品变得中庸?而且带来的卡顿和布局混乱难免让用户体验感下降?此外,书第10.1.3节 《怎样定义典型用户》中提到“我们的软件不是为所有人服务的”,但现在一些大厂似乎就是朝着向所有人服务的方向努力的,鱼与熊掌不可兼得是否已经过时了?
问题二: 如何合理奖励末端治理与前期治理?
- 来源: 此提问源于 第15.4节 思考与讨论 第四题
原文:我记得小学六年级学过“曲突徙薪”的故事,也讲了类似的道理。我们往往奖励末端治理的英雄,但是最初提建议的人未必得到奖励,移山公司会不会也是这样?
- 材料中扁鹊的隐喻揭示了一个残酷的现实:后期救火的英雄(扁鹊/下游堵口者)容易获得名声,而前期防火的智者(长兄/上游防洪者)却往往默默无闻。这在项目进入发布冲刺时尤为显著。
- 在实际的项目管理中,大家往往对最后时刻力挽狂澜的行为印象极深,甚至将其视为团队凝聚力的体现。但这与书中强调的稳定和质量目标是背道而驰的。最后阶段的救火式修复是否会对项目造成其他不可预测的灾难,是否会救火失败造成项目的延期都是不可预测的,因此我认为应该着重奖励前期治理。
- 然而前期治理与后期治理的差异就决定了前期治理的努力很难被发现,是否有一种机制可以记录并维护这些人的工作成果,避免其他人制造危机并自行解决的个人英雄主义出现?
问题三:在项目创新时先发优势重要还是后发优势重要?如何正确平衡?
- 来源: 此提问源于第16.1.4节 迷思之四:创新者都是一马当先
原文:大家听了很多创新者的故事,有些人想, 他们真了不起,第一个想出了这些美妙的想法,要是我早生几十年,也第一个实现那些想法就好了。其实,大部分成功的创新者都不是先行者,例如搜索引擎,Google是很晚才进入这个领域的。又如Apple 的音乐播放器iPod,发布于2001年10月23日,在它之前市面上已经有很多同类产品了:
此外文章中还列举了一系列例子佐证作者的观点,例如
| 领域 | 先行者 | 领导者 |
|---|---|---|
| 个人电脑 | Altair (1975) | Dell (2006), HP (2010), Lenovo (2014 ) |
| 字处理软件 | WordStar (1979) | 微软Word (2006) |
| Web 浏览器 | Mosaic (1992) | 微软IE 浏览器(2006) |
| 互联网搜索引擎 | Excite (1993) | Google (2010 ) |
书中列举的个人电脑、浏览器、搜索引擎案例显示,最后的赢家往往不是先行者。那么在软件工程中,追求第一个抢占市场是否是一个陷阱?对于资源有限的团队,采取跟进别人的策略——即让别人去踩坑,自己负责优化和差异化,是否比追求原创性先发优势更具工程合理性?
带着疑问我搜索了资料,根据文章《先发优势还是后发优势》, 文中提到“后发先至”这个策略
这是从《孙子兵法》中悟出来的,用古代战争做比,到底是先动手好还是后动手好?那一定是先下手好,先下手为强,但很可能出师无名,容易失去民心,尤其在相对稳定的格局中。那你就不能先下手。这种矛盾和我们今天遇到的先发优势后发优势是不是很像?
面对这个问题孙子是这么回答的,一定是后动手,这样我有了民心,但是动作一定要快,你先动手但是我先打到了你,这就是后发先至。
此时再看上面的几个例子,似乎他们都是后发先至的典型代表,在他们之后不是没有新的竞争者出现,但仅仅因为他们来的早,积累了一定量的用户,在市场竞争方面就有很大的优势,往往就是“后浪拍死在沙滩上”。“后发先至”似乎是一个万能策略。
但文中也提到这对公司的素质有很强的要求,那么我们该如何掌握后发的度以及先至的度呢?以及没有合理掌握后发先至的素质和能力时,我们团队是应该后发还是先发?
问题四:在人工智能成为热门以及宣发途径日益增多的今天,书中所称赞的“小作坊”如何保持其竞争力?
-
来源: 此提问源于 第 16.5节 创新和作坊。作者通过马云的观点指出,互联网让小作坊和跨国企业能用上最新的工具和技术。作者还强调核心技术不是靠“点点鼠标”生成的,而是靠匠人精雕细琢。
-
当今社会似乎大多数市场和资源都被头部企业垄断了,他们的资金、技术、人员以及宣发都是小作坊不能企及的,比如通讯、购物、导航、视频等市场业务都被几个较大的公司占有,似乎小作坊只能像海底的滤食动物一样在生态位的夹层中生存。而一旦发展起来可能会被大公司打压以及并购,比如Mojang公司在游戏Minecraft火了之后就被微软收购了,也许收购对这些小作坊也是一种出路,但那些没有被收购的小作坊就没那么容易了。
-
小作坊在数年前也许可以掌握一些自己的技术,但在AI时代,算力即一切,小作坊不仅没有算力,也没有相应人才储备,极难与大公司竞争。其次在宣发方面,“酒香不怕巷子深”在之前也许是一个会发生的现象,但如今“酒香也怕巷子深”,没有宣发,仅凭口口相传很难做到很大的规模,也很难寻得到出路。
-
因此,但在 2026 年的当下我想提问:在算力被巨头垄断的背景下,既没有技术优势也没有算力优势的小作坊的竞争力是否已经从发明新技术被迫转型?如果新创业团队或小作坊失去了对底层核心技术的话语权,它们是否会退化为容易被技术进步抛下的修车店?
问题五:兼容性是否拥有超越健壮性的权利?
-
来源: 此提问源于 第13.5.1节 有错不改。阿超解释了Excel为了兼容竞争对手Lotus 1-2-3的错误格式,不得不永久保留“1900年是闰年”这一逻辑错误,因为修正代价——全人类现存表格数据减一天——远超收益。
-
Windows是有错不改以换取兼容性的集大成者。为了让几十年前的旧程序能跑在最新的系统上,Windows内部充满了补丁。Windows认为能运行比架构纯洁更重要。这让它统治了企业级市场,给予用户无与伦比的兼容性,但也导致了系统臃肿和安全性挑战。
-
苹果的策略正好相反。为了保持系统的优雅和性能,他们会定期斩断历史,强迫开发者和用户跟上脚步。macOS认为正确和先进的设计比照顾老旧用户更重要。这保证了系统极其健壮、省电、响应快,但也经常让用户和开发者抱怨。
但在实际中,两个系统均占了市场很大的份额,似乎两者都是成功的。
结合书中13.5.1节关于 Excel 的案例,我想提问对于一个处于初创期的项目,应该学习macOS,即哪怕用户流失也要保持设计正确;还是学习Windows,为了市场占有率允许代码中存在问题?

浙公网安备 33010602011771号