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

原文: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挑选的相关的文章:

相关推荐
程序员爱钓鱼28 分钟前
Go语言实战案例——进阶与部署篇:编写Makefile自动构建Go项目
后端·算法·go
canonical_entropy1 小时前
DDD本质论:从哲学到数学,再到工程实践的完整指南之实践篇
java·后端·领域驱动设计
该用户已不存在1 小时前
别再用 if err != nil 了,学会这几个技巧,假装自己是Go大神
后端·go
1 小时前
从0开始搭建web应用
后端
Ray662 小时前
guide-rpc-framework笔记(四):网络编程
后端
Moonbit2 小时前
安装Wasm版的MoonBit工具链
后端·node.js·webassembly
法欧特斯卡雷特2 小时前
从 Kotlin 编译器 API 的变化开始: 2.2.2X -> 2.3.0-Beta1
后端·架构·开源
zjjuejin2 小时前
Maven 现代开发流程的集成
java·后端·maven
hrrrrb2 小时前
【Spring Boot】Spring Boot 中常见的加密方案
java·spring boot·后端
Lilian2 小时前
Trae通过ssh远程访问服务器linux系统不兼容问题
后端·trae