程序员
为了有效的利用领域专家的资源,在体系结构设计的同时,可以由系统分析员的指导之下,由程序员进行界面原形的开发。界面原形由领域专家进行评审。评审通过后由客户进行复审。界面原形跳过质量监督由文档组进行格式化和存档。质量监督有了解和监督界面原形变化的责任。程序员参与系统详细设计,主要负责系统的实现工作,并对测试组提供相应的测试资源。由于详细设计的详细程度不易把握,有程序员参与的情况下,系统分析人员与程序员的交流会有助于系统开发进度。在项目代码生产的后期,程序员要进行相应的白盒测试。之后,可执行体提交到测试组进行测试。《系统详细设计说明》由分析员和程序员共同完成。通过项目负责人转交质量监督组进行复审,复审通过后,由文档组进行格式化和版本编号,并存档。
测试组
主要进行软件的测试工作。上面提到程序员在交给测试人员之前是进行过一定的白盒测试的。测试人员根据详细设计的文档对软件要实现的功能进行一一测试,保证软件的执行体正确的实现设计要求,在此也只证明了软件正确的反映了设计思想,但是否真正反映了用户的需求仍需要进一步的测试。在正确性测试完成之后,需要测试的是软件的性能,软件的性能在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。
同样,测试在不同的阶段需要不同的"输入"与"输出"。在正确性测试阶段,不需要太详细的测试计划和测试策略的设计。而在性能测试时,需要分析人员提出测试策略和测试用例,质量监督组同样会提出他们认为必要的测试策略和测试用例,后者提出的测试策略和测试用例被认为是对前者的抽样调查。无论是前者还是后者提出的测试策略和测试用例,都由测试组组织实施。
质量监督组
保证软件透明开发的主要环节。在项目开发的过程中几乎所有的部门都与质量监督组有关。质量监督组对项目经理提供项目进度与项目真正开发时的差异报告,提出差异原因和改进方法。在项目进度被延滞或质量监督组认为某阶段开发质量有问题时,提请项目经理、项目负责人等必要的相关人员举行质量会议。解决当前存在的和潜在的问题。质量监督是建立在文档的复审基础之上,因而文档版本的控制,特别是软件配置管理,直接影响软件质量监督的影响力和力度。文档组则是保证软件质量监督的得以实施的重要保证。
质量监督组的监督范围包括: 系统分析人员是否正确的反映了用户的需求; 软件执行体是否正确的实现了分析人员的设计思想; 测试人员是否进行了较为彻底的和全面的测试; 文档组是否对文档的规范化进行的比较彻底,版本控制是否有效;
文档组
是保证项目开发完毕的同时,内部文档和外部文档都同时完成。内部文档的及时产生和规范,是保证项目开发各小组能够更好的接口和沟通的重要前提,从另一个方面讲,也是保证工程不被某个关键路径所阻塞而延滞的前提。如上所述,文档组还是保证质量监督组得以发挥作用的基础。
文档组的主要职责包括: 完善各个部门发送需要存档和进行版本控制的文档; 对文档进行单向出入的控制; 对所有存档的文档进行版本控制; 书写文档规范,并传达到开发组中; 书写部分外部文档。