过程必须要以特定的资源作为支撑。软件过程管理中重要的资源包括空间资源、信息系统、沟通手段、度量工具、网络资源等。信息资源是最重要的资源,信息资源约束过程管理的活动方式和内容,信息手段的变化带来过程管理方式的改变,信息技术的进步,可以扩展过程管理的范围。 资源包括了所有和过程管理相关的工具、数据、技术手段和信息系统。资源对象的分析有利于刻画资源构件对于软件开发活动中的个体活动的支撑和影响。 资源智能体为过程的实现选择应用各种资源类型,实现过程知识的传递和激活,控制各种类型资源的互动关系。 资源匹配构件建立资源智能体与过程管理结构之间的映射,实现资源智能体与行为空间的相互作用,维护各类资源的应用在过程中协调一致,实现不同资源之间的互补和交叉。 敏捷软件过程管理资源主要有以下几个方面: 1.过程管理信息介质 介质模式说明过程的输入和输出是如何进行表现的,以什么形式表达、组织、传递,以什么为载体。是通过网络进行交流还是以同一工作空间下的面对面交流,是以印刷材料作为文档还是使用电子文档,文档是以文字报告的形式还是以工作代码的形式,过程状态是通过人工上报还是通过过程管理软件自动跟踪。对这些模式的分析有利于动态的适应性调整过程中的活动内容与方式,调整信息流、业务流的速度和方向。 2.过程管理信息通道之间存在的关系 在环境和资源的驱动下,往往会出现资源之间的此消彼长,一种通道的加强,会出现另一种通道的削弱。基于文档的正式沟通与基于非正式沟通的面对面交流适用于不同的项目环境,应用不当将产生负面效果。如何能够形成通道之间的互补机制,以及如何判断通道之间的优劣和优先级,需要通过分析通道之间的关系来得到。 过程管理中占用的管理资源,是人与过程之间的信息和交互的载体。敏捷软件过程对传统过程的批评首先集中在传统过程管理的方法和思想使过程管理占用了过多的稀缺资源,造成过程管理的繁重和迟钝。过程知识的信息通道是过程管理中的主要资源,传统的过程是以书面文档形式的计划、报表、检查单为项目过程状态的信息通道,而知识的传递仅依靠书面的形式是远远不够的,人与过程的交互如果只有书面的明确表达方式,会造成大量过程信息的丢失,甚至阻碍过程中的信息流动。信息通道的多样性和有效性影响着过程流动的速度和效率。 3.过程管理的空间资源 过程管理空间是过程管理中的过程状态的输入、输出活动所发生的空间。如在一个共享空间中进行开发和在一个基于INTERNET的分布式开发环境下,口头交流和书面交流的地位和作用是差别很大的;一个多维的协作人际网络中的活动方式与一个一维的工作流活动方式也是不同的。
资源的分类
过程的运行应该调动更多样和有效的,而不是更多的管理资源。从以人为中心的观点来说,人与人的相互作用,最简单也是最有效的方式是面对面的交流。在各种敏捷方法中,都以引入面对面交流为主的沟通方式和为直接沟通创造便利的条件作为最重要的工作。而从人与过程的相互作用上来说,人与过程的交互应该向人最易接受的人性化输入输出通道逼近,缩短人与过程之间认知空间的距离。引入资源模型是对人与人的相互作用中采用的资源和人与过程的交互中采用的资源的比较和逼近模型。 资源建模基于以下一些基本分类: 1.基于文档 传统过程管理理论和项目管理理论中重要的一条是:一切都必须成为文档。只有以书面的形式表达和存储的信息,才被认为是可理解的、可度量的、明确的信息,对过程的控制来说是可观测并且可控制的,同时,只有明确形式的信息才能作为“硬”的依据和严格的管理手段。 2.基于计算机辅助软件工程(CASE)工具 书面的表达不够精确,因为文字描述不够严格,而不同的领域知识的描述文字不易相互理解。因此,UML等以图形化的语言为代表的,更易于理解和表达的交流方式与以正/逆向工程为基础的计算机辅助软件工程(CASE)软件相结合,成为现在过程信息流的主要形式。体现了专业技术与过程的认知空间的融合。 3.基于工作的代码 不论是纸质文档,还是电子文档,过程中大部分的文档不包括在最终交付软件产品中,而是中间制品。以开发者为中心的过程强调成果物的专业性和实效性,XP方法把所有的程序和测试代码作为“最有效的文档”,使过程的管理资源完全衍生自软件开发者的产品和技术,过程的表达方式与开发者的表达方式极端的合而为一。 4.基于面对面的沟通 知识的基本分类是外显知识与内隐知识,能够明确表达的只是知识整体的一部分,更多的知识以内隐知识的形态存在,所以,基于明确表达的交流方式不可能达到过程与人之间的自由交互,必须以面对面的直接沟通作为重要的交流方式。面对面的交流是以有效的组织环境为基础的,需要空间资源的支持,如敏捷方法中的结对工作方式就是基于规定的二人共享空间来改善质量、技术、组织的相关过程。 5.基于扩展的网际沟通 网络技术和应用的发展为面对面交流提供的扩展的模式,在网络空间内的交流逐渐成为软件项目中交流的重要补充,而且,可以在网络技术基础上建立分布各地的分布式软件开发环境,如开放源码开发方法完全基于Internet,虽然没有真正意义上的面对面交流,开发团队仍然能快捷地协作开发出成功的软件产品。
敏捷软件过程管理是对人、过程与资源之间的相互作用所进行的管理,目的是为人和过程合理配置资源,使过程适应人,使人适应过程。敏捷软件过程管理是经验性软件过程与规约性软件过程的和谐平衡,是适应和优化的平衡,是高质量产品和产生率的平衡。软件过程管理的发展趋势逐渐由“以过程为中心”转移到“以人为中心”,进而转移到“人与过程的和谐交互”,推动过程管理成熟的力量是人与过程的集成。 资源建模是对过程中的信息通道和信息类型进行总结和分类,定义资源的结构和对象,以匹配具体的过程和项目。基于资源模型,结合过程执行者的个性需要,设计出更加丰富的交互方式,使过程与人实现最大程度的融合。
|