Skip to content

Commit

Permalink
doc: 新增文章;
Browse files Browse the repository at this point in the history
  • Loading branch information
01Petard committed Nov 27, 2024
1 parent 35774eb commit 9260a48
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/.vitepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ export default {
{
text: "杂谈",
items: [
{text: "软件工程圣经《人月神话》到底讲了什么", link: "/杂谈/软件工程圣经《人月神话》到底讲了什么"},
{text: "项目master心得体会", link: "/杂谈/项目master心得体会"},
{text: "分享一下我Mac使用的软件", link: "/杂谈/分享一下我Mac使用的软件"},
{text: "Stable Diffusion信息备忘录", link: "/杂谈/Stable Diffusion信息备忘录"},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# 软件工程圣经《人月神话》到底讲了什么?

《人月神话》(The Mythical Man-Month)是由计算机科学家弗雷德里克·布鲁克斯于1975年出版的书籍,它是计算机科学和软件工程领域的经典著作之一。该书探讨了软件项目管理和开发过程中的各种挑战和问题,强调了人力资源管理、沟通和复杂性等方面的重要性。我总结了以下《人月神话》中的主要内容:

<img src="https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202411272013390.png" alt="image-20241127201336261" style="zoom: 33%;" />

**1. 核心观点**

弗雷德里克·布鲁克斯强调,软件开发过程中的进度不能仅仅通过增加人力资源来推动,这是因为新加入的成员需要时间来学习和适应项目,同时也会引入更多的沟通成本。这一观点被称为“人月神话”。

**2. 布鲁克斯法则**

布鲁克斯法则指出,如果一个软件项目已经延期,那么增加人员将导致进一步的延期。这是因为新成员需要时间来学习代码、了解设计,而现有成员必须花费更多的时间来培训和协调。

**3. 管理的复杂性**

布鲁克斯解释了软件开发中的复杂性,特别是在大型项目中。他提到了“二次系统效应”,即开发人员在设计第二个系统时倾向于过度设计,从而导致系统变得复杂、不稳定且难以实现。

**4. 沟通的挑战**

书中强调了沟通在软件开发中的关键作用。布鲁克斯认为,随着团队规模的增加,信息的传递和理解变得更加困难。他引入了“外科手术队”概念,强调团队成员之间的紧密合作和沟通,以实现高效的软件开发。

**5. 进度监控和控制**

布鲁克斯强调了项目进度的监控和控制的重要性。他提倡使用进度报告、问题跟踪和风险管理等工具,以便及时发现并解决问题,确保项目按计划推进。

**6. 软件工程方法学**

书中讨论了不同的软件开发方法学,包括瀑布模型、原型模型等。布鲁克斯对这些方法的优点和局限性进行了分析,并提出了在不同情况下选择合适方法的建议。

**7. 经验教训和建议**

布鲁克斯分享了他在IBM OS/360操作系统项目中的经验教训,例如如何处理人员变动、如何应对延期等问题。他提供了一些关于软件开发实践的建议,包括保持简单、避免过度设计等。

通过对这些内容的深入探讨,弗雷德里克·布鲁克斯在《人月神话》中提供了关于软件项目管理和开发的深刻见解,为开发人员和管理人员提供了宝贵的经验和思考。

0 comments on commit 9260a48

Please sign in to comment.