成就职业理想:九十七条架构师必知的事情

51CTO 发表于:11年06月29日 10:16 [转载] 51CTO

  • 分享:
[导读]本文是刘昆云编译的,文中列举了97条架构师应该了解的事情,希望对你有所帮助。

60. Start with a Walking Skeletonby Clint Shank

【从可行走的骨架开始】

软件开发中,越早发现问题,修改的代价越小。因此,要及早将各个部分联接起来,形成一套可行走的骨架,按照用户需求的优先级,先验证重要的需求。验证一轮后,进行下一轮开发,调整骨架、补充肌体,实现生长,等待后续的验证。通过这种迭代、演化的方式,保证项目向正确的方向前进。

61. Share your knowledge andexperiencesby Paul W. Homer

【分享你的知识和经验】

软件业是一个年轻的行业,每个人都需要学习和进步。和他人分享你的知识、经验,让我们大家都发挥出全部的潜力,让这个行业的明天更加灿烂。

62. Make sure the simple stuff issimple by Chad LaVigne

【简单事情简单办】

设计人员往往会炫耀自己的知识,对简单的问题设计复杂的解决方案。复杂的方案往往走向延期、成本超支甚至失败。把聪明才智留着对付真正复杂的问题吧,不要再把问题复杂化。今天的事情今天办,也不要把今天的问题拖到明天,以为和明天的问题一起解决是什么智慧。要知道,处理了今天的问题,才能通过反馈引出明天的需求。

63. If you design it, you should beable to code it. by Mike Brown

【只设计自己会编码的架构】

架构师总是想创造精巧而新潮的设计。可是这样的设计对项目其实是有影响的。如果使用了一些自己没有动手做过的框架或者模式,不仅不能准确地估计工作量,而且还带来开发人员学习周期不明、新元素隐藏的问题不明、削弱开发人员对架构师的信任、给项目带来不必要的风险等副作用。记住:架构师首先是开发人员。

64. The ROI variable by GeorgeMalamidis

【计算投资回报】

在软件项目中的每一项决策,都可以视为是投资。投资是讲求回报的,即便不是金钱上的回报,也要给项目干系人带来某种可见的好处,比如降低缺陷。把投入的成本和预期的回报相比较,计算出回报率,才能合理地确定是否要做某件事。

65. Your system is legacy, designfor it. by Dave Anderson

【系统即遗产,需要精心设计】

一个系统即便最业务前卫、技术先进,对于下一任负责人来说,也是一份遗产。当今软件的特点就是迅速淘汰。如果想自己的系统投入生产,存活哪怕只是几个月,也得接受一个现实,那就是维护人员需要修修补补。这意味着:

清楚——各个组件和类的执行条理清楚;

可测——系统各部分的特性容易验证;

正确——系统按设计或常规运行;

追溯——为不了解系统内部情况的人提供问题追溯信息,以便快速定位和修复缺陷。

要抱着为继任者留下遗产的态度来设计系统。

66. If there is only one solution,get a second opinion by Timothy High

【只有一个对策时,请教他人吧】

软件架构是在各种条件下对某个问题提出解决方案。如果只能想出一个对策,这个对策往往不是最佳的,因为很难用一个解决方案满足所有条件,通常有个按照需求的优先级进行取舍的过程。只能想出一个对策,也许是因为自己缺乏经验,或者自己的经验不适于新的问题领域。比如,一个长期设计三层结构的客户端-服务器应用的人,碰到的是浏览器-服务器领域的问题。去向其他处理过类似问题的人请教,才能获得更好的意见。

67. Understand the impact of changeby Doug Crawford

【理解变化的影响】

好的架构师能把复杂度降到最低,并能设计出通用程度足以经受变化考验的解决方案。所谓变化,表现为:功能需求变化、规模演变、系统接口修改、团队人员进出等等。软件项目中变化的广度和复杂度是无法预测的,不能避免前进道路上所有的波折。但架构师应该识别出那些事关项目成败的大波折。他不仅要管理变化,还要确保变化是可管理的。比如:一个高度分布的系统,对流程的变化是在所难免的,可是又要承载长期运行、有状态的事务,那么就必须要设计成能同时支持新老版本的过程。

68. You have to understand Hardwaretoo by Kamal Wickramanayake

【必须了解硬件】

架构师不仅要关注软件架构,也要关注硬件容量。硬件容量规划是系统设计中的一个重要部分。如何准确地预测用户数量及其变化趋势,如何评估硬件的发展,都是做容量规划的必备知识。

69. Shortcuts now are paid backwith interest later by Scot Mcphee

【现在节省的,将来加倍还】

在项目开发阶段,可能会省略哪些不产生直接价值的工作,比如单元测试,又比如设计优化。现在节省了一点工作,将来系统进入维护阶段以后,要改正隐藏的错误,要花几倍的代价。

70. "Perfect" is theEnemy of "Good Enough" by Greg Nyberg

【优秀是良好的敌人】

作为软件解决方案,做到良好就行了,不要为了追求优秀而过度设计。良好的东西,在功能性、可维护性、性能指标等方面都能满足一般要求。如果过度追求优秀,可能突出了某一方面,而损害了其它方面,为系统的长期运行维护带来不好的影响。

71. Avoid "Good Ideas"by Greg Nyberg

【别提“好点子”】

当项目在按部就班地前进的时候,大家都感觉良好。这时有人就会提出所谓的好点子。比如:

“如果在这里改动一下,就太酷了。”

“嗨,他们又发布那个框架的新版本了,我们得赶紧更新。”

“一边开发新模块,一边重构老模块。”

“这项技术太强大了,可以用在我们的项目上。”

“我帮你想了一下,发现一个好主意!”

这些好点子往往是项目杀手。一旦付诸实践,对项目造成的改动不是当初想象的那么简单。除了极个别之外,大部分会把项目慢慢地拖入深渊,有的甚至会让项目迅速失败。

72. Great content creates greatsystems by Zubin Wadia

【好内容成就好系统】

不管系统的需求分析、设计、开发、安全、维护做得多好,如果忽略了内容建设,则它都不会是一个好系统。对于那些以内容为基础的系统来说,内容就是成功和失败的分界线,FaceBook 对 Orkut, Google 对 Cuil,NetFlix 对 BlockbusterOnline,等等,都是以内容取胜的例子。评价内容时,考虑一下几个条件:数量是否足够?时间上是否及时?渠道上是否丰富 (RSs、纸质表单、电子邮件等)?

73. The Business Vs. The AngryArchitect by Chad LaVigne

【业务人员与愤怒的架构师】

架构师是为业务人员服务的,要忍耐,不要和业务人员争吵。如果你和他们分歧实在太大,那就只有换个自己觉得轻松的地方了。

74. Stretch key dimensions to seewhat breaks by Stephen Jones

【撑大关键维度,发现破绽】

系统各方面的处理能力是有一定的前提条件的。这些前提条件在实际运行中有可能发生变化。对于系统的关键维度,要进行验证,看看如果运行负荷超出,哪些地方会被撑破。

75. Before anything, an architectis a developer by Mike Brown

【架构师首先是开发者】

架构设计要落实到开发工作。如果你设计它,你就要能够编码它。如果连你都不知道如何编码,别指望别人能编码。

76. A rose by any other name willend up as a cabbage by Sam Gardiner

【玫瑰不叫玫瑰,它就沦落到白菜的地位】

如果你不知道如何称呼一个系统,你就不可能编写它。如果你对一个系统三改其名,你最好先停下来想想到底要做什么,不要急于构建它。

77. Stable problems get highquality solutions by Sam Gardiner

【稳定的问题才有优质的解决方案】

现实世界的解决方案不是挑战有难度的学术研究。设计现实的方案时,要把问题划分为稳定、有限的小块,再针对明确的小块来进行解决。稳定的问题得到稳定的设计,稳定的设计得到优质的解决方案。

78. It Takes Diligence by BrianHart

【勤勉】

一招不慎,满盘皆输。架构师应当勤勉,认认真真做好每一项平凡的工作。

79. Take responsibility for yourdecisions by Yi Zhou

【对决策负责】

大约三分之二的项目是失败的,表现有工期延误、预算超支、用户不满等。失败的重要原因是架构不当。通过以下几条,可以做到对架构决策负责:

准备决策时,务必反复推敲;

进行决策时,务必决策有据(书面凭据);

做出决策后,做到定期自评;

有疑难问题,请教领域专家。

[责任编辑:韩蕊]
Ruby
SAP分享了多年来对企业运营变革的洞察,以及SAP Business Suite powered by HANA如何推动企业在对业务影响最小的情况下向实时企业转型,从而帮助企业实现更睿智的业务创新、更快速的业务流程和更简化的业务交互。发布会现场,SAP公司宣布,中国最大的瓶装水生产商——农夫山泉成为基于 SAP HANA 的SAP Business Suite在中国的首家客户。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.