2.2.7 设计解决方案并持续交付
解决方案架构师在了解功能性需求、非功能性需求、解决方案约束和技术选型等不同方面后,着手进行解决方案设计。在敏捷环境中,这将是一种迭代的方法,其中的需求可能会随着时间的推移而发生变化,并且需要适应解决方案设计。
解决方案架构师需要设计面向未来的解决方案,这个解决方案应该具有健壮的基础构件,并且有足够的灵活性来适应变化。但是,解决方案架构师需要谨慎对待需求的剧烈变化,并实施风险缓解计划。
对于面向未来的设计,可以参考基于RESTful API的松耦合微服务架构。这类架构可以扩展以满足新的需求,并且更易于集成。更多关于不同架构设计的内容见第6章。
图2-5所示的流程图显示了解决方案交付生命周期。解决方案架构师参与了解决方案设计和交付的所有阶段。
图2-5 解决方案交付生命周期
解决方案交付生命周期包括以下内容:
□业务需求和愿景:解决方案架构师与业务利益相关者合作,以理解他们的愿景。
□需求分析和技术愿景:解决方案架构师分析需求并定义技术愿景,以执行业务战略。
□原型设计和推荐:解决方案架构师通过开发POC和展示原型进行技术选型。
□解决方案设计:解决方案架构师根据组织的标准,并与其他相关团体协作设计解决方案。
□开发:解决方案架构师与开发团队合作开发解决方案,并作为桥梁连接业务和技术团队。
□集成与测试:解决方案架构师要确保最终的解决方案能够按照预期满足所有功能性和非功能性需求。
□实现:解决方案架构师与开发和部署团队合作,以确保方案顺利地实现,并在团队遇到障碍时提供指导。
□运营和维护:解决方案架构师确保日志和监控到位,并根据需要指导团队进行扩展和灾难恢复。
然而,整个生命周期是一个迭代的过程。一旦应用程序投入生产,客户开始使用,就可能会从客户反馈中发现更多的需求,这将推动产品愿景的长远优化。
解决方案架构师在解决方案设计过程中拥有主导权,他们可以执行以下操作:
□记录解决方案标准。
□定义高层次设计。
□定义跨系统集成。
□定义解决方案的不同阶段。
□定义实施方案。
□定义监控与告警的方案。
□记录设计选型的利弊。
□记录审计与合规性要求。
解决方案架构师不仅仅负责解决方案的设计,他们还帮助项目经理进行资源和成本估算,定义项目的时间表和里程碑、项目的发布及其支持计划。解决方案架构师的工作贯穿解决方案生命周期的不同阶段,从设计到交付及发布都有参与。解决方案架构师通过提供专业知识和对项目广泛的了解,帮助开发团队克服重重障碍和壁垒。