软件项目管理中可以分成两部分:
项目是定义明确的任务,这是为了实现某个目标(例如,软件开发和交付)进行的一系列操作的集合。一个项目可以表征为:
一个软件项目是软件开发从需求收集到测试和维护的完整过程,按照执行方法进行,在特定的时间段内实现预期的软件产品.
软件被认为是一种无形的产品。软件开发是世界商业中的一种全新流程,在构建软件产品方面的经验很少。大多数软件产品都是根据客户的要求量身定制的。最重要的是底层技术的变化和进步如此频繁和迅速,以至于一种产品的经验可能无法应用于另一种产品。所有这些业务和环境限制都会给软件开发带来风险,因此有效管理软件项目至关重要。
上图显示了软件项目的三重约束。它是软件组织的重要组成部分,以提供高品质的产品,将成本控制在客户的预算范围内,并按计划交付项目。有几个内部和外部因素,这可能会影响到三重约束三角形。三个因素中的任何一个会严重影响其他两个.
因此,软件项目管理对于用户的需求以及预算和时间的限制结合起来是至关重要的.
软件项目经理是负责执行软件项目的人。软件项目经理完全了解软件将经历的 SDLC 的所有阶段。项目经理可能不会直接参与生产的最终产品,但他控制和管理参与生产活动。
项目经理密切监察开发过程,准备和执行各种计划,安排必要的和足够的资源,保持所有团队成员之间的沟通,以解决成本,预算,资源,时间,质量和客户满意度等问题。
让我们来看看一个项目经理需要做什么:
软件项目管理包括了一系列活动,其中包括项目的规划、软件产品范围的决定、各个方面的成本估算、任务和事件的调度和资源管理。项目管理活动包括:
软件项目规划的任务,是在生产软件的真正开始之前进行。它是为软件生产而存在的,但不涉及与软件生产有任何方向联系的具体活动;相反,它是一组多个流程,便于软件生产。
它定义项目的范围;这包括了为了制作可交付的软件产品而需要完成的所有活动和过程。范围管理是必不可少的,因为它通过明确定义在项目中可以做什么做,不可以做什么来创建项目的界限。这使得项目包含有限的且可量化的任务,它可以很容易地进行记录,进而避免了成本和时间超支。
在项目范围管理,有必要:
对于各项措施的有效管理准确的估算是必须的。有了正确的估算,经理可以更有效地管理和控制项目。
项目估算可能涉及以下内容:
我们讨论了涉及项目估算各种参数,例如规模,工作量,时间和成本.
项目经理可以使用两种广泛认可的技术来评估所列出的因素。
这种技术将软件假定为各种组合的产品。
主要有两种模式:
这种技术使用经验得出的公式来作出估算。这些公式是基于 LOC 或 FP.
项目中的项目安排是指在每个活动分配的时间段内按照指定的顺序完成的所有活动的路线图。项目经理倾向于定义各种任务和项目里程碑,并在考虑各种因素的情况下安排它们。他们在计划中寻找位于关键路径中的任务,这些任务必须以特定的方式(因为任务相互依赖)并严格在分配的时间内完成。关键路径之外的任务安排不太可能影响项目的所有进度。
安排一个项目,有必要:
用于开发软件产品的所有元素都可以被假定为该项目的资源。这可能包括人力资源,生产工具和软件库。
资源数量有限,并作为资产池留在组织中。资源短缺阻碍了项目的发展,可能会滞后于进度。分配额外的资源最终会增加开发成本。因此,有必要为项目估算和分配足够的资源。
资源管理包括:
风险管理涉及与识别、分析和准备项目中可预测和不可预测风险有关的所有活动。风险可能包括以下内容:
有参与的风险管理流程如下活动:
在这个阶段中,项目计划中描述的任务根据它们的时间表执行。
执行需要监控,以检查按计划一切是否会按计划进行。监控是观察以检查风险发生的可能性,并采取措施应对风险或报告各项任务的状态。
这些措施包括:
有效的沟通对项目的成功起着至关重要的作用。它弥合了客户与组织、团队成员以及项目中其他利益相关者(如硬件供应商)之间的差距。
沟通可以是口头的或书面的。通信管理过程可具有以下步骤:
关闭后,团队进入下一阶段或项目。
配置管理是跟踪和控制软件在产品的要求、设计、功能和开发方面的变化的变化。
IEEE 将其定义为“识别和定义系统中的项目的过程,控制这些项目在整个生命周期中的变化,记录和报告项目状态和变更请求的过程,并验证项目的完整性和正确性。”。
通常,一旦 SRS 最终确定,用户要求更改的可能性就较小。如果发生这些变化,只有在获得更高管理层的事先批准后才能解决,因为可能会超出成本和时间。
如果 SDLC 的一个阶段是基线,则假定它结束,即基线是定义阶段完整性的度量。当与其相关的所有活动均已完成并有据可查时,该阶段即位基线。如果它不是最后阶段,则其输出将在下一个立即阶段使用。
配置管理是组织管理的一门学科,他负责在一个阶段建立基线后发生任何变化(流程、需求、技术、战略等)。CM 会不断检查软件中所做的任何更改。
变更控制的配置管理,从而确保软件系统进行的所有更改都一致并按照组织的规章制度的作用。.
在产品配置的变化经过以下步骤 -
即使项目是根据既定方法开发的,风险和不确定性也随着项目规模的增加而成倍增加。
有一些可用的工具可以帮助进行有效的项目管理:
甘特图是由亨利·甘特(Henry Gantt,1917)设计的。它代表与事件段相关的项目进度表。它是一个水平条形图,其中的条形表示为项目活动安排的活动和事件。
PERT(程序评估和审查技术)图是一种将项目描述为网络图的工具。它能够以并行和连续的方式以图形方式表示项目的主要事件。一个接一个发生的事件表明后一个事件对前一个事件的依赖性。
事件显示为编号节点。它们由描述项目中人物顺序的标记箭头连接。
这是一个图形工具,包含表示项目事件(或阶段)随时间推移所需资源数量的条形图或者图表。
此工具可用于识别项目中相互依赖的任务。它还有助于找出完成项目的最短路径或关键路径。与 PERT 图一样,每个时间都被分配了一个特定的时间范围。此工具还显示事件的相关性,假设事件只有在前一个时间完成后才能进行到下一个事件。
事件根据其最早可能的开始事件进行安排。起始节点和结束节点之间的路径是关键路径,不能进一步缩减,所有事件都需要以相同的顺序执行。