10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

  • 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:031054
用户头像

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

关注

评论

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

ARTS-week 4

steve_lee

在公司九年被裁是谁的问题?

石云升

离职 28天写作 职场经验 3月日更

位运算符在 JS 中的妙用

浩浩子

力扣(LeetCode)刷题,简单+中等题(第26期)

不脱发的程序猿

面试 LeetCode 28天写作 算法面经 3月日更

SpringBoot + Mybatis + Druid + PageHelper在多数据源下如何配置并实现分页

北游学Java

Java mybatis spring Boot Starter

音视频开发经验之路【三】吐血干货,直播首屏耗时400ms以下的优化实践

鱼哥

音视频

一个视频带你编译自己的Android系统!

刘望舒

android Android进阶

MySQL主从架构原理

无心

MySQL

我对PageRank 算法的理解

跳蚤

如何学习数据结构与算法

C语言与CPP编程

数据结构 算法

shell学习

我是程序员小贱

3月日更

MySQL 锁

无心

MySQL

深圳应用区块链提升政务服务效能调查

CECBC

电子发票

智能时代的TCL之舞

脑极体

2021拼多多(Java岗)面经最新分享

比伯

Java 编程 架构 面试 计算机

框架是教科书,但是思考架构更有价值

吴脑的键客

架构师 知识图谱

Redis 作为缓存是如何工作的

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

是时候下载Android11系统源码和内核源码了~

刘望舒

android Android进阶

刘华:看板那么好,为什么都成了摆设?

刘华Kenneth

架构 敏捷 精益 看板

操作系统的内存管理(中)

鲁米

操作系统 内存管理

推荐引擎概述

跳蚤

用栈、回溯算法设计迷宫程序

不脱发的程序猿

回溯算法 28天写作 3月日更 迷宫程序

Img、net & page新展望:连接感知

云小梦

JavaScript html 网络 用户体验 连接感知

『BATcoder』都2021年了,是时候安装Ubuntu了!

刘望舒

android Android进阶

金三试水Java社招,历经“阿里+字节+bigo”等5家面经

Java架构师迁哥

第八章作业—张红珊

zzz

加密解密之 crypto-js 知识

浩浩子

你真的知道基于区块链的「云计算」是什么吗?

CECBC

云计算

区块链列入数字经济重点产业 机构预测其大规模应用将加速

CECBC

数字经济

使用 Typescript 的一些注意事项

浩浩子

Java 并发基础(一):synchronized 锁同步

看山

Java Java并发 并发编程

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