「译」从简单到复杂 —— 软件四象限

原文:From trivial to complex -- 4 software quadrants | Swizec Teller

原标题:An intro to TSConfig for JavaScript Developers

作者:Jo Franchetti

多年来我一直试图捕捉复杂软件和繁杂软件之间的区别,我想我终于明白了。我们可以将项目分为 4 个象限!

在一个轴上,你有难与易构造。在另一个轴上,是解决方案已知与未知。

琐碎(Trivial) 的项目易于构建,而且你知道你在构建什么。这些是完美的自由职业项目。想想餐厅的小册子网站,一个独立的数据可视化小部件。任何范围明确、有明确开始和结束的项目,没有未知数。

挑战性(Challenging) 的项目易于构建,但你不知道最终结果是什么样的。这些项目最适合内部团队。增长工程是一个很好的例子------你正在推动一个OKR(转化、保留)并尝试不同的事情来优化。每个单独的功能都很容易构建,但你无法提前知道哪些功能会起作用。

复杂(Complicated) 的项目很难构建,但你知道最终结果是什么样的。这些都是优秀的机构或内部精干专家团队的项目。默认情况下,他们属于某种平台团队。想想将一个老旧的代码库重构为现代标准,将一个古老的框架升级到新版本,或者在一个没有未知的领域构建一个范围严格的功能。

繁杂(Complex) 的项目很难构建,而且你不知道最终结果是什么样的。这些需要一个参与其中的内部团队。在我看来,这是好事。想想整个 SaaS 产品、未知环境中的新功能、使旧代码适应新需求......你需要迭代开发和衡量进度的方法。这些项目的一切都很困难。

计划可以帮助你将项目从Complicated转移到ComplexChallenging。你可以估计并理解足够小的一部分。这通常是一个"Story"。

尽量避免同时具有未知数和难以构建的Story。如果你正在深入研究代码库的新领域或集成新的提供者,你应该更倾向于易于构建的功能。如果你正在构建像新算法这样复杂的东西,则更倾向于提前澄清所有未知因素。

你不能通过前期计划使复杂项目变得琐碎。到了准备好的时候,你可能就已经完成了工作。

干杯, ~Swizec

发布于2024年4月16日在软件工程复杂性

继续阅读从琐碎到复杂 -- 4 个软件象限

由GPT-4挑选的相关的文章:

相关推荐
老鱼说AI2 分钟前
大规模并发处理器程序设计(PMPP)讲解(CUDA架构):第四期:计算架构与调度
c语言·深度学习·算法·架构·cuda
程序员小假4 分钟前
我们来说一下 b+ 树与 b 树的区别
java·后端
Meepo_haha36 分钟前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
sheji34161 小时前
【开题答辩全过程】以 基于springboot的房屋租赁系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Victor3562 小时前
MongoDB(57)如何优化MongoDB的查询性能?
后端
Victor3562 小时前
MongoDB(58)如何使用索引优化查询?
后端
行百里er2 小时前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·代码规范
码财小子2 小时前
聊聊 C++ 模块“注册式”的优雅姿势
后端·代码规范
掘金码甲哥2 小时前
higress 这个中登才是AI时代的心头好
后端
IT_陈寒2 小时前
一文搞懂JavaScript的核心概念
前端·人工智能·后端