Three Things I Expect From a Software Architect

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

软件架构师是软件项目中的关键人物,我在几个月前的《软件架构师是做什么的?》一文中已经解释过了。架构师个人对我们正在开发的产品的技术质量负有责任。无论团队有多好,技术有多复杂,需求有多混乱,项目发起人有多混乱,我们都会归咎于架构师,而不会归咎于其他人。当然,如果我们成功了,我们也会奖励架构师。作为项目经理,以下是我对一个优秀架构师的期望。

Zerocracy的所有项目中,我期望软件架构师每周定期提交报告几次。每个报告包括三个强制部分:1)范围状态,2)问题和3)风险。

我正在寻找的第一种也是最重要的信息是范围状态,应该以产品分解结构(PBS)格式呈现。无论产品有多复杂或多小,一个好的架构师应该能够创建一个包含四到八个项目的PBS。例如:

这是我每隔几天期望从一位优秀的建筑师那里收到的报告的大小。建筑师在这里的主要目标是确保不会漏掉任何东西。无论项目有多大,所有的技术组成部分都必须适应这个PBS。

建筑师个人负责不漏掉PBS中的信息,并尽可能准确地制作报告。如果有什么遗漏或报告延迟,这将成为更换建筑师的充分理由。

进展的百分比在这里也很重要。尽管每个任务都遵循“0/100完成原则”,建筑师必须编制这些百分比并确保编制结果准确。同样,这里的错误是不可原谅的。

建筑师定期报告的第二个重要部分是开发团队当前面临的问题清单。问题指的是已经发生并给我们带来困扰的事情。以下是一些实际的例子:

再次强调,清单必须包含四到八个项目(不多不少),而且建筑师应该在那里提及最关键的问题。

现在,让我们来谈谈风险。风险是指尚未发生但可能很快发生的事情,一旦发生,我们将陷入麻烦。建筑师负责密切关注所有潜在风险,并定期向项目经理报告最关键的风险。以下是一个简要风险报告的示例:

项目经理可能需要关于每个风险的附加信息,但这是另外一个故事。最重要的是让项目经理了解列表中的前几项。每个风险都有两个与之相关的数字:概率影响,范围从0到9。在上面的列表中,第一个风险的概率为3,影响为8。这意味着架构师认为最有可能的情况是这种情况不会发生,但如果发生了,我们将遇到大麻烦。

请注意,每个风险描述中的关键词是可能。风险是指尚未发生的事情。这是风险和问题之间最大的区别。问题是已经发生的风险。

附:这是架构师如何强化设计和架构原则的两种工具。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-16 at 15:52

sixnines availability badge   GitHub stars