在项目初始阶段使用的开发流程是十分灵活的,它是一个主要基于 Scrum 和极限编程的流程。该流程是由用户场景驱动的,并以体系结构为中心,它的重点在于体系结构模式、并发和优化模式,以及资源管理模式的应用,在《Pattern Oriented Software Architecture》系列丛书中有介绍。(请参见参考资料。)
一般来说,会根据每次迭代的需求,在迭代的开始时调查并选择候选模式。本文中所述的一小部分模式会被认为是在先前已经应用了。(这些模式用来为跨模式的体系结构提供一个完整的视图。)
根据需求列表建立的概略体系结构远景是模式选择中的驱动因素。架构师会在模式选择和粗略的预先设计中为团队提供指导,模式被作为迭代予以应用,并通过测试驱动的开发和持续的集成推进迭代过程。在迭代结束时,会根据接受性测试(该测试也将成为迭代的输入),对实现的结果加以证明。
最初的团队结构是围绕以下部分所述的体系结构构建块建立起来的。在本文中所述的绝大多数模式都是由一个团队应用的,该团队负责创建面向服务的组件中间件和初始服务。
大多数开发选择的编程语言为 C++。