前言:本书是部门架构师推荐我阅读的,他认为适合我当下的状态。原本看到书名觉得特别low,感觉就像市面上各种成功学一样。但基于o'reilly的名声,还是阅读了一遍,果然收获匪浅。

1、业务目标至上。

客户需求重要于个人简历(个人诉求、个人看法、技术实现难度成本等)

分析客户需求背后的意义,了解真实意图,砍掉伪需求。

明确自己是谈判,维护必须的利益。而不是各种妥协,只为了追求合作。

架构师需要掌握业务领域知识,把握未来的发展

2、量化需求。(可衡量,如具体数值等,而不是一些模糊的词)

需要综合考虑业务部门、技术部门,投入产出比,商业价值。

图的方式量化整个项目的实现、复杂度、风险等

软件架构师是时间、人力的管家,管家在意的应该是投资回报比,而不是卖弄时髦的技术和晦涩的专业词语,不是让整个系统更复杂

清汤的重要启示(P190),必须要不断提炼,确定系统中需求的本质。可以借助询问时,加上“永远”,“不管任何情况下”,对需求陈述进行测试。

3、简单清晰的沟通、开明的领导风格。

起立发言。

问题可能不是出现在技术上,而是在沟通的矛盾上,不要把对话当成对抗;不要带着情绪与人沟通;尝试设定共同目标,把处理冲突当做一次学习的机会,每次沟通都会有收获。(p7)

不同角色、性格的团队成员,才会有各种可能

仔细观察,不要试图控制一切

4、架构师没有大写的“I”,要以谦卑、合作的态度处理和技术人员、业务人员之间的关系,不能命令的口吻、居高临下。

架构师的作用是引导,把控,提出建议,发挥团队成员的智慧,而不是发号施令,让开发人员自己做主,让大家主动向你征求意见,创造良好的氛围。

先考虑原则、公理和类比,再考虑个人意见和口味

5、设计的根本在于简化根本复杂性,消除偶发复杂性,没有简化根本复杂性,反而带来更多的偶发复杂性,这就是过度设计。

优先考虑方案简单可用,再考虑通用性和复杂性。没必要过早的介入通用性等考虑,只会带来更大的开发成本,而且是否“通用”只是单个人的理解,什么是“通用”,每个人的通用概念都不一样,只有未来能知道。

架构设计必须能够付诸实现,而不是沉迷于各种设计,最后是空中楼阁。

架构设计平衡兼顾各方的需求

具体的情景决定一切,不要有“模式病”

重视不确定性,不要只局限在不确定性产生的A、B两种方案中,要看问题的本质,收集更多信息,看看存不存在第三种方案,建设性的使用不确定性对系统、进度进行分割(p48)

避免重复

记住决策理由,它带来的好处超出你的想象。P104

不要滥用隐喻,尤其在系统中,否则在系统迭代时,之前的隐喻可能成为累赘

确保简单的问题有简单的解,架构师会从主观的判断或潜在的不确定需求出发,调整解决方案,但往往错误的概率是50%。只需简单解决当下的问题,把应用发布出去,从反馈中获取真实的需求。P125

至少有两个可选的解决方案,如果没有,则需要请教更有经验的人。

现在走捷径,将来付利息。即使由于时间紧迫,采用了临时方案,后期上线后也要矫正。就好比及时还清贷款,停止付利息。

优秀软件不是构建出来的,而是培育起来的。(不要一开始过度设计,杀鸡用牛刀)

6、

提前关注性能问题

提前介入测试

项目期较长,需要分开阶段时,每个阶段需要都是可运行、测试的。

控制项目规模,拆解项目,分批发布,分批集成;既能增加商业利润,又提前发现问题,改善架构。

关注开发人员的效率,为开发人员创建良好的工作环境

关注应用程序的支持和维护

一切软件系统都将是遗留系统,

没有永不过时的解决方案。

着重强调项目的商业价值(P170)

①形成价值陈述(value proposition)。价值陈述是你的决策摘要(executive summary),用以说明组织的业务为何要采用某种特定的软件架构。这一步的关键,是要将你的架构方案与其他既有方案或可选方案进行比较。重点应该放在说明其在提高生产力、改进业务效率方面的能力,而不是强调其采用的技术如何高明。

②建立量化的度量标准(metric)。对于承诺要交付的价值,需要在合理范围内进行量化。量化得越具体越到位,项目也将越具有说服力,越能让人相信好的架构可以带来丰厚的回报。越早建立度量标准,就越容易把握人们的认知,帮助推销自己的架构提案。

③回过头来关联传统商业的衡量方式。如果能将技术分析转化为财务数据,则会更为完美。毕竟,传统的商业衡量方式中唯一不变的参数便是经济收益。如果不喜欢做财务性的工作,可以找商业分析师来做你的搭档。

④知道该哪里停止。在知道该哪里停止之前,要准备好一张路线图(roadmap)用以捕获远景目标,清楚的知道每一个里程碑将带来的商业价值。让利益相关者自己决定将在何处停止。如果每处的商业价值都十分显著,那么,很可能你会获得持续不断的资金支持。

⑤寻找恰当的时机。即使按照前面四个步骤创建了稳固的商业项目提案,但如果时机不对,可能仍然无法成功推销你的点子。我记得自己就曾有一个提案迟迟无法获批,直到另一个项目因为糟糕的架构设计以彻底失败告终时,我的提案才获得通过。所以,还要明智选择恰当的时机。

读书笔记:《软件架构师应该知道的97件事》相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 你不得不知道的Visual Studio 2012(1)- 每日必用功能
  2. leetcode最大矩形_LeetCode——最大矩形
  3. SharePoint 2010 各个常用级别对象的获取
  4. 可折叠Web可能会给我们带来的变化
  5. cocos2dx 3.0打包android遇到的错误(持续更新)
  6. iOS版微信6.3.19更新发朋友圈可选可见范围
  7. cmail服务器安装后无法登录的解决办法
  8. preparedstatement打印sql语句_Mybatis是这样防止sql注入的
  9. 软件测试也需要推广?!
  10. 台式计算机一般多大功率,台式电脑功率一般多大 台式机功率有多少【详细介绍】...
  11. 在Windows Server2012系统中安装Oracle11g
  12. html标签种类很多,为什么不都用div?
  13. ROS2节点通信实现零拷贝
  14. 关于英语前缀和后缀的区别
  15. 如何制作 Windows 系统主题?
  16. HTTP协议 (三) 代理
  17. 添加用户-查看用户列表-禁止默认root登陆
  18. Java-springboot生鲜电商项目(四)商品模块
  19. 播放器无法挂载.VTT文件字幕(Coursera)
  20. 笔记本电脑换加内存条与加固态硬盘详细介绍

热门文章

  1. fread fwrite 的使用
  2. 如何使用idea把自己的项目打包jar包发给别人使用
  3. 蓝蓝算法06--输出链表中倒数第k个结点
  4. Nginx报Too many open files
  5. 怎么安装aptdaemon模块_安装Pulseaudio模块在Ubuntu中开启蓝牙APTX/LDAC支持
  6. JAVA写100以内的偶数和
  7. 虚幻蓝图数据传递_数据产品的战略蓝图
  8. 热红外探测器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. Kotlin【简介】Android开发 配置 扩展
  10. mysql非结构化查询_Mysql(2.3) 简单查询(SELECT)、子查询