一、设计思维的四条原则
1、以人为本:设计的本质是社交、软件即为人所用,也依靠人开发。架构设计除了最终用户外,还有最终用户要帮助的人、编码的程序员、测试人员、项目经理、产品经理等。所以,架构师除了要成为出色的架构师外,还要是出色的沟通者和领导者。
2、推迟决策:推迟不确定的决策,工程上的“模凌两可”是危险的,设计决策必须准确、清晰。模糊的需求、设计、承诺会毁掉项目。因此,不到条件成熟的最后一刻,不要急着做出最终的设计决策。
3、善于借鉴:所有设计都是在已有设计基础上的重新设计和调整创新。学会借鉴前人的解决方案,解决当前遇到的问题。
4、化虚为实:让想法具体化、有形化、以便于沟通交流。架构的呈现方式很多,可以画草图、制作原型或简单的模型、演示部分系统的控制流程,甚至打比方。
二、运用的设计思维模式
1)理解问题:主动从利益相关方获取信息,清晰地描述问题。一方面要研究利益相关方关心的业务目标和质量属性,另一方面要掌握开发团队自身的工作风格。
2)探索想法:软件架构探索就是尝试各种结构的组合,直到找到能提升目标质量属性的那种组合。且为了寻找最佳组合,需要研究大量的模式、设计、开发方法。
3)展示想法:将脑海中的设计理念转化为有形物品,与设计思维的第四条原则 “ 化虚为实 ” 相契合。常见展示方式是制作模型、绘制线框图、绘制原型图、编写文档或展示数据等。
4)评估适应性:评估设计决策是否合适或者是否能解决问题,可以评估整体架构,还可以评估部分架构或者某个模型、概念、想法等。最常见的评估方法是针对不同场景审视某一块架构,还可以通过做实验,或者通过检查决策风险来开展评估。
三、三步法
每个模式都可以运用三步法(思考、动手、检查)进行循环迭代。
一次TDC循环(迭代学习)可长可短,短则几分钟,长则几天。每次遵循相同的步骤,但具体执行会因思维模式的不同而变化:
1)思考:解答疑问,降低风险。
2)动手:只做有形、具体的东西,方便快捷地分享思路、检验想法。
3)检查:慎重检查动手的成果,以便决定下一步的行动。从检查中获得的洞察和理解告诉我们下一步做什么,然后再回到第一步去思考。
架构师的架构设计思维有如下四条原则:
1、以人为本:设计的本质是社交、软件即为人所用,也依靠人开发。
2、推迟决策:推迟不确定的决策,工程上的“模凌两可”是危险的,设计决策必须做到准确、清晰。
3、善于借鉴:所有设计都是在已有设计基础上的重新设计和调整创新。
4、化虚为实:让想法具体化、有形化、以便于沟通交流。
能够运用的设计思维模式有如下四种:
1、理解问题
2、探索想法
3、展示想法
4、评估适用性
每个模式都可以运用三步法(思考、动手、检查)进行循环迭代