`
javasogo
  • 浏览: 1813031 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【转】软件架构师应该知道的97件事

阅读更多

来自:http://www.cppblog.com/xiangpeng/archive/2010/05/05/114507.html

软 件架构师应该知道的97件事

1. 客 户需求重于个人简历 Nitin Borwankar

客户需求至上。为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违。

2. 简 化根本复杂性 ,消除偶发复杂性 Neal Ford

分析问题好比拨云见月、水落石出。

3. 关 键问题可能不是出在技术上 Mark Ramm

团队同心,其利断金。

4. 以 沟通为中心,坚持简明清晰的表达方式和开明的领导风格 Mark Richards

沟通应当言简意赅、详略得当,别拖泥 带水。

5. 架 构决定性能 Randy Stafford

种瓜得瓜,种豆得豆,架构设计也是一 样道理。

6. 分 析客户需求背后的意义 Einar Landre

抽丝剥茧,洞见症结。不要被表面需求 迷惑。

7. 起 立发言 Udi Dahan

起立发言效果更好。

8. 故 障终究会发生 Michael Nygard

应该提前设计预防措施,限制故障。

9. 我 们常常忽略了自己在谈判 Michael Nygard

工程师应该适时转换角色,学习谈判的 技巧。

10. 量化需求 Keith Braithwaite

没有规矩,不成方圆。

11. 一行代码比五百行架构说明 更有价值 Allison Randal

可工作的代码才是目标,设计只是达成 目标手段。

12. 不存在放之四海皆准的解决 方案 Randy Stafford

软件世界没有。

13. 提前关注性能问题 Rebecca Parsons

尽早展开性能测试。

14. 架构设计要平衡兼顾多方需 求 Randy Stafford

平衡兼顾项目的技术需求和相关各方的业务需求。

15. 草率提交任务是不负责任的 行为 Niclas Nilsson

要设法杜绝开发人员草率提交任务的念头。

16. 不要在一棵树上吊死 Keith Braithwaite

为客户提供多样化的解决方案。

17. 业务目标至上 Dave Muirhead

技术决策不能脱离业务目标和现实条件的约束。

18. 先确保解决方案简单可用, 再考虑通用性和复用性 Kevlin Henney

19. 架构师应该亲历亲为 John Davies

身先士卒才能赢得同事的信任。

20. 持续集成 David Bartlett

21. 避免进度调整失误 Norman Carnovale

不惜一切代价拒绝调整项目进度的要求。

22. 取舍的艺术 Mark Richards

架构不可能满足所有需求。

23. 打造数据库堡垒 Dan Chak

一开始就要定义好数据模型。

24. 重视不确定性 Kevlin Henney

推迟决策,建设性地利用不确定性。

25. 不要轻易放过不起眼的问题 Dave Quick

别忘了温水煮青蛙的故事。

26. 让大家学会复用 Jeremy Meyer

重复利用已有资源,首先要改变大家的观念。

27. 架构里没有大写的“I Dave Quick

变让自己变成自大狂。

28. 使用 一 千英尺高 的视图 Erik Doernenburg

选择合适的架构视图。

29. 先尝试后决策 Erik Doernenburg

30. 掌握业务领域知识 Mark Richards

31. 程序设计是一种设计 Einar Landre

软件开发也分成设计和生产两个阶段。

32. 让开发人员自己做主 Philip Nelson

33. 时间改变一切 Philip Nelson

选择值得投入精力的工作,别跟以前的工作过不去。

34. 设立软件架构专业为时尚早 Barry Hawkins

35. 控制项目规模 Dave Quick

36. 架构师不是演员,是管家 Barry Hawkins

别忘了你的工作责任。

37. 软件架构的道德责任 Michael Nygard

架构师的决定会影响许多人,务必慎重。

38. 摩天大厦不可伸缩 Michael Nygard

但软件可以。

39. 混合开发的时代已经来临 Edward Garson

40. 性能至上 Craig Russell

41. 留意架构图里的空白区域 Michael Nygard

空白区域“充满”了各种软件和“硬件”。

42. 学习软件专业的行话 Mark Richards

同行之间讲行话方便交流。

43. 具体情境决定一切 Edward Garson

44. 侏儒、精灵、巫师和国王 Evan Cofsky

开发团队不应该同质化。

45. 向建筑师学习 Keith Braithwaite

借鉴建筑行业的经验。

46. 避免重复 Niclas Nilsson

47. 欢迎来到现实世界 Gregor Hohpe

现实世界比软件世界复杂。

48. 仔细观察,别试图控制一切 Gregor Hohpe

49. 架构师好比两面神 David Bartlett

架构师应该像两面神一样,眼观六路、耳听八方。

50. 架构师应关注边界和接 口 Einar Landre

寻找自然的边界,分而治之。

51. 助力开发团队 Timothy High

优秀团队是成功的保障,要尽量助力开发团队。

52. 记录决策理由 Timothy High

记录架构决策背后的理由,具有极高的投资回报价值。

53. 挑战假设, 尤 其是你自己的 Timothy High

臆断是事情搞砸的主要根源。务必要确保软件基石坚实可靠。

54. 分享知识和经验 Paul W. Homer

帮助周围的人不断改善,他们也会帮助我们发挥出全部的潜力。

55. 模式病 Chad La Vigne

不要让一展设计模式功力的欲望,遮蔽了务实的真知。

56. 不要滥用架构隐喻 David Ing

不要耽溺于系统隐喻之中,反让它拖了后腿。

57. 关注应用程序的支持和维护 Mncedisi Kasper

应用程序的支持和维护,永远都不应该是事后才考虑的事情。

58. 有舍才有得 Bill de hÓra

珍惜需要权衡的时机,远胜毫无约束和限制。

59. 原则、公理和类比胜于个人 意见和口味 ( Michael Harmer

60. 可 行走骨架 开始开发应用 ( Clint Shank

从“ 可行走骨架” 开始,增量培育系统成长

61. 数据是核心( Paul W. Homer

从“数据是核心”这个角度去认识系统,能大大降低理解复杂度

62. 确保简单问题有简单的解 Chad La Vigne

63. 架构师首先是开发人员 Mike Brown

碰到麻烦时,架构师可不能只会干吹烟圈却束手无策。

64. 根据投资回报率(ROI ) 进行决策( George Malamidis

65. 一切软件系统都是遗留系统 ( Dave Anderson

软件很快便会过时,修改维护无可避免。

66. 起码要有两个可选解决方案 ( Timothy High

67. 理解变化的影响 ( Doug Crawford

清楚认识变化类型及其影响。

68. 你不能不了解硬件( Kamal Wickramanayake

硬件容量规划,是和软件架构同等重要的事情。

69. 现在走捷径,将来需付息( Scot Mcphee

及时还清技术债务。

70. 不要追求“完美”,“足够 好”就行( Greg Nyberg

避免过度设计。

71. 小心“好主意” ( Greg Nyberg

72. 内容为王 Zubin Wadia

73. 对商业方,架构师要避免愤 世嫉俗( Chad La Vigne

74. 拉伸关键维度,发现设计中 的不足( Stephen Jones

75. 架构师要以自己的编程能力 为依托( Mike Brown

76. 命名要恰如其分( Sam Gardiner

弄清楚要做的究竟是什么。

77. 稳定的问题可以获得高质量 的解决方案( Sam Gardiner

78. 天道酬勤( Brian Hart

真正做好那些看似简单的任务,坚守承诺。

79. 对决策负责( Yi Zhou

80. 弃聪明,求质朴( Eben Hewitt

81. 精心选择有效技术,绝不轻 易抛弃( Chad La Vigne

82. 客户的客户才是你的客户! ( Eben Hewitt

83. 事物发展总会出人意料 ( Peter Gillard-Moss

设计是在不断变化的世界中持续进行探索试验的过程。

84. 选择彼此间能和谐共处的框 架 ( Eric Hawthorne

当心“无所不能”型的框架。

85. 着重强调项目的商业价值 ( Yi Zhou

86. 不仅仅只控制代码,也要控 制数据 ( Chad La Vigne

87. 偿还技术债务 ( Burkhardt Hufnagel

在速度和架构间进行权衡,保持平衡。

88. 不要急于求解( Eben Hewitt

首先看看是否可以改变问题。

89. 打造称手的系统( Keith Braithwaite

90. 找到并留住富有激情的问题 解决者 ( Chad La Vigne

91. 软件并非真实的存在 ( Chad La Vigne

虚拟世界中的软件是柔韧可变的。

92. 学习新语言 ( Burkhardt Hufnagel

防止沟通不畅和误解

93. 没有永不过时的解决方案 ( Richard Monson-Haefel

94. 用户接受度问题( Norman Carnovale

减轻用户接受度问题带来的风险。

95. 清汤的重要启示 ( Eben Hewitt

软件架构设计需要不断的精炼浓缩。

96. 对最终用户而言,界面就是 系统 ( Vinayak Hegde

97. 优秀软件不是构建出来的, 而是培育起来的( Bill de hÓra

分享到:
评论

相关推荐

    软件架构师应该知道的97件事.pdf

    软件架构师作为一个专业领域的高级职位,其核心职能...《软件架构师应该知道的97件事》这本书通过多位专家的经验分享,提供了一个关于如何成为优秀软件架构师的丰富知识库,对于提升软件架构师的专业能力具有重要价值。

    软件架构师应该知道的97件事

    软件架构师应该知道的97件事 软件架构师应该知道的97件事 英文版

    软件架构师应该知道的97件事总结

    以上是对“软件架构师应该知道的97件事总结”的详尽解析,涵盖了软件架构设计中的多个方面,旨在帮助架构师更好地理解他们的角色,做出明智的决策,并创建出能够满足业务需求、具有良好性能和可维护性的软件系统。

    软件架构师教程 软件架构

    0_架构师与设计师.pdf 01_软件流程实施方案选择.pdf 02_软件架构文档设计.pdf 03_软件架构风险管理.pdf 04_如何描述和评估软件架构...因附件大于16M被分成了两个包上传,请下载软件架构师教程1.rar 软件架构师教程2.rar

    软件架构师教程,系统架构师讲义

    七、高级软件架构师技巧 这部分内容针对有经验的架构师,涵盖了领导力、团队协作、技术趋势跟踪等方面,帮助他们提升到更高的专业水平。 八、实战案例分析 通过真实项目的案例分析,读者可以更直观地学习如何将理论...

    软件架构师培训资料,软件架构师培训资料,软件架构师培训资料

    软件架构师是IT行业中至关重要的角色,他们负责设计和规划软件系统的整体结构,确保系统能够高效、稳定地运行。这份“软件架构师培训资料”涵盖了软件开发过程中的多个关键环节,旨在帮助学员全面掌握架构师所需的...

    97-things-every-software-architect-should-know(软件架构师需要知道的97件事)

    减少偶然复杂性:软件架构师应该尽可能地简化系统的核心复杂性,并且减少因不恰当的设计决策而引入的复杂性。这涉及到识别并解决系统的核心问题,而不是被表面的复杂现象所迷惑。 3. 你的最大问题可能不是技术上的...

    软件金领架构师

    软件金领架构师是软件工程领域中的核心职位,它不仅要求架构师拥有深厚的技术功底,还需要其具备全面的项目管理能力和卓越的沟通协调技巧。在本文中,我们将深入探讨软件架构和架构师的相关知识点。 首先,软件架构...

    高级软件架构师培训讲义

    高级软件架构师培训讲义,共分24章: 00_架构师与设计师 01_软件流程实施方案选择 02_软件架构文档设计 03_软件架构风险管理 04_如何描述和评估软件架构质量 05_设计模式与软件架构设计 06_AOP开发实践 07_软件架构...

    软件架构师职业解读

    软件架构师,这一职业在IT行业中扮演着至关重要的角色,它是连接技术和业务的桥梁,是软件开发过程中的领航者。软件架构师不仅需要具备深厚的技术功底,还需要有卓越的沟通能力和战略思维,以便设计出高效、可扩展且...

    软件架构和架构师

    - **评估标准**: 对软件架构师的评估应该综合考虑其在项目中的贡献、技术方案的有效性和可行性、团队协作能力等多个方面。 - **案例分析**: 通过实际项目中的案例来评估软件架构师的工作效果,比如项目的完成质量、...

    软件系统架构师

    ### 软件系统架构师的关键知识领域与实践 #### 软件架构设计的核心概念与价值 软件系统架构师负责设计和构建软件系统的基本结构,确保系统满足业务需求、性能标准以及未来发展的灵活性。他们不仅需要具备深厚的...

    软件架构师视频2018年(百度网盘)

    根据提供的文件标题、描述、标签及部分内容链接,我们可以推断出该资料主要涉及软件架构师相关的学习内容。接下来,我们将对各个章节所涵盖的关键知识点进行详细的解析。 ### 一、考试简介 本章节主要介绍了软件...

Global site tag (gtag.js) - Google Analytics