软件架构师的12项修炼-技术技能篇

本书特色

[

本书是资深架构师davehendricksen的力作,系统阐述了成功架构师的**技术技能,以及个人及团队拓展、应用这些技能的方法。本书分为3个部分,**部分(第1~5章)介绍项目技能,涵盖合作关系、发现、概念化、估算、管理;第二部分(第6~9章)介绍技术技能,涵盖平台开发、架构透视、治理和技术诀窍;第三部分(第10~12章)介绍想象力技能,涵盖技术创新、战略路线图和企业执行。

]

目录

译者序前言致谢**部分项目技能第1章合作关系1.1什么是合作关系1.2合作关系的关键特征1.3一致1.3.1我需要和谁结成合作伙伴1.3.2找出思想领袖1.3.3认识影响力人物1.3.4确定可信的建议者1.3.5社区评审(架构评审委员会)1.3.6在做出关键决策之前寻求一致1.3.7共同愿景的一致成就合作关系1.4信任1.4.1建立信任1.4.2建立公开披露机制1.4.3避免将摊子铺得过大(过度投入)1.4.4在你过度承诺之后如何解脱1.4.5学会说”不”1.4.6信任带来透明度-合作关系的命脉1.5语境1.5.1了解合作的性质1.5.2了解你的业务背景(语境)1.5.3技术决策需要合作关系1.5.4关键点:技术决策是政治决策1.5.5首先介绍情况(提供语境)1.5.6支持你的合作伙伴1.5.7为合作伙伴的成功做出贡献1.5.8人多势众1.6协作1.6.1将价值放到台面上1.6.2成为导师1.6.3寻找导师1.6.4合作关系可能是机遇之源1.6.5合作关系是迈向构思的一步1.6.6协作推动更强大的合作关系1.7关系1.7.1合作关系不仅和业务有关1.7.2想要索取就要先付出1.7.3外部合作关系1.7.4过去的不愉快经历1.7.5躲开组织中的刻薄鬼1.8小结参考书目 第2章发现2.1什么是发现2.2发现的关键2.3了解客户2.3.1与销售、市场及新产品开发部门建立合作关系2.3.2与客户会面2.3.3取悦客户的是什么2.4了解市场2.4.1了解客户的客户2.4.2客户愿意在哪里花钱2.4.3竞争对手在做什么2.4.4倾听不同客户的主题2.5理解你的业务2.5.1研究你的业务目标2.5.2个性化公司的战略目标2.5.3为决策开发一个业务语境2.6小结参考书目 第3章概念化3.1构思3.2及早介入3.3概念化:将生命赋予思路3.4概念形成3.4.1他们使用什么语言3.4.2正在讨论的是什么问题3.4.3当你较晚进入构思团体中时,需要谨慎投入3.4.4这个概念是什么样子的3.5概念具体化3.5.1*小可行性产品3.5.2试验的需求3.5.3建立假设有助于协调愿景3.5.4确定必不可少的功能和客户角色3.5.5和客户一起进行概念具体化3.6概念演化3.6.1以史为鉴3.6.2接受多种视角3.6.3寻求概念完整性3.6.4发现邻近的机遇3.7小结参考书目 第4章估算4.1估算概述4.1.1估算的目的是什么4.1.2是否建立了项目语境4.1.3什么是架构方法4.2理解估算过程4.2.1估算管线4.2.2项目类型4.2.3项目筹资的其他方式4.2.4理解业务过程4.3开发架构方法4.3.1是合作伙伴关系还是合同关系4.3.2项目在业务上的依据是什么4.3.3营销方式是什么4.3.4是不是重复的估算4.3.5已经识别了哪些风险?能否缓解4.3.6是否将构建一个平台4.3.7是否将更改平台4.3.8使用何种技术4.3.9采用何种组织结构4.3.10是否需要进行外部调查4.3.11是否找出了可利用的组件4.4估算策略4.4.1为未知因素和挑战制订计划4.4.2务实:不要为了获得项目而屈服4.4.3严密控制关键因素4.4.4开发估算反馈循环4.4.5*大限度地减少组织耦合和内聚4.4.6随身带着powerpoint4.4.7开发检查列表4.4.8及早获得高管和组织的支持4.5估算原则4.5.1确定疑难问题4.5.2提供选项4.5.3保持设计决策的开放4.5.4了解时间表4.5.5知道你想要的结果4.5.6避免负面态度4.5.7寻找说”是”的机会4.5.8现在就开始讨价还价,不要等到以后4.5.9不要认输4.5.10相信你的直觉4.5.11了解其他人估算过的项目4.5.12了解业务部门的目标价格4.6完成估算4.6.1了解时限4.6.2谁参与估算4.6.3理解你的切入点4.6.4组合所有信息4.6.5与高管人员接触4.6.6推销估算4.7小结参考书目 第5章管理5.1架构管理定义5.2架构师负责的领域5.3坚持追求技术上的卓越5.3.1确立一个愿景5.3.2提升技术负债意识,投资合适的解决方案5.3.3保持技术环境的趣味性5.3.4找出潜在的专利5.3.5寻求数据中心和运营部门对你的方向的支持5.3.6推广解决方案5.3.7建立战略性解决方案5.3.8利用现有解决方案5.4交付项目5.4.1与项目经理成为合作伙伴5.4.2无情地消除依赖性5.4.3管理预期5.4.4控制开发过程5.4.5在发生问题时出现5.4.6了解项目上不透明的因素5.4.7限制处于领导地位的承包商数量5.4.8提供技术管理(职责领域)5.4.9应急管理5.5解决问题5.5.1提出难题5.5.2立即处理问题5.5.3说”不”,但是要提出选项5.5.4在决策中努力保持一致5.5.5学会正面处理问题、摊牌5.5.6知道在协商中你所愿意接受的5.5.7勇于对不同意的领域(有礼貌地)提出挑战5.5.8坚持立场5.5.9知道哪些不是你的问题5.6与高管人员成为合作伙伴5.6.1通过透明度管理风险5.6.2审核估算5.6.3限制框图中方框的数量5.6.4提升技术意识5.6.5支持老板5.6.6不要打断高管人员的讲话5.6.7保持自信5.7管理你的时间5.7.1限制投入的项目数量5.7.2定义自己的角色并坚持5.7.3确定费时工作的优先级5.7.4学会在限定的日期和时间做出决策5.7.5只在你是活跃的参与者时才参加会议5.7.6了解*后期限5.7.7委托你信任的人5.7.8面对面会谈5.8培养技术人才5.8.1制定架构导师计划5.8.2建立技术论坛5.8.3鼓励技术团队成员参与当地的会议和用户组5.8.4雇用*好的员工:不只是填补一个职位5.9提高技能5.9.1与其他架构师坐在一起5.9.2每天做一些技术工作5.9.3专注于令你吃惊的事情5.9.4成为某个领域的专家5.9.5寻求能够提高技能的项目5.10小结参考书目 第二部分技术技能第6章平台开发6.1平台开发定义6.2平台开发的要素6.3功能6.3.1定义目标集6.3.2定义功能集6.3.3专注于可利用功能6.3.4开发强大的概念模型6.3.5api是”打开王国的钥匙”6.4生态系统6.4.1平台用户6.4.2平台所有权6.4.3平台管理6.4.4平台开发6.4.5认识与平台相关的成本6.4.6管理平台质量6.4.7平台集成6.4.8可伸缩性6.4.9安全性6.5指导原则6.5.1追求超卓的质量6.5.2追求卓越运营6.5.3可配置性胜过硬编码6.5.4追求可利用性6.5.5追求冗余架构6.5.6追求线性的伸缩性6.5.7避免平台缠绕6.5.8避免平台蔓延6.5.9持续升级到*新技术6.6小结参考书目 第7章架构透视7.1架构透视的定义7.2架构原则7.2.1*少意外原则7.2.2*少知识原则(迪米特法则)7.2.3*小工作量原则(齐普夫法则)7.2.4机会成本原则7.2.5单一职责原则7.2.6精简原则(奥卡姆剃刀或者kiss)7.2.7*后责任时刻原则(延迟成本)7.2.8反馈原则7.3架构关注点7.3.1可用性7.3.2可伸缩性7.3.3可扩展性7.3.4可重复性7.3.5兼容性7.3.6可持续性7.3.7安全性、灾难恢复、业务持续性和开源许可证7.3.8第三方集成7.4架构沟通7.4.1领域模型7.4.2流程图7.4.3环境图7.4.4用户界面模型7.4.5逻辑架构框图7.4.6执行概况图7.4.7硬件环境框图7.4.8风险、假设、问题和相互依赖性(raid)7.5整合所有因素7.6小结参考书目 第8章治理8.1治理的定义8.2治理原则8.2.1避免供应商锁定8.2.2鼓励开源产品的使用8.2.3*小化中断成本(实现业务持续性计划和灾难恢复)8.2.4实现业务部门之间的松散耦合8.2.5利用公共功能8.2.6确保监管依从性8.2.7确保安全性8.2.8*小特权原则(*小授权原则)8.2.9寻求统一身份和访问管理8.2.10寻求数据可移植性(避免数据锁定)8.2.11寻求集成和自动化8.3治理的领域8.3.1估算8.3.2管理关注点8.3.3架构8.3.4设计8.3.5构建、编码、集成、部署、测试和监控8.4使用敏捷方法的治理和健康压力8.5小结参考书目 第9章技术诀窍9.1技术诀窍的定义9.2开发诀窍9.2.1发展与技术诀窍的联系9.2.2发展技术诀窍的先进性9.2.3发展技术诀窍的卓越性9.2.4技术诀窍综合体9.3技术诀窍驱动的架构9.4小结参考书目 第三部分想象力技能第10章技术创新10.1技术创新的定义10.2趋势感知10.2.1趋势感知的领域10.2.2应用趋势感知10.3业务融合10.3.1注意客户咨询中的趋势10.3.2获得客户反馈10.3.3分析客户反馈10.3.4何时要对趋势保持警惕10.3.5何时接受趋势10.4战略性研究10.5技术创新原则10.5.1寻求得到批准的*少研究时间和资金10.5.2下小的赌注10.5.3定期使用技术搜索浏览和跟踪趋势10.5.4建立实验室区域10.5.5运用具备用户反馈循环的快速试验10.5.6向业务部门和客户展示原型10.5.7在系统边缘上引入新技术10.6实用技术创新10.7小结参考书目 第11章战略路线图11.1战略路线图的定义11.2战略路线图的要素11.2.1战略要点11.2.2时序11.2.3用”泳道”组织11.2.4依赖性感知11.2.5直观表示11.2.6协作特性11.2.7代码命名11.2.8上下文相关(个性化)11.2.9多学科和专业性11.2.10优先级排定11.2.11迭代特性11.2.12更新11.2.13发布11.2.14可计量11.3路线图制定策略11.3.1在白板上用即时贴演示路线图11.3.2从终点开始(反向推导)11.3.3召开研讨会11.3.4将战略路线图视为项目11.3.5捕捉基本指导原则11.4路线图制定原则11.4.1保持简单11.4.2与业务部门合作11.4.3行动起来11.4.4寻找乐趣11.4.5没有目标的战略毫无意义11.4.6识别需要研究和创新的领域11.4.7识别技能和知识的不足11.4.8在实现目标的时间上保持灵活11.4.9勇于尝试新路径11.4.10路线图与细节无关,重点是目标和关键里程碑11.4.11追随能够激励你的方向11.5架构师在路线图制定中的角色是什么11.6路线图可能用于哪些地方11.7路线图考虑因素11.8路线图社会化11.9庆祝里程碑的实现11.10小结参考书目 第12章企业执行12.1企业执行的定义12.2企业执行的要素12.2.1企业精神12.2.2承受预期风险12.2.3交付成果12.3企业执行原则12.3.1可承受损失原则12.3.2柠檬水原则12.3.3拼花布原则12.3.4一鸟在手原则12.3.5飞机驾驶员原则12.3.6把握时机12.3.7追随爱好12.3.8学会变通12.3.9以高成本效益的方式在实践中学习和犯错12.3.10寻求反馈12.3.11寻求可利用机会12.4以企业执行推动架构12.5小结参考书目结语组合所有技能    

封面

软件架构师的12项修炼-技术技能篇

书名:软件架构师的12项修炼-技术技能篇

作者:亨德里克森

页数:213

定价:¥59.0

出版社:机械工业出版社

出版日期:2015-07-01

ISBN:9787111506980

PDF电子书大小:35MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注