写点什么

架构是否会在开发人员和应用之间划出鸿沟?

  • 2007-12-16
  • 本文字数:917 字

    阅读完需:约 3 分钟

当今,在软件社区内的众多努力,都旨在帮助软件专业人士和业务人士相互理解,顺畅沟通。有些博客的作者则从另外一个角度来看待这个问题,指出了开发人员和他们所开发的软件之间的一条鸿沟

Jeff Attwood 认为,Amazon 常常让开发人员参与到客户服务中去的这种做法,对于提高软件质量和可用性是大有裨益的。他相信,“绝大多数时候,软件开发者仅仅是他们自己代码库的过客”。这种状况的出现,是因为他们缺少对软件用户,以及用户的问题和思维的基本理解。这也就是他在之前的博客中所提到的“象牙塔中的软件开发”:

没有任何足以服人的证据,开发人员便假定其它所有人都是开发人员……开发者越孤立,其最终产品也就越糟糕。纵然大多数团队中都有业务分析专家,以充当开发者和用户之间的隔离层为己任,那也是无济于事……想创建一个让开发人员对用户毫无所知的环境是极其危险的。

按照 Abhijit Nadgouda 的说法,今天的这个行业的特点是层次结构和各层之间的信息隐藏(译者注:请自行翻墙)。他特别指出,这一点简化了管理工作,并让业务变得更加安全,但是对软件质量却有着负面影响:

我们在项目中创建了一个层次结构,每一层都向低层隐藏了一些信息。软件开发团队中有多少人了解他们所开发的软件的价值,或是它对于客户业务的重要性?又有多少人了解他们所工作的代码之外的其它项目组成部分?……

看上去,在更好的业务与更好的软件开发之间有着断层。这就是为什么我相信我们中的很多人善于经营业务,但是我们这个行业却仍受困于软件开发。

Reg Braithwaite 在尝试指出为什么“我们仍受困于软件开发”(译者注:请自行翻墙)时特别提出,我们这种“把经验最少的人置于保护之下以免破环代码”的拆分项目工作的方式也许是错误的。

基于这种工作方式的架构,明显是趋向于通过抽象来简化开发者的工作。如果把它推向极致,开发者的工作就从功能性的环境中脱离开来,变成了纯粹的技术工作,由此便在开发者和他们所开发的软件之间,划出了一道潜在的鸿沟。

你的观点是什么?这种保护性的架构对于软件质量是一种障碍吗?让开发者对项目全景一无所知的架构会是有效的吗?它能够交付软件和价值吗?

查看英文原文 Can architecture create a gap between developers and software they build?

2007-12-16 13:03892
用户头像

发布了 197 篇内容, 共 58.0 次阅读, 收获喜欢 20 次。

关注

评论

发布
暂无评论
发现更多内容

从“青铜”到“王者”,制造企业的数字化闯关记

脑极体

Hessian Hessian2 JDK 序列化性能对比

water

湖仓一体电商项目(五):内网穿透工具-网云穿

Lansonli

湖仓一体 11月月更

随机森林-随机森林在乳腺癌数据上的调参

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

Flowable 已经执行完毕的流程去哪找?

江南一点雨

spring springboot workflow flowable

CSS学习笔记(二)

lxmoe

CSS 前端 学习笔记 11月月更

2022-11-08:以下go语言代码输出什么?A:2;B:编译错误;C:运行 panic。 package main import “fmt“ func main() { a := []int

福大大架构师每日一题

golang 福大大 选择题

Flowable 设置流程变量的四种方式

江南一点雨

springboot flowable

峰会实录 | StarRocks存储引擎近期进展与实时分析实践

StarRocks

数据库·

Go 微服务实战之如何实现加解密操作的微服务开发

宇宙之一粟

Go 微服务 Go 语言 11月月更 go-micro

【愚公系列】2022年11月 微信小程序-app.json配置属性之pages

愚公搬代码

11月月更

常用外设原理介绍

芯动大师

硬件设计 11月月更 常用外设

跟着卷卷龙一起学Camera--低延迟01

卷卷龙

ISP camera 11月月更

跟着卷卷龙一起学Camera--低延迟02

卷卷龙

ISP camera 11月月更

算法题学习---合并两个排序的链表

桑榆

算法题 11月月更

制胜出海赛道 华为应用海外联运助力开发者获量增长

叶落便知秋

华为开发者大会2022

【奖项征集】参与第四届中国“数据质量管理”奖项评选,DQMIS 2022门票免费领!

数据质量管理智库

数据 数据治理 数据安全 数据隐私计算 数据要素

一个好的安全团队应该具有怎样的素质

穿过生命散发芬芳

11月月更 安全团队

Vue基础学习(一)

Studying_swz

Vue 11月月更

云原生系列三:K8s应用安全加固技术

叶秋学长

#k8s K8s 多集群管理 安全加固 11月月更

筑牢数字基础设施:华为笔下的中国诗意

脑极体

人工智能「

如何在 Rocky Linux 上安装 MinIO 存储?

wljslmz

对象存储 S3 Minio Rocky Linux

C 语言字符串常用库函数

Maybe_fl

湖仓一体电商项目(四):项目数据种类与采集

Lansonli

湖仓一体 11月月更

Vue自定义指令(二)浅窥

Augus

vue.js 11月月更

索引的基础知识

阿泽🧸

索引 11月月更

快速搭建Jenkins集群

程序员欣宸

DevOps jenkins 11月月更

跟着卷卷龙一起学Camera--偏振相机

卷卷龙

ISP camera 11月月更

深入理解Metrics(二):Counters

冰心的小屋

Java metrics Counters

张益唐111页论文攻克朗道-西格尔零点猜想

老周聊架构

数学 11月月更 朗道-西格尔零点猜想

Vue基础学习(二)

Studying_swz

Vue 11月月更

架构是否会在开发人员和应用之间划出鸿沟?_研发效能_Sadek Drobi_InfoQ精选文章