转载自:http://blog.csdn.net/seanbv/archive/2010/04/05/5451705.aspx
软件架构师应该知道的97件事:
客户需求重于个人简历
(
Nitin Borwankar
)
客户需求至上。沽名钓誉,事与愿违。
简化根本复杂性
,消除偶发复杂性
(
Neal
Ford
)
分析问题好比拨云见月、水落石出。
关键问题可能不是出在技术上
(
Mark
Ramm
)
团队同心,其利断金。
以沟通为中心,坚持简明清晰的表达方式和开明的领导风格
(
Mark Richards
)
沟通应当言简意赅、详略得当,别拖泥
带水。
架构决定性能
(
Randy
Stafford
)
种瓜得瓜,种豆得豆,架构设计也是一
样道理。
分析客户需求背后的意义
( Einar Landre
)
抽丝剥茧,洞见症结。不要被表面需求
迷惑。
起立发言
(
Udi Dahan
)
起立发言效果更好。
故障终究会发生
(
Michael
Nygard
)
应该提前设计预防措施,限制故障。
我们常常忽略了自己在谈判
(
Michael
Nygard
)
工程师应该适时转换角色,学习谈判的
技巧。
量化需求
(
Keith Braithwaite
)
没有规矩,不成方圆。
一行代码比五百行架构说明更有价值
(
Allison Randal
)
可工作的代码才是目标,设计只是达成
目标手段。
不存在放之四海皆准的解决方案
(
Randy
Stafford
)
软件世界没有万能*钥匙。
提前关注性能问题
(
Rebecca Parsons
)
尽早展开性能测试。
架构设计要平衡兼顾多方需求
(
Randy
Stafford
)
平衡兼顾项目的技术需求和相关各方的业务需求。
草率提交任务是不负责任的行为
(
Niclas
Nilsson
)
要设法杜绝开发人员草率提交任务的念头。
不要在一棵树上吊死
(
Keith Braithwaite
)
为客户提供多样化的解决方案。
业务目标至上
( Dave Muirhead
)
技术决策不能脱离业务目标和现实条件的约束。
先确保解决方案简单可用,再考虑通用性和复用性
(
Kevlin Henney
)
架构师应该亲历亲为
( John Davies
)
身先士卒才能赢得同事的信任。
持续集成
( David Bartlett
)
避免进度调整失误
( Norman Carnovale
)
不惜一切代价拒绝调整项目进度的要求。
取舍的艺术
(
Mark Richards
)
架构不可能满足所有需求。
打造数据库堡垒
(
Dan Chak
)
一开始就要定义好数据模型。
重视不确定性
(
Kevlin Henney
)
推迟决策,建设性地利用不确定性。
不要轻易放过不起眼的问题
( Dave Quick
)
别忘了温水煮青蛙的故事。
让大家学会复用
(
Jeremy Meyer
)
重复利用已有资源,首先要改变大家的观念。
架构里没有大写的“I
”
( Dave Quick
)
变让自己变成自大狂。
使用“
一千英尺高”
的视图
(
Erik
Doernenburg
)
选择合适的架构视图。
先尝试后决策
(
Erik
Doernenburg
)
掌握业务领域知识
(
Mark Richards
)
程序设计是一种设计
( Einar Landre
)
软件开发也分成设计和生产两个阶段。
让开发人员自己做主
( Philip Nelson
)
时间改变一切
( Philip Nelson
)
选择值得投入精力的工作,别跟以前的工作过不去。
设立软件架构专业为时尚早
( Barry Hawkins
)
控制项目规模
( Dave Quick
)
架构师不是演员,是管家
( Barry Hawkins
)
别忘了你的工作责任。
软件架构的道德责任
(
Michael
Nygard
)
架构师的决定会影响许多人,务必慎重。
摩天大厦不可伸缩
(
Michael
Nygard
)
但软件可以。
混合开发的时代已经来临
(
Edward Garson
)
性能至上
(Craig Russell
)
留意架构图里的空白区域
(
Michael
Nygard
)
空白区域“充满”了各种软件和“硬件”。
学习软件专业的行话
(
Mark Richards
)
同行之间讲行话方便交流。
具体情境决定一切
(
Edward Garson
)
侏儒、精灵、巫师和国王
(
Evan Cofsky
)
开发团队不应该同质化。
向建筑师学习
(
Keith Braithwaite
)
借鉴建筑行业的经验。
避免重复
(
Niclas Nilsson
)
欢迎来到现实世界
(
Gregor
Hohpe
)
现实世界比软件世界复杂。
仔细观察,别试图控制一切
(
Gregor
Hohpe
)
架构师好比两面神
( David Bartlett
)
架构师应该像两面神一样,眼观六路、耳听八方。
架构师应关注边界和接口
( Einar Landre
)
寻找自然的边界,分而治之。
助力开发团队
(
Timothy High
)
优秀团队是成功的保障,要尽量助力开发团队。
记录决策理由
(
Timothy High
)
记录架构决策背后的理由,具有极高的投资回报价值。
挑战假设,
尤其是你自己的
(
Timothy
High
)
臆断是事情搞砸的主要根源。务必要确保软件基石坚实可靠。
分享知识和经验
(
Paul
W. Homer
)
帮助周围的人不断改善,他们也会帮助我们发挥出全部的潜力。
模式病
( Chad La Vigne
)
不要让一展设计模式功力的欲望,遮蔽了务实的真知。
不要滥用架构隐喻
( David Ing
)
不要耽溺于系统隐喻之中,反让它拖了后腿。
关注应用程序的支持和维护
( Mncedisi Kasper
)
应用程序的支持和维护,永远都不应该是事后才考虑的事情。
有舍才有得
(
Bill de hÓra
)
珍惜需要权衡的时机,远胜毫无约束和限制。
原则、公理和类比胜于个人意见和口味
(
Michael Harmer
)
从“
可行走骨架”
开始开发应用 (
Clint Shank
)
从“ 可行走骨架” 开始,增量培育系统成长
。
数据是核心(
Paul W. Homer
)
从“数据是核心”这个角度去认识系统,能大大降低理解复杂度
。
确保简单问题有简单的解
(Chad La Vigne
)
架构师首先是开发人员
(Mike Brown
)
碰到麻烦时,架构师可不能只会干吹烟圈却束手无策。
根据投资回报率(ROI
)进行决策(
George Malamidis
)
一切软件系统都是遗留系统(
Dave Anderson
)
软件很快便会过时,修改维护无可避免。
起码要有两个可选解决方案(
Timothy
High
)
理解变化的影响 (
Doug Crawford
)
清楚认识变化类型及其影响。
你不能不了解硬件(
Kamal
Wickramanayake
)
硬件容量规划,是和软件架构同等重要的事情。
现在走捷径,将来需付息(
Scot Mcphee
)
及时还清技术债务。
不要追求“完美”,“足够好”就行(
Greg Nyberg
)
避免过度设计。
小心“好主意” (
Greg Nyberg
)
内容为王
(
Zubin Wadia
)
对商业方,架构师要避免愤世嫉俗(
Chad La Vigne
)
拉伸关键维度,发现设计中的不足(
Stephen Jones
)
架构师要以自己的编程能力为依托(
Mike Brown
)
命名要恰如其分(
Sam Gardiner
)
弄清楚要做的究竟是什么。
稳定的问题可以获得高质量的解决方案(
Sam Gardiner
)
天道酬勤(
Brian Hart
)
真正做好那些看似简单的任务,坚守承诺。
对决策负责(
Yi Zhou
)
弃聪明,求质朴(
Eben
Hewitt
)
精心选择有效技术,绝不轻易抛弃(
Chad La Vigne
)
客户的客户才是你的客户!(
Eben Hewitt
)
事物发展总会出人意料 (
Peter Gillard-Moss
)
设计是在不断变化的世界中持续进行探索试验的过程。
选择彼此间能和谐共处的框架
(
Eric Hawthorne
)
当心“无所不能”型的框架。
着重强调项目的商业价值(
Yi Zhou
)
不仅仅只控制代码,也要控制数据
(
Chad La Vigne
)
偿还技术债务 (
Burkhardt Hufnagel
)
在速度和架构间进行权衡,保持平衡。
不要急于求解(
Eben
Hewitt
)
首先看看是否可以改变问题。
打造称手的系统(
Keith Braithwaite
)
找到并留住富有激情的问题解决者
(
Chad La Vigne
)
软件并非真实的存在 (
Chad La Vigne
)
虚拟世界中的软件是柔韧可变的。
学习新语言 (
Burkhardt Hufnagel
)
防止沟通不畅和误解
。
分享到:
相关推荐
软件架构师作为一个专业领域的高级职位,其核心职能...《软件架构师应该知道的97件事》这本书通过多位专家的经验分享,提供了一个关于如何成为优秀软件架构师的丰富知识库,对于提升软件架构师的专业能力具有重要价值。
【软件架构师应该知道的97件事】这本书的读书心得主要涵盖了沟通、生产和文化三个方面的内容,这些都是软件架构师在工作中必须掌握的关键技能。 在**沟通篇**中,作者强调了沟通的重要性。软件架构师不仅要倾听客户...
以上是对“软件架构师应该知道的97件事总结”的详尽解析,涵盖了软件架构设计中的多个方面,旨在帮助架构师更好地理解他们的角色,做出明智的决策,并创建出能够满足业务需求、具有良好性能和可维护性的软件系统。
《软件架构师应该知道的97件事》是针对软件架构设计这一重要领域的知识总结,它涵盖了软件开发过程中架构师必须掌握的关键概念、原则和实践。作为软件架构师,理解并运用这些知识点对于创建高效、可扩展且易于维护的...
这本书旨在为软件架构师提供深入的理解和实用的指导,涵盖了一系列重要的知识点,以下是对其中几个核心概念的详细解析。 ### 不要把简历放在需求之前 **知识点:** - **理解需求的重要性**:Nitin Borwankar在书...