写点什么

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

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

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

关注

评论

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

不是吧阿sir,你这计算机网络也太熟了,震惊面试官一整年

Java 程序员 后端

业务中台的困境、及可能的解,java基础笔试题判断题

Java 程序员 后端

为什么分布式一定要有Redis?,java面试逻辑题三个开关三盏灯

Java 程序员 后端

为什么大公司要使用微服务?(建议收藏),java基础案例教程第二版答案

Java 程序员 后端

二叉树的各种算法面试题及答案解析,linux基础教程第二版pdf

Java 程序员 后端

不是吧工作3年你都不知道这份超详细JVM内存结构,怎么涨薪?

Java 程序员 后端

为了你们不错过金三银四,我真是操碎了心!RabbitMQ面试真题来了

Java 程序员 后端

二十不惑的年纪,竟4面拿下字节跳动offer,我简直走了,jdk和jre区别面试题

Java 程序员 后端

五位阿里大牛联手撰写的《深入浅出Java多线程》,java开发视频直播

Java 程序员 后端

不是吧阿sir,你这业务太熟了吧,震惊面试官第八年,献给真心想学Java的打工人

Java 程序员 后端

世界顶级Linux技术大神,耗时一年力作1300页Linux开发实战

Java 程序员 后端

两年半,50W的offer,三本,springboot运行原理生命周期

Java 程序员 后端

互联网寒冬下!疫情又遭滑铁卢!从裁员到斩获新offer我经历了什么

Java 程序员 后端

不能错过的分布式ID生成器(Leaf-),积累总结

Java 程序员 后端

两道面试题,带你解析Java类加载机制,零基础也能看得懂

Java 程序员 后端

为了进大厂,我深扒了阿里字节等大厂面经,总结了50道必考题

Java 程序员 后端

为什么阿里巴巴不建议在for循环中使用”+,java编程技术开发题库和答案

Java 程序员 后端

为什么建议大家使用 Linux 开发?爽(外加七个感叹号,java高级编程实训总结

Java 程序员 后端

为什么要谨慎使用Arrays-asList、ArrayList的subList?

Java 程序员 后端

为什么说简历很重要?怎么才能写出一份完美的简历?这篇文章你值得拥有

Java 程序员 后端

九年程序员生涯,我的一些经验教训,offer来了java面试百度云版

Java 程序员 后端

互联网架构“高并发”到底怎么玩,用Elasticsearch搞定日均1亿订单查询

Java 程序员 后端

上线GitHub七天后就标星87,并发知识体系大全

Java 程序员 后端

不是吧工作3年你都不知道这份超详细JVM内存结构,怎么涨薪?(1)

Java 程序员 后端

15个问题自查真的了解java编译优化吗

华为云开发者联盟

Java 编译 对象 语义 符号表

丹丹学妹哭着对我说:学长,JVM如何实现动态类型语言支持的呢

Java 程序员 后端

明道云在保险经纪公司中的应用场景例举

明道云

不是吧阿sir!System,java面试问项目中遇到的技术难点

Java 程序员 后端

世界顶级SQL技术专家呕心沥血半年才整理出这份:SQL优化核心思想笔记,手慢无

Java 程序员 后端

两年Java开发经验,混迹“中浩科技,java全套百度云视频

Java 程序员 后端

二面余额宝(交叉面),mybatis功能架构

Java 程序员 后端

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