【转载】架构师的行为准则(一)

    最近看了一本书《软件架构师应该知道的97件事》,本来并没对它抱有太多期望和兴趣,毕竟这种讲大道理的书不可能带来什么实际收获,但看的过程中被里面中肯实在的建议给吸引,对于我这种在走向架构师这条路上常常迷失方向的人,实在是雪中送炭。读完后,决定选择其中对我有触动的条目,加上实际工作中的感悟,形成一套自认为正确的架构师行为准则,以此来矫正自己的行为。 

客户需求高于一切 
      不要为了自己的项目经历上添加光彩而去一味追求时髦而光鲜的方案,而是应该扎根客户需求,脚踏实地地为客户着想,这样才能更体现技术的价值,不至于迷失方向。架构师首先不要把自己当做技术人员,而是业务人员,把实现业务需求作为至上的目标,学会拒绝成本高,性价比不高的技术。 

简化根本复杂性 
      常常为了解决某一局部复杂性引入了更为复杂的框架或产品,使得复杂性不减反增。往往正确的方式是做减法而不是加法,把最根本的复杂源找到,把根铲除。 

关键问题可能不是出在技术上 
      总结失败的项目常常会纠结于选择了错误的技术。其实技术并没有错,而是在使用技术上或是在执行过程中人为的偏差导致。而架构师解决这种人为的问题比较好的方式是沟通,通过有效地沟通把技术贯彻下去。 

以沟通为中心,坚持简明清晰和开明的风格 
      架构师不要坐在象牙塔里,命令开发人员实施你的设计和决策,而是应该尽量简化你的设计,透彻地与他们沟通,并且关键在于开明地接受他们的建议并勇于推翻自己的决策。 

架构决定性能 
      最好提升性能的方法不是痛苦地做一次次对即将上线的产品做性能测试和提升,而是在架构设计的时候就把性能作为重要因素,从架构底层考虑分布式、缓存、系统交互划分等影响性能的重点。提前关注性能,是解决性能问题代价最小的方式。 

分析客户要求背后的真实需求 
      合同上或UC上只是客户的要求,而并非100%是客户真实的需求,架构师的重要责任就是挖掘隐藏在要求背后的真实需求,这个不但可以最大化满足客户,也往往可以帮助我们避开技术壁垒,当真正抓住客户需求的时候,我们也许能用更为简单的替代方案满足客户。 

沟通是架构师达成目标的核心技能 
      常用的沟通技能和准则有以下几点: 

  • 不要把沟通当做对抗
  • 不要带有情绪与人沟通
  • 表达自己方案之前倾听他人观点
  • 站立发言是扩大沟通影响力的一种好方式
  • 学习业务或技术领域中的行话,降低沟通成本
  • 不要为预防故障引入更多的故障

      架构师常常会为识别出的可能故障点加入监控措施,但往往会忽略做些监控措施也是会有故障的,不要试图让你的系统天衣无缝,这往往是使系统更为复杂和脆弱的来源。先承认是系统总会有缺陷的,只是把这些缺陷设定为容易察觉和维护的点。 

量化非功能性需求 
      往往功能性需求容易量化,因为这些是看得见和摸得着的,但像性能好、可扩展性好、高可用性等这些非功能性需求却不好量化,但作为架构师要有意识地去定义和量化这些需求,只有这样才能更好地和其他部门更好沟通,谋求更多资源,也便于系统更有效地验收。 

一行代码比500行架构说明更有说服力 
      架构师往往喜欢待在象牙塔里,堆砌大量架构文档,然后希望其他开发人员能乖乖地去实施。这样做的效果往往是不好的,一方面很难有这样的牛人能洞察所有的细节,在文档里就预测性地解决了所有问题,另一方面也不利于架构师与开发人员的沟通。比较好的做法是架构师参与具体实施,在实施中验证和改进架构设计,与大家达成一片也便于加深彼此配合的默契程度。 

不存在放之四海皆准的解决方案 
      不存在最好的架构,只有最合适的架构。不会有一种架构方案,在任何项目里都适用。虽然我们承认模式的重要性,但在实际项目里要有选择性吸收,根本上要从本项目和实际困境出发,不要被既有的模式和经验先入为主,因为没有一种已有方案能完全不修改地适用于你。 

架构设计要平衡兼顾多方需求 
      架构师从某种角度来讲就是一剂胶水,把业务部门的需求、项目进度的需求、测试的需求和开发工程师本身的需求有效地捏合在一起,平衡与兼顾以至达到皆大欢喜。其他职能的人都只是focus在某一局部,需要架构师这样的人来通盘考虑,因此他的工作是最杂的,绝不是简简单单地拿出一份架构文档就OK了,需要考虑系统安全、易用性、可测性、商业价值、长期规划、发布管理和部署方式,使得各个部门人的需求得到响应。 

时间: 2024-10-24 18:53:23

【转载】架构师的行为准则(一)的相关文章

【转载】架构师的行为准则(三)

让开发人员自己做主       架构师虽然需要为系统的设计负责,但无须包揽所有的设计工作,应该给予团队成员足够的自主权,让他们发挥自己的创意和能力,你的工作是确保大家的工作能很好的组合在一起,帮助他人解决棘手困难.当你发现同事遇到麻烦时,可以主动给出建议,但更可取的做法是创造良好的氛围,让大家主动向你征求意见.  控制项目规模       架构师要试图避免做那种"超大型"系统,因为这种系统往往难以控制,控制项目规模的办法通常有:  抓住真正需求 分而治之 设置优先级 尽快交付原则 架构

【转载】架构师的行为准则(二)

先确保解决方案简单可用,再考虑通用性和复用性       系统的复杂性往往是架构师基于通用性和复用性的设计而引入的,很多具体问题往往不需要通用性和复用性的解决方案.如果存在多个可实施方案难以取舍,先简单后通用原则可以成为最终的评判标准.架构师提供具体解决方案时,无需排斥通用和灵活,但是如果过早脱离具体情况,只会迷失在无限的可能性里,被复杂的配置选项.超负荷的参数列表.冗长罗嗦的接口,以及存在缺陷的抽象所淹没.先简单满足需求,当重复需求再次发生时,通过重构来达到复用是一种不错的方式.  架构师应该

【转载】架构师不可不知的十大可扩展架构

     可扩展性正是如今软件设计领域最值得优先考虑的要素.然而,计算机科学家们还无法了解一套单独的架构如何才能扩展至各类应用环境当中.相反,我们在数量繁多的方案中所设计出的可扩展性架构,往往以业界较为通用的已知可扩展模式及个人偏好为标准.本文列出了十大大家耳熟能详的可扩展性架构,以供借鉴.      对于大多数架构师而言,"可扩展性"在软件架构方面是最虚无缥缈的说法.这毫不奇怪,因为可扩展性正是如今软件设计领域最值得优先考虑的要素.然而,计算机科学家们还无法了解一套单独的架构如何才能

[转]在创业公司做架构师,你需要解决哪些问题?

[转]在创业公司做架构师,你需要解决哪些问题? 前言 嗨!大家好啊!今天在开发者头条上面看到了这篇文章,确实讲的特别到位,也特别符合现状,所以转载过来希望大家喜欢! 如原文作者不希望转载,请联系! 附上: 喵了个咪的博客:http://w-blog.cn 原文地址:http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=409857380 在创业公司做架构师,你需要解决哪些问题? 河狸家的架构师陈科是千万技术创业者中的一位,在此之前,他曾在浙江电

【阿里飞天】阿里飞天平台总架构师唐洪:飞天开放平台

中国最具影响.规模最大的大数据领域盛会--2013中国大数据技术大会(Big Data Technology Conference,BDTC)于2013年12月5-6日在北京举行.数十家领军企业,近七十场主题演讲,不仅覆盖Hadoop生态系统与流式计算,实时计算与NoSQL.NewSQL等技术方向,还对互联网.金融.电信.交通.医疗等创新案例,大数据资源的法律法规.大数据商业利用的政策管制等有深入讨论. 阿里飞天平台总架构师唐洪带来的分享是"飞天开放平台",唐洪认为大数据和云计算可以说

架构师的技术领导力之路:看环信一乐聊些什么

小欧有话说: 全球技术领导力峰会(GTLC)30日[Tim会客厅]环节,迎来了EGO北京分会第2小组的3名成员--环信首席架构师梁宇鹏.爱因互动联合创始人兼CTO洪强宁.当当架构部总监史海峰,一起聊聊他们的技术领导力之路. 主持人(左一):杨卫华(Tim Yang),新浪微博研发副总经理 从技术人到领导者 Tim:大家先做一个简单的自我介绍吧! 梁宇鹏:在技术圈大家都叫我一乐,我来自环信,这是一家做即时通讯云服务和全媒体智能客服的公司,我是环信的首席架构师,同时也兼任IM事业部技术总监,负责即时

系统架构师是怎样炼成的?

转自:http://www.educity.cn/rk/sa/200901191150471701.htm 坦率的讲,除了少数对开发程序极其热爱并愿意为之奋斗终身的编程者来说,对于大多数开发人员,写代码只是他们未来获得职业提升的一个必不可少的积累阶段,在做开发的时间里,他们会积极学习各种知识,经验,培养自己的商业头脑,包括扩展自己各方面的资源,这些积累会为他们未来成为管理者或创业打下牢固的基础. 成为架构设计师是广大开发者职业发展道路之一,架构师究竟是个什么样的职业?需要具备什么基本能力?如何才

成为安全架构师需要了解什么

虽然安全架构师成长的路径各不相同,但任何考虑从事这一职业的人都应该对IT基础设施和数据保护充满热情. 根据InfoSec研究所的报告,安全架构师是负责维护其组织计算机系统安全的人员,因此他们必须能够像黑客一样思考,以便预测攻击者可以使用这些策略来获得对这些系统的未经授权的访问.任何在这个职位上的人都可以期待偶尔工作几个小时,并且需要不断更新最新的安全威胁和可用的工具. 任何在这个职位上的人都可以期待偶尔工作几个小时,并且需要不断更新最新的安全威胁和可用的工具. 有时候,最终担任安全建筑师角色的人

一线架构师实践指南:证券行业应如何构建一体化监控体系?

一体化监控各个厂家.不同类别的监控就像一座座孤岛占满了我们的监控屏.由于各种监控就像铁路警察各管一段,有些复杂的故障问题或性能问题的定位就变的很复杂,影响了问题的快速定位和故障处置.   如何构建一个一体化监控体系(或者整体监控体系),让IT运维人员掌控系统的整体运行情况和运行效能,预知未来系统运行的趋势,确保系统的安全稳定.高效运行,成为一个愈来愈紧迫的问题.   本文内容选自该领域专家曹贝及AIX专家俱乐部社区会员的精彩观点.   专家介绍   曹贝,北京邮电大学计算机硕士,多年的互联网研发