关键是进行有效的任务管理,用任务管理系统来维护开发过程中越来越多的中间产品。这些中间产品包括传统的软件需求、设计、实现代码等文档外,第三方构件,历史项目资料、项目开发历史、可重用构件及开发组织的一些成熟的经验和模式等文档。然而,更为重要的是项目跨度和规模在不断扩大,软件的开发受到客户、开发人员、技术、合作伙伴、管理等多方面因素的影响,软件产品尤其是中间软件产品一直处于不停的相互影响和变动之中。软件的复杂性是软件的本质,软件工程第一定律表明:不管你处在生命周期的哪个阶段,系统都会发展变化,而且这种改变会一直存在于整个软件开发的生命周期中。没有科学完善的管理机制,软件的质量和成本就将难以保证。
软件变更带来的影响是多方面的,对于缺乏控制手段的软件组织,变更的不确定性和复杂性将会给管理和维护造成混乱。而对于成熟的软件组织,有效的管理和控制变更是自身完善的机会,因为对于软件产品来说,变更意味着新的技术的引入,新的市场的机会的出现,新的更为完善的产品的形成。因此,好的软件组织会把变更看成是一种必须,着力去控制实现而不是回避变更。
如何有效地维护、管理、追踪变更、防止混乱,传统手工的、单机的、静态的文档管理己经无法适应现代软件企业的发展需要,需要更为完整的管理方法来维护软件产品,而任务管理系统能够有效地解决上述问题,并对软件开发过程提供自动化支持。
然而,任务管理在各个软件企业的实施是有差异的,毕竟任务管理并不是一项纯技术的问题,有许多人的因素影响着任务管理的实施,因此,从某种意义上讲任务管理更应该属于一种管理范畴的问题,任务管理工具是任务管理的一种辅助手段。由于企业管理上工作流程的差异,导致商业的任务管理软件在某种程度上难以满足企业的开发需要。一个合理的有效的任务管理的解决方案是建立在软件企业的产品开发模型之上,是能够与这个企业的产品开发过程吻合的配置管理解决方案,所以有能力的软件企业大都自行开发任务管理系统。
1.2国内外研究技术开发状况
以变更控制和支持过程为中心,是现代任务管理系统的主要特点,能否实现有效的变更控制已成为判断软件企业是否专业化和正规化的重要标准。所谓控制变更指的是不论处在生命周期的哪个阶段,系统都会发生改变,而且这种改变会一直存在于整个软件开发的生命周期中。变更包含两方面内容:一是对变更过程的控制,保证变更以可以控制的方式进行;二是对文档的控制,变更必然导致文档的变化。所以配置管理系统要在这两方面提供支持叫。
所谓支持过程指的是对软件过程的支持,软件工程方法研究开始从"生存周期"向"过程"转移,软件过程的改进成为软件开发组织的一个重要努力方向。美国卡耐基梅隆大学软件工程研究所提出的软件过程成熟度模型CMM是这一研究成果的标志,人们开始认识到软件产品的质量在很大程度上依赖于软件过程,任务管理随着任务管理的应用己趋向成熟,但仍需要解决一些问题,这些问题有的是配置管理自身的技术问题,有的是新的需求新的开发模式带来的应用和集成问题,对于这些问题的解决将形成任务管理下一步发展的趋势,可归纳为:
(l)配置管理将于其他软件开发工具进行集成
配置管理不是一个独立的领域,它与其它软件开发工具共同构成软件开发的工程环境。配置管理集成包括:配置管理系统间的集成:一个软件组织可能存在多种配置管理系统。
与其他系统间的集成:如与case工具,与软件测试工具等。
(2)新的开发模式对配置管理提出的新的需求
在配置管理厂商致力于解决传统软件开发中的配置需求的同时