项目管理学习——第一课:概述

一、什么是项目

定义:

一种在一段时间内为了创造具有某种特征的产品或者服务而采取的一种努力。比如开发一个游戏,筹划一场婚礼等

特点:

A. 具有明确的目标

B. 具有明确的生命周期

C. 通常涉及多个专业和部门

D. 一般情况下,需要做以往未做过的事情

E. 特别的时间、成本和产品性能(服务质量)要求

二、项目管理

定义:

指在项目活动中,运用专门的知识、技能、工具和方法,使项目能够在限定的资源条件和计划的时间内高质量、高效率地实现或者超过设定的需求和期望的过程

因为项目是适应环境的普遍方式,因此一个组织的成功与否将取决于其管理项目的水平

项目管理权威机构PMI:项目管理协会(Project Management Institute)

项目管理人员资格认证:PMP

一个完整的项目管理流程通常包括五个阶段:启动阶段、规划阶段、执行阶段、监控阶段和收尾阶段,其中监控阶段是贯穿项目管理的整个过程的

三、软件项目管理

 

定义:

指软件生存周期中,软件管理者所进行的一系列活动,其目的是在一定的时间和预设范围内,有效地利用人力、资源、技术和工具,使软件系统或软件产品按照原定计划和质量要求如期完成

软件项目管理的关注点——4P: 人员 People、产品 Product、过程 Process、项目 Project

人员(People):

  • 人员是软件工程项目的基本要素和关键因素
  • 在对人员进行组织时,有必要考虑参与软件过程及每一个软件项目的人员类型

产品(Product):

  • 定义项目范围,其中包括建立产品的目的和范围、可选的解决方案、技术或管理的约束等
  • 其目的是,从客户的角度定义该产品的总体目标,但是不必考虑这些目标如何实现
  • 软件范围定义了与软件产品相关的数据、功能和行为,及其相关的约束

            1、环境(context):说明待建造的软件与其他相关系统、产品或环境的关系,以及相关的约束条件

            2、信息目标:说明目标系统所需要的输入数据及应产生的输出数据

            3、功能和性能:说明软件应提供的功能来完成输入数据到输出数据的变换以及给出对目标软件的性能要求

过程(Process):

  • 通常将项目分解为任务——子任务等,其分解的原则是基于软件工程的过程
软件项目管理通用过程
  • 软件项目启动前对项目进行可行性分析,以明确项目的目标和范围,从而确定:
    1. 合理精确的成本分析;
    2. 实际可行的任务分解;
    3. 可管理的进度安排
  • 在多个项目方案中选择一个相对完善的方案

           考虑交付期限、预算、个人能力、技术界面等限制条件

  • 在正式启动软件项目组前成立项目组,并召开项目启动会议,内容包括:  
    1. 项目组的初步交流
    2. 一步对项目目标理解
    3. 对组织形式、管理方式、方针的一致认识
    4. 明确岗位职责
  • 在项目经理领导下,组织不同类型的项目组成员共同协作完成软件项目,存在多种可选的项目组织结构,组织结构的选择对项目的成败具有很大影响;通常选择组织结构时,考虑因素如下:
    1.  待解决问题的困难程度
    2. 目标系统的规模,可用代码行或者功能点度量
    3. 项目组的生存周期,即项目小组需要共同工作的时间
    4. 问题可被分解的程度
    5. 对项目系统要求的质量和可靠性
    6. 可供开发时间的紧迫性,即交付时间的严格程度
    7. 项目组内部的通信的复杂性,即成员之间正式或非正式通信的机制
  • 项目计划是项目组织根据软件项目的目标及范围,对项目实施中进行的各项活动进行周密的计划
    1. 项目计划根据项目目标确定项目的各项任务、安排任务进度、编制完成任务所需的资源预算等
    2. 项目计划包括:工作计划、人员组织计划、设备采购计划、变更控制计划、进度控制计划、财务计划、文件控制计划、应急计划等
  • 软件度量是指计算机软件范围内的测量,主要是为产品开发的软件过程和产品本身定义相关的测量方法和标度
    1. 对软件开发过程度量的目的是为了对过程进行改进
    2. 对产品进行度量的目的是为了提高产品的质量
    3. 度量的作用是为了有效地采用定量的方式来进行管理
    4. 管理人员利用度量来了解软件工程过程的执行情况和产品质量
    5. 需要考虑:合适的度量是什么、所收集的数据如何使用、用于比较个人、过程或产品的度量是否合理
  • 项目预算是指定项目计划的基础
    1. 项目所需的人力(以人月为单位)、项目持续时间(以年份或月份为单位)、成本(以元为单位)等
    2. 参考以前类似项目中的相关数据进行估算;如果无相关可类比项目,可以采用特定的估算技术(例如功能点估算等)
    3. 通常采用多种估算技术进行交叉检查
  • 风险:人员、经费、进度及需求等方面存在的可能影响项目按计划完成的不确定因素
    1. 风险管理:标识软件项目中的风险,预测风险发生概率以及风险造成的影响,并对风险进行评估,找出那些可能导致项目失败的风险,然后采取相应措施来缓解风险
    2. 风险管理贯彻与整个软件工程过程中
  • 在项目实施过程中,将在进度计划基础上跟踪实际执行情况,从而及时发现偏差并采取措施加以调整以确保项目按期完成;进度安排:
    1. 将项目划分为可管理的子项目、任务和活动
    2. 确定任务之间的依赖关系,找出影响项目按期完成的关键任务
    3. 为每个任务分配时间、工作量以及指定责任人,定义每个任务的输出结果及其关联的里程碑
  • 跟踪是控制的前提,它实际上是在项目实施过程中,对影响项目进展的内外部因素进行及时的、连续的、系统的记录和报告的活动,其核心在于反映项目变化、提供相关信息的报告
  • 控制是通过工具和技术对项目计划与实际执行情况进行对比,并对项目的未来走势进行预测,并在此基础上进行项目的各种调整
  • Software Confignation Management (SCM):SCM存在于整个软件过程中,是一种保护性的活动
  • 任务:标识和确定系统中的配置项,在系统整个生命周期内控制这些项的发布和变更,记录并报告配置的状态和变更要求,验证配置项的完整性和正确性

项目(Project):

  • 采用科学的方法及工具对项目基本内容进行管理(有计划、可控制)

            1、明确目标及过程:充分理解需要解决的问题,明确定义项目目标及软件范围,为项目小组及活动设置明确、现实的目标,并充分发挥相关小组的自主性

            2、保持动力:提供激励措施使人员变动最小

            3、跟踪进展:对每个任务的进展进行跟踪,并对其软件过程和质量进行度量

            4、聪明的决策:决策应该保持简单,可实现

            5、项目总结:从每一个完成的项目中获取可以学习的经验

通常,在软件项目管理中会有五大类人员

1、项目管理人员

  • 负责软件项目的管理工作,其负责人通常称为项目经理

2、高级管理人员

  • 可以是领域内的专家,负责提出项目的目标并对业务问题进行定义

3、开发人员

  • 掌握了开发一个产品或应用所需的专门技术,可以胜任包括需求分析、设计、编码、测试、发布等各种相关的开发岗位

4、客户

  • 一组可说明待开发软件的需求的人,也包括与项目目标有关的其他风险承担者

5、最终用户

  • 产品或者应用提交后与产品/应用进行交互的人
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值