虽然离架构师还很远,但是团队购买了这本书,这里也大概领会了下,这些言简意赅的原则不仅对于架构师,对于开发人员、项目经理、决策者都是有用的
1. 客户需求重于个人简历
不要为了追求技术而技术,为了时髦而时髦,这样做无异于舍本求末、缘木求鱼。忽略了客户最根本的需求,往往让自己境地也很难堪,当我们有能力满足客户的基本需求时,再来谈时髦的技术,因为我们做项目无异于向我们的储钱罐里存钱,只有踏踏实实的完成了,才能作为光鲜的一笔记入简历,积累好我们的信誉。
2.简化根本复杂性,消除偶发复杂性。
3.关于沟通:
不要把对话当成对抗
不要带着情绪沟通
尝试通过沟通设定共同目标
起立发言:两人以上沟通要起立,不容易被打断。
和上层沟通时要权衡利弊,在最满足基本需求的情况下节省开支,注重谈判技巧。
多方沟通的平衡能力。当被要求增加需求和加快速度时,要坚决拒绝,因为这会造成bug数量增加,增加测试中可能出现的问题,最终引发产品质量问题,解决质量问题的代价会更高。
4.学会分析客户需求背后的意义
有时候需求人员拿出来的需求非常的抽象,感觉没有落到实处,架构师要学会挖掘这背后的意义,定位真正的意义,把最有价值的需求放在第一位。
5. 不存在放之四海而皆准的方案,不要在一棵树上吊死
架构师需要情境意识(常识),给定情境下对合理性的把握,胡猜乱想和矫枉过正都是要不得的。
世界是复杂的,业务也是复杂的,想找一个一劳永逸的方案,无异于水中捞月,参考ETL实现对数据进行抽取、转换、装载,导入数据是自由的,展现数据也是多样的,能够满足不同的需求,在子系统的设计上,要充分利用非功能性参数的差异性,实现对不同表现形式的管理。
6. 先确保方案简单可用,在考虑通用性和复用性
这条我在刚刚做过的设计里深有体会,刚开始就将各个入口统一起来,既满足触发调用,又满足任务调用,结果后来不得不进行特殊的限定,在任务处理时不做哪些操作,在触发时不做哪些操作。
在存在多个方案可供选择时,一定要坚持“先简单后通用”的规则,修改简单方案往往比修改通用方案容易很多。
过早脱离具体情况可能导致陷入无限可能的迷宫里
7. 对于技术难点等,架构师要亲力亲为,保持和团队紧密合作,不是在象牙塔里发号施令,同时也应该和同行保持紧密的联系。
8. 取舍的艺术
没有十全十美的设计,既有高性能,又有高可用性,既安全,又高度抽象(一半来说隔离性好的安全性高,而这又导致你抽象不够,复用性不好)。瑞典国王建造的Vasa号战舰的故事,可以很好的说明这一点,一个没有相关经验的架构师设计出来的意图两用-既能攻击又能运人的东西,可能的结果就是鸣了礼炮以后,直接就沉入水底了。
在设计时,可以通过架构权衡分析方法和成本收益分析方法作出判断。
精益软件开发?
分享到:
相关推荐
在《架构师之地图》中,博主可能会分享一些关于如何从程序员晋升为架构师的心得体会。这可能包括但不限于以下几个方面: 1. 技术深度:掌握核心技术栈,如分布式系统、微服务架构、数据库设计等,深入理解这些领域...
架构师不仅要理解技术,更需要有远见卓识,能够预见系统未来的成长和挑战,作出明智的架构决策。而架构与系统的性能、可维护性及扩展性之间的紧密联系,决定了架构设计的成功与否直接关系到项目的成败。 在"两个...
我想在大多数人看来,这些更多地应该是属于架构师讨论的话题集,而非程序员。然而,到了现在你所读的这本《我的架构思想》中,却只剩下了“系统”这个讨论对象,那些基础构件已经全然不见了。这一切的根源又在哪里呢...
系统架构设计师是软件开发行业中一个关键的职业角色,对于许多开发人员来说,成为架构设计师是职业发展道路之一。但是,架构设计师究竟需要具备什么基本能力?如何才能成为一个优秀的架构设计师?今天,我们就来探索...
邹鹏宇在实践中学会根据不同项目需求灵活选择和应用这些架构模式,这正是软件架构师必须具备的核心能力之一。 在软件质量属性方面,邹鹏宇认识到了性能、安全性、可用性、可扩展性以及可测试性等指标的重要性。他...
本次演讲由资深架构师高焕堂先生分享,旨在通过介绍十个核心观点来帮助听众理解如何有效地提高软件架构的质量。这十个观点不仅涵盖了技术创新和个人素养的提升,还涉及到了组织文化和团队协作的重要性。以下是对每个...
内容简介:, 本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java...本书对Spring的各个功能模块的架构原理和设计思想进行了深入剖析,值得所有架构师用心体会和研究,必将受益匪浅。..., ——架构师中国
【会计师事务所实习心得体会】 实习在会计师事务所是一种宝贵的学习经验,它能让实习生深入理解会计行业的运作机制,从理论走向实践。在这个过程中,实习生不仅能够接触到会计师事务所的基本构成、人员职责,还能...
系统结构设计侧重于模块的组织与布局,需考虑功能模块的划分、总线结构的选择、存储架构和处理器架构的搭配,以达到性能优化和资源分配的平衡。而仿真验证,则是对设计正确性的全面检验,其难度在于建立能充分反映...
首先,安全(security)作为质量属性之一,其场景的挖掘是一个挑战性任务。这涉及到对潜在威胁、攻击模式以及系统可能的弱点的识别。设计师需要具备丰富的经验和广泛的领域知识,以便能够预测和防止可能出现的安全...
阅读此书,能够体会技术人智慧的朴实无华却分量十足,也能够感知陶辉身为开发者一份子的价值追求和良苦用心。 —— 郑志昊 腾讯公司副总裁 从耐心帮助读者了解“如何阅读本书”到书中详细的代码解析与注释、大量而...
此外,学习主流网页设计软件,如Photoshop,也是实习生必须掌握的技能之一,它可以帮助实习生编辑和优化网页图片,维持图像质量的同时,提升网页的视觉效果。 在实习期间,实习生还会接触到网站开发的其他技术性...
《人月神话》仍然是计算机书籍中被引用次数最多的经典著作,而且即便本书最初出版于20世纪,其内容至今仍未过时。在阅读的时候,每隔几页不说一句“对极了...——Briall Kenlighan,名著《C程序设计语言》的合著者之一
《海量运维、运营规划之道》作者具有腾讯、百度等中国一线互联网公司...《海量运维、运营规划之道》全面介绍大型互联网公司运维工作所涉及的各个方面,是每个互联网运维工程师、架构师、管理人员不可或缺的宝贵参考书。
敏捷过程的三分之一.pdf 汽车零部件行业信息化需求分析与实施要点.pdf 浅谈中小企业Intranet建设.pdf 浅谈软件需求分析过程.pdf 煤炭企业业务事例型网络架构.pdf 用例建模技术在需求获取中的应用研究.pdf 设计模式...
在需求分析阶段就开始对系统架构进行测试,充分发挥系统架构师的作用,确保整个系统的稳定性、扩展性和安全性。有效的架构测试不仅能够保障系统的长期运行,还能够避免后期大规模的修改成本。 针对人员或资源不足的...
《WCF全面解析(套装上下册)》不仅适合尚未接触过WCF,希望尽快入门并进行深入研究的开发人员使用,同样也适合对WCF有一定了解的开发设计人员和架构师阅读。相信不同层次的读者都能从此书中找到自己希望了解的部分。 ...