敏捷开发的架构设计师随笔

来源:互联网 发布:显卡驱动优化游戏 编辑:程序博客网 时间:2024/04/30 02:02

敏捷开发作为当前越来越流行的开发流程,值得大家的借鉴和实践。但是对于敏捷开发中的架构师因该如何展开工作以及他们的工作职责是什么,查了一些资料,结合自己的实践做一些总结:


1、将系统分割成更小的部分,以及合理的架构边界和相互之间的接口

        在项目的执行任何时期,好的架构设计对于项目的健康的推进有着重要的意义,甚至决定了项目的成败,这个规律我觉得对于敏捷开发同样适用。通过将系统进行合理的划分模块可以将系统划分为更加简单的单元模块,降低系统的依赖和复杂新。通过合理的界定系统的边界和相互之间的接口定义等架构技巧,将系统分解为更小,更容易被实现和控制的单元,通过测试驱动开发(TDD)的方式推进,更容易降低产品的风险和加快开发进度。

2、时刻关注从更高的角度看待这些部分的重构和持续的改进工作

      项目执行过程中,不可避免的会产生所谓技术债务的问题,随着新的功能的加入,需求变更以及原先设计的不合理性以及问题更加明了等情况下,系统逐步变得更加复杂和难以维护。重构是持续改进是XP中对开发人员的基本要求。但是对于整个系统层面上大规模的重构需要经验丰富的架构师来进行搜索和评估。

3、亲自参与单元测试和程序的开发

      将大的结构分解成为小的,安全的步骤,并进行实现,是XP团队的重要挑战。但是架构师不能脱离具体的编程任务,通过自己的参与,才能更深层面的理解架构的演进以及把握重大重构的机会。

4、良好的团队沟通和信息共享

      架构师的架构设想需要在团队中进行贡献,个人觉得可以通过文档或者实现接口源码、沟通、会议的方式在组织中进行信息的传递和贡献工作。


这些职责我觉得同样适用非XP敏捷但是想借鉴敏捷开发理念的开发流程团队。

原创粉丝点击