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

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

相关推荐
Java水解7 分钟前
深入浅出:在 Koa 中实现优雅的中间件依赖注入
后端·koa
lssjzmn18 分钟前
构建实时消息应用:Spring Boot + Vue 与 WebSocket 的有机融合
java·后端·架构
new_daimond19 分钟前
牛刀小试之设计模式
设计模式
金銀銅鐵21 分钟前
[Java] 浅析可重复注解(Repeatable Annotation) 是如何实现的
java·后端
用户81744134274821 分钟前
Kubernetes集群核心概念 Service
后端
掘金一周24 分钟前
凌晨零点,一个TODO,差点把我们整个部门抬走 | 掘金一周 9.11
前端·人工智能·后端
yeyong24 分钟前
日志告警探讨,我问deepseek答,关于elastalert
后端
o0向阳而生0o26 分钟前
101、23种设计模式之享元模式(10/23)
设计模式·享元模式
Cyan_RA929 分钟前
SpringMVC 执行流程分析 详解(图解SpringMVC执行流程)
java·人工智能·后端·spring·mvc·ssm·springmvc
new_daimond1 小时前
设计模式-策略模式深度分析
设计模式·策略模式