工程软件如何进行管理(图文)
软件工程管理可以定义为对活动进行规划、协调、测量、监视、控制和报告等管理应用程序,以确保软件产品和软件工程服务得到高效、高效的交付,并造福于利害关系方。相关管理学是所有知识领域的一个重要组成部分(KA),但是它肯定对这一知识领域比其他知识领域更有意义。量度也是所有知识领域中的一个重要方面,本文介绍测量方法。
从某种意义上说,管理软件工程项目的方法也是可能的,这是其它复杂工作的。但是,在软件项目和软件生命周期流程中,存在着使有效管理更加复杂的方面,包括:
在项目管理知识系统(PMBOK)®和SWX中,用语初始化、计划、执行、监视和关闭来描述过程组。
顾客通常不知道需要什么,什么是可行的。
用户常常没有意识到软件工程内在的复杂性,尤其是在需求变化方面。
更多的了解和不断变化的环境将可能产生新的或者变化的软件需求。
软件经常使用迭代过程,而非一系列封闭的任务,因为需求发生变化。
软体工程学必须结合创意和纪律。有时很难在这两者之间找到一个平衡。
其新颖性和复杂性一般都很高。
基本技术通常会快速升级。
软体工程管理活动分为三个层次:组织与基础结构管理、项目管理以及度量计划的管理。在这个知识领域的描述中,后两个将会详细介绍。但是,这并不意味着降低组织和基础设施管理问题的重要性。一般认为,软件组织工程经理应熟悉本知识领域所描述的项目管理和软件度量。也应对某些特定领域有所了解。与此类似,如果复杂项目和程序(其中软件是系统体系结构的一部分)的管理者能够认识到软件过程引入项目管理和项目度量的不同之处。
分解软件工程管理知识领域的主题。
机构管理的其他方面(例如,组织的方针和过程提供一个进行软件工程项目的框架)也对软件工程有影响。为有效地开发和维护软件,可能需要根据需要对策略和流程进行调整。另外,为了有效地管理组织层面的软件工程,可能需要制定或者确立一些具体的软件工程战略。举例来说,针对软件工程任务(如软件设计、软件构建、评估、监测和报告)制定一个组织范围的过程或过程,通常需要有策略。这类政策对跨组织软件工程项目的长期有效管理非常重要(例如,通过该政策为以往的项目业绩分析和实现改进建立一个连贯的基础)。
机构管理的另一个重要方面是人事管理政策和程序,这些政策和程序不仅在项目层面上进行招聘、培训和职业发展指导,还包括组织的长期成功。软体工程师可能会面对独特的培训或人员管理挑战(例如,在基础技术经历快速、不断变化的环境中维持货币)。
交流管理也常被提及,它是个人在某一领域被忽略却很重要的方面,准确了解用户需求、软件需求、软件设计都是必不可少的。另外,“投资组合管理”,它提供了一种全面的视图,不仅仅是目前在各种项目和程序(集成项目)中开发的软件,而且也是组织内规划并目前使用的软件,都值得考虑。另外,软件重用也是维持和提高生产率和竞争力的关键因素。要有效地重用,就必须有战略眼光,反映重用的优缺点。
除理解管理方面对软件项目产生的独特影响外,软件工程师也应该对本知识领域所讨论的管理方面有一个更为普遍的理解(即使是毕业后的最初几年)。
与企业其他职能领域相结合的组织文化和行为属性,可以间接地影响组织的软件工程过程。
在项目管理知识体系指导(PMBOK®指导)和PMBOK®指南(SWX)的软件扩展中,可以找到关于软件项目管理的大量信息。每个指南包含10个项目管理知识:项目综合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理、项目利益相关方管理。每一个领域的知识都直接关系到软件工程管理的知识范围。
其它参考资料以及本知识领域的进一步阅读也会提供其它信息。本知识范围为软件工程管理知识,包括软件项目管理过程的前五个主题图7.1(开始和范围定义,软件项目计划,软件项目开发,审查与评估,结束),+软件工程测量在第六主题中,软件工程管理工具。尽管项目管理和度量管理常常被认为是分离的,但事实上,每一种都有很多不同的特性,紧密的关系导致了本知识领域的综合处理。遗憾的是,软件业普遍认为,软件产品交付太迟,超过预算,质量差,功能不完善。
所有真实工程学原理(参见工程基础知识领域的测量)都能帮助提高知觉和现实。没有度量(定性和定量)的管理,基本上就意味着缺乏纪律,没有管理的度量就意味着缺乏目标或环境。高效管理需要综合衡量和经验。
在此,工作的定义如下:
管理学是为了达到组织确定的战略目标而需要的过程和控制体系。
测量涉及到软件工程工作产品、流程和资源以及从其派生出来的模型,无论模型是否采用了统计或其它技术开发。
在这一知识领域的软件工程项目管理中,软件工程度量被广泛应用。
这一知识领域与指南中的其它知识领域紧密相关,阅读以下对此尤其有用:
工程学基础知识领域描述了一些通用的度量概念,它们可以直接应用到知识领域的软件工程度量部分。另外,本节中介绍的工程基础统计分析中介绍的概念和技术可直接适用于许多主题。
软体需求知识域描述了在项目开始和范围定义阶段需要进行的一些活动。
软体组态管理知识范围涉及软件组态的识别、控制、状态统计和审核,以及软件发布管理和传送及软件配置管理工具。
软件工程过程知识是对软件生命周期模型、过程与工作产品之间关系进行描述的。
在软件质量知识领域,许多软件工程活动都以质量为管理目标。
软体工程经济知识领域主要讨论如何在商业环境下进行软件相关决策。
分解软件工程管理主题。
由于大部分软件开发生命周期模型需要相似的活动,可以以不同的方式执行,因此主题的分解是基于活动的。图7.1中显示了这种细分。最高级元素分解图显示的是执行的活动,通常在软件开发项目的管理、一个独立的软件开发生命周期模型(软件工程过程知识领域,参见下一步的软件生命周期模型)中,已选定一个具体的项目。不建议将特定生命周期模型用于这一细分。分拆只表示正在进行的事情,并不表示每项活动发生的时间、方式和次数。七大主题是:
初始化和范围定义,处理软件工程项目启动决策;
*软件项目计划,从管理角度出发,处理为准备成功的软件工程项目而开展的活动;
*软件项目开发,处理软件工程项目实施期间经认可的软件工程管理活动;
*评估与评估,确保技术、进度、成本和质量工程活动令人满意;
*结束,指为了完成一项工程而完成的活动;
*软件工程度量,它处理测量方案在软件工程组织中的有效开发和执行;
*软件工程管理工具,描述如何选择和使用工具来管理软件工程项目。