大家好,我是老猿,今天继续专题【老猿说架构】,文章仅代表作者理解或观点,如有不同理解论述欢迎拍砖交流。好,废话不说,直接进入主题。在企业中架构师的架构活动核心就是设计并组织带领技术团队交付架构方案落地的过程。那么作为架构师要做到那些方面决定你的架构活动的成败呢?即是那些因素决定架构活动的成败,在老猿看来有如下5个方面,具体看如下阐述。
1:架构活动是否跟企业目标一致
我们在设计架构方案起始点就是要跟企业的业务目标一致,特别是战略目标,这个是基础,是否能赢得企业生存竞争打下基础和优势点,正所谓基础不牢地动山摇。在科技型公司或者是技术产品为核心业务的企业尤为重要,当然如果是技术支持业务即是业务驱动型的企业要求没那么高,因为业务探索变化比较多,只要把握好共性需求的基础架构平台建设即可。
2:架构活动是否跟公司的商业、技术环境相匹配适应
从公司的内外商业环境、技术环境适应性及未来发展趋势的视角审视架构方案的技术选型是否合理,通常技术选型核心要把握的是选择已有规模优势或者是即将有规模优势的技术,
比如微服务架构的技术选型有Spring Cloud+服务容器化部署(K8S)和Spring Boot+K8S容器化部署及自带的微服务实现,这两种技术组合都是业界使用比较多有规模优势技术,两者没有很大的优劣之分,如果公司内部运维技术团队对K8S掌握比较深那么可以选择后者,反之选择前者,由开发团队灵活实现微服务开发、构建和治理。
3:架构活动是否满足公司资源的约束条件实现最大化商业价值
作为一个架构师必须在有限的公司资源下最大化架构活动所带来的商业价值。架构师有限的资源包括公司的商业成本、研发成本、时间成本、迁移成本等,还有组织架构、人员能力、技术体系和积累沉淀等限制,架构活动就是要在这些限制条件之下实现架构活动的商业价值最大化。所以架构师基于公司现实有限的资源下确保最终架构方案的可行性;确保一个合理最优的实施路径及完成实施;同时确保设计方案可以最大化解决方案的结构性。
4:架构活动过程是否充分考虑研发人员和用户的人性
显而易见,没有考虑研发人员动机需求和用户人性的架构设计是没有发展空间的,架构师必须洞察研发人员的人性,在方案设计和架构活动组织中充分考虑研发人员动机需求,才能保障方案的正确性及方案的高效实施、演进。举个例子,如果一家不是技术型的科技公司,硬是用自研框架实现自己的架构,不考虑研发人员对技术成长和职业发展需要的需求,即使勉强交付项目后,研发人员也会很快离开,后续也很难找到人员接手维护开发演进,为什么呢?因为研发人员发现没有用到业界规模优势的主流开源框架技术,得不到技术成长,他们会觉得如果坚持3-5年再换平台就很难了,这也正是很多国企因为用了比较老旧或自研的技术架构,虽然工作相对轻松但人员流动还是比较大的原因。对企业来讲是增加了用人成本和降低服务的稳定性及竞争力。
5:架构活动是否不断注入外部适应性
外部适应性是指一个企业对外部环境变化的适应能力及对新机会的捕捉能力。那么架构师需通过打磨技术体系来为企业注入外部适应性,通过优化架构方案、干预架构活动,以保证最终交付的项目不仅能满足目标又适应不断变化的外部环境。比如通过技术手段实现营销的资金池优化、反作弊、供应链优化、物流调拨等,又比如实现工作流引擎、风控引擎、策略引擎、算法的特性引擎和标签引擎等。总之在技术层面为企业的技术体系注入外部适应性,保证架构落地的成功。
文/老猿,写代码写诗写职场的程序猿大叔,倾力原创简单实用的硬干货,转载此文请联系老猿