软件开发过程管理中的环境要素与突变因素分析
软件开发项目团队与软件开发过程构成一个复杂软件系统,软件系统的复杂性在于人与人、过程与过程、过程与人之间不是一种机械动力学关系,而是一种复杂的、难以用数学方法刻画的相互作用、相互联系。这样的软件系统依靠自学习、自组织、自适应的模式来形成一个有机的结构,软件系统中的主体是智能化的,有其对自身、组织和环境的反应能力和认知规则,组织适应性的基础在于人与过程对其相互作用和相互联系的认知和反应能力。
软件开发过程管理中的环境要素——变化
软件开发项目最大的特点是内外部环境的快速变化和不确定性。知识社会的环境复杂性表现在:(1)边际收益递增;(2)竞争者的协同进化;(3)由“经济人”到“复杂人”;(4)企业环境信息误导;(5)企业环境的迅速变迁;(6)旧经济规律的不断失效。软件开发过程对于机遇和风险的把握能力和创新的能力,决定了组织对市场和竞争环境变化的应对能力。
敏捷软件开发过程管理对于快变和不可预测的复杂环境,采取“拥抱变化”的态度,不只快速有效的回应这些变化,而且主动的创造变化以获得组织的竞争地位。容变的软件开发过程使软件开发项目能够从容应付快速变化和不断变化的市场,获得组织的长期效益。
软件开发过程管理中的突变成果——过程
知识管理是软件开发过程管理的本质,软件开发过程管理把知识作为一种基本的资源和产品,知识的开发利用渗透到软件开发产品生产的所有生产要素之中,贯穿于组织各项活动之中。
过程作为一种知识产品,是把人们的精力集中于结果的组织化结构,这种组织化结构是软件系统演化和突变的结果。复杂软件系统内部要素的相互作用是非线性的,要素之间的非线性相互作用使新的特性涌现出来,即产生突变。
知识管理的核心是在工作环境中高效地使用知识和创造新的知识结构。敏捷软件开发过程管理不只是对现有过程知识资本的维护,更是对工作环境的改善,使知识更容易交流,更容易创造和积累。知识环境对过程管理的知识活动起着推动或阻碍的作用。