迷你设计文档如何影响这些关注点?如何解决关注?
创始人
2025-12-27 21:10:59
0

您的组织可以在这里确保安全、隐私、可观察性等跨领域问题得到考虑。 这些通常是相对较短的部分,解释设计如何影响这些问题以及如何解决它们。 团队应该标准化这些问题。

由于其重要性,Google 项目需要有专门的隐私设计文档,并有专门的隐私和安全审查。 虽然这些审查只需要在项目启动时完成,但最好尽早与隐私和安全团队合作,以确保设计从一开始就考虑到这些。 对于这些主题的专用文档,中心设计文档当然可以只引用它们而不是详细说明。

设计文件长度

设计文档需要足够丰富和简洁,以便忙碌的人能够真正阅读它们。 较大项目的最佳长度是 10-20 页。 如果您的文档太长,最好将问题分解为可管理的子问题。 值得一提的是,写一份1-3页的“迷你设计文档”是绝对可行的。 这对于敏捷项目中的增量改进或子任务特别有帮助 - 您仍然可以像处理一个长文档一样处理所有步骤,只需保持简洁并专注于一组有限的问题即可。

3.什么时候不写设计文档

编写设计文档会产生一定的开销。 是否编写设计文档的决定归结为核心权衡,即围绕设计、文档、高级评审等建立共识的好处是否超过创建文档的额外工作负担。 这个决定的核心是设计问题的核心是否不明确——取决于问题的复杂性或解决方案的复杂性,或两者兼而有之。 如果设计问题的核心不模糊,写文档就没有什么价值。

如果设计文档实际上是一个实施手册,那么这清楚地表明设计文档是不必要的。 如果一份文档基本上只是说“我们是如何做到的”,而没有进行权衡、替代方案和决策解释(或者替代方案非常明显,不需要权衡),那么最好只写下实际程序。

最后,创建和审查设计文档的开销可能与创建原型和快速迭代不兼容。 然而,大多数软件项目确实存在一些实际的已知问题。 遵循敏捷开发方法并不是不花时间解决实际已知问题的借口。 或者,原型制作本身可以是创建设计文档的一部分。 “我尝试过,它有效”是选择设计的最佳论据之一。

4 设计文件的生命周期

设计文档生命周期的几个步骤是:

快速创建和迭代

审核(可能有多轮)

怎么写软件文件_写软件的步骤_写文件的软件

实施和迭代

维护和学习

快速创建和迭代

在此阶段,您将编写文档。 有时与作者团队合作撰写。

当文档与最了解问题领域的同事(通常在同一团队)共享时,这个阶段很快演变成快速迭代期,通过这个阶段他们澄清问题并提供建议,使文档成为第一个相对稳定的版本。 。

虽然您肯定会发现工程师甚至团队更喜欢使用版本控制和代码审查工具来创建文档,但 Google 的大多数设计文档都是使用 Google 文档创建的,并大量使用其协作功能。

审查

在审查阶段,设计文档会与原作者和密切合作者之外的更广泛的受众共享。 评论可以带来很多价值,但它们也是一个危险的陷阱,所以要明智地处理它们。

审核可以采取多种形式:一种更轻松的方法是将文档发送给(更广泛的)团队列表,以便每个人都有机会查看。 讨论主要发生在文档的评论部分。 更严肃的审查是正式的设计审查会议,作者将文档(通常是专门的演示文稿)呈现给更高级的工程师。 Google 的许多团队都会为此目的定期召开会议,工程师可以报名参与评审。 当然,等待这些会议召开可能会大大减慢开发进度。 工程师可以通过直接寻求关键反馈而不是阻碍更广泛的审查过程来缓解这种情况。

当谷歌还是一家规模较小的公司时,人们常常将设计发送到核心邮件列表,高级工程师在闲暇时审查这些设计。 这可能是处理公司事务的好方法。 好处之一是,这确实在公司中建立了一种相对非正式的软件设计文化。 然而,当公司规模扩大到相对较大的工程团队时,维持集中式方法就不再可行。

评审带来的主要价值是它们提供了将组织的综合经验纳入设计的机会。 最一致的是,审查阶段确保考虑到可观察性、安全性和隐私等跨领域问题。 评审的主要价值不在于识别问题本身,而在于在开发周期的早期识别问题写文件的软件,此时进行更改的成本仍然相对较小。

写软件的步骤_写文件的软件_怎么写软件文件

实施和迭代

当事情进展到您确信进一步审查将不再需要对设计进行重大更改时,就可以开始实施。 当计划与现实发生冲突时,不可避免地会出现缺陷、未解决的需求、经过深思熟虑的猜测最终被证明是错误的,并且需要进行设计更改。 在这种情况下,强烈建议更新设计文档。

一般来说:如果设计的系统尚未交付,请务必更新文档。 在实践中,我们人类不擅长更新文档,并且由于其他实际原因,更改通常会被自己放入新文档中。 这导致最终状态有点类似于美国宪法,带有一堆修正案写文件的软件,而不是一份连贯的文件。 从原始文档到这些修订文件的链接对于那些将来试图通过设计文档来理解目标系统的糟糕的维护程序员来说非常有用。

维护和学习

当谷歌工程师面对一个他们以前从未使用过的系统时,他们的第一个问题通常是“设计文档在哪里?” 尽管设计文档与其他文档一样,随着时间的推移可能会脱离现实,但它们通常仍然是了解创建系统的想法的最简单的切入点。

作为作者,1、2年后回顾一下自己,重新阅读一下自己的设计文档。 你做对了什么? 你做错了什么? 今天你会做什么来做出不同的决定? 回答这些问题是作为工程师进步并随着时间的推移提高软件设计技能的好方法。

5 结论

设计文档是提高清晰度并就解决软件项目中最困难问题达成共识的好方法。 设计文档可以节省资金,因为它们允许进行预先调查,并避免编写无法实现项目目的的兔子洞; 设计文档也需要花钱,因为创建和审查设计文档需要时间。 因此,请为您的项目明智地选择!

在考虑编写设计文档时,请考虑以下事项:

如果您对其中 3 个或更多问题的回答为“是”,那么设计文档可能是开始下一个软件项目的好方法。

原文链接:

相关内容

热门资讯

当... 随着现代科技越来越发达,几乎每个年轻人都成为了社交平台的深度用户。 他们习惯了你给我的自拍照点赞,习...
苹... 目录1.苹果APPstore显示英文,如何调整为中文?2、通过QQ登录后,对方设备上显示用户的手机型...
是... 随着社交媒体的普及,微信已经成为人们日常生活中不可或缺的应用程序之一。微信作为一个即时通信软件,让人...
内... 昨晚我跟大家提到过内蒙古自治区关于网上报名证件照片核对要求部分宝物可能存在其他问题那么今天我就给大家...
砼... 砼软软件是一家专注混凝土行业智能管理、数字化转型解决方案的供应商,多年以来,公司始终致力于混凝土行业...
I... 我对Windows系统很恼火。 流氓软件泛滥成灾,各种弹窗广告令人防不胜防。 让人感到很不高兴。 有...
开... 如何开发iPad应用程序? 你有两种方法。 如果您有面向对象编程语言(例如 C++ 或 Java)的...
共... 在当今的社交软件中,共享位置功能已经成为了一个非常普遍且受欢迎的特性。这个功能可以让用户向朋友或家人...
V... VMware虚拟机对于喜欢体验不同系统的小伙伴是一个很好用的软件。该软件可以在不损坏原有系统的情况下...
文... 文华财经指标公式博易大师软件指标公式期货kd指标高手绝技风险提示:本指标公式仅作为知识分享,不构成任...
【... 工作中常会遇到这样的情况,格式需要经常转换,虽然WPS和office可以转换一些格式,但还是有很多格...
揭... 软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。它是一项包括需求捕捉、需求分析、设计...
游... OPPO手机上可以在游戏软件商店中下载到光遇。具体的方法和步骤如下: 打开OPPO手机上的游戏软...
汽... 时不我待环顾全世界,汽车产业在几乎每个国家都被视作支柱产业。放眼中国,汽车行业机会很多,工作机会一大...
深... 深圳是中国软件开发行业的重要城市之一,拥有众多优秀的软件开发公司。下面我将为大家详细介绍几家值得推荐...
轻... Appstore下载安装如果三星手机需要下载安装软件应用,建议尝试以下步骤: 1. 使用手机功能表中...
一... 本文详细介绍了如何在苹果5s手机上安装微信应用商店(App Store)的方法。 打开手机主屏上的A...
精... 根据《国务院办公厅关于2024年部分节假日安排的通知》精神,结合我公司实际情况,现将2024年春节放...
谁... 根据您的描述,您想了解关于手机版的通达OA软件精灵和其他类似软件的信息。我们将对这些软件进行详细分析...
智... 点击上方蓝色字体,关注我们/电子电气架构技术创新交流群 /添加微信15021948198,申请加入汽...