Vison's Blog
所有文章
文章总览
编辑器
Publications
About Me
Search
目录
#toc-container
下载Markdown文件
软件项目管理-第二课
2021年03月01日 16时43分
标签:
软件项目管理
 ## 0 软件项目管理概述(续) ### 1.4 过程管理与软件项目管理的关系 - 过程管理 - 过程 - 《牛津简明辞典》 - 一系列活动与操作的集合 - 例如一系列的生产阶段或操作 - IEEE-Std-610 - 为完成一个特定的目标而进行的一系列操作步骤 - 过程管理:对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进 - 循序渐进地积累各个环节的实践经验和项目管理的实践经验,保证生产力持续地发展 - 重要性 - 如果不关注过程 - 不同的开发团队或者个人会采用不同的开发过程 - 开发的产品质量也是不同的 - 依赖于个人的素质和能力 - 关注过程 - 不管谁来做,不管需求是什么,采用同一个开发过程 - 经过同一企业过程开发的软件,产品质量是一样的 - 可以通过提高过程的质量来提高产品的质量 - 公司能力的体现 - 产品的质量依赖于企业的过程能力,不依赖于个人能力 - 过程管理和项目管理的关系 - 项目管理用于确保项目的成功 - 过程管理用于管理最佳实践 - 两者不是互相孤立的,而是有机地紧密地结合的 ### 1.5 软件项目管理过程、敏捷项目管理 - 软件项目管理——敏捷宣言 - 敏捷思维 - 让软件开发团队能快速工作、响应变化的价值观和原则 - **个体和交互** 胜过 过程和工具 - 面对面的直接沟通比一些流程性的文件和工具沟通效率要高很多。 - **可以工作的软件** 胜过 面面俱到的文档 - **客户合作** 胜过 合同谈判 - 越接近你的客户越好 - 选择与你的客户一起为接近方案努力而使每个人都受益 - **响应变化** 胜过 遵循计划 - 对变化响应的速度就决定你在市场上的灵活性 - 敏捷模型(Agile Development) - 12个敏捷原则 - 尽早地、持续地**交付有价值**的软件来使**客户**满意 - 即使到了开发的后期,也**欢迎改变需求**。敏捷过程利用适应变化来为客户创造竞争优势 - 经常性地交付**可以工作**的软件,交付的间隔可以从几周到几个月,交付的**时间间隔越短越好** - 交付时间越短,和客户协作就越紧密 - 让迭代结果可以交付,但并不是每次迭代的结果都需要交付给客户 - 每次迭代都会增加一些功能,增加的每个功能都是经过编码、测试,达到了可以发布的质量标准 - 开发人员和业务人员必须天天都在**一起工作** - 客户、需求人员、开发人员以及涉众之间必须进行有意义的、频繁的交互 - 围绕被激励起来的**个体组成团队**来构建项目。给他们所需要的环境和支持,并信任他们能够完成工作 - 在团队内部,最具有效果并且富有效率的传递信息的方法,就是**面对面的交流** - 在**几十或者二十几个人**组成的大团队中,文档是一种比较合适的传递知识和交流的途径 - 敏捷团队**一般不会很多人**,面对面交谈更加快速有效 - 可以**工作的软件**是**首要的**进度度量标准 - 敏捷过程提倡**平稳的开发**。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度 - 保持长期恒定的速度是一种理想 - 开发工作不应该是突击行为 - 持续加班只会导致人疲劳、厌倦 - 不断地关注**优秀的技能**和**好的设计**会增强敏捷能力 - **简单**——使未完成的工作最大化的艺术——是根本的 - 不可能预期后面需求会如何变化,所以不可能一开始就构建一个完美的架构来适应以后的所有变化 - 敏捷团队不会构建明天的软件,而把注意力放在如何通过最简单的方法完成现在需要解决的问题 - 最好的构架、需求和设计出自于**自组织的团队** - 自组织团队中,管理者不再发号施令,而让团队自身寻找最佳的工作方式来完成工作 - 团队会逐渐形成不言而喻的规矩,成员之间相互理解默契,工作效率非常高 - **每隔一定时间**,团队会在如何才能更有效地工作方面进行**反省**,然后相应地对自己的行为进行**调整** - 不确定因素(项目成员增减、技术应用效果、用户需求改变、竞争者)会导致计划失败,会让我们做出不同的反应 - 敏捷**不是基于定义的**工作方式,而是基于**经验性**的方式对其进行优化 ### 项目管理阶段:项目初始=>项目计划=>项目执行控制=>项目结束 - 项目初始 - 项目确立 - 生存期 - 项目计划 - 范围计划 - 成本计划 - 进度计划 - 质量计划 - 配置管理计划 - 团队计划 - 风险计划 - 合同计划 - 项目执行控制 - 集成计划执行控制 - 核心计划执行控制 - 辅助计划执行控制 - 项目结束 ### 小结 - 软件项目管理的基本概念 - 过程管理与软件项目管理的关系 - 软件项目管理过程、敏捷项目管理 ---- ## 1 项目初始 定义一个新项目并授权开始该项目的一组过程 ### 2 项目确立 - 2.1 项目评估 - 启动项目之前,要对项目进行评估,确定该项目是否要立项 - 评估是为立项作准备的,是立项的依据 - 项目评估的角度 - 战略可行性 - 操作可行性 - 计划可行性 - 技术可行性 - 社会可行性 - 市场可行性 - **经济可行性** - 是很多**项目评估的底线**,对整个项目的投资和所产生的收益进行分析 - 成本效益分析方法 - 成本高于收益,则项目亏损 - 成本小于收益,则项目值得投资 - 主要经济指标 - 现金流预测 - 现金流预测是描述何时支出费用,何时有收益的过程 - 净利润 - 项目的整个生命周期中总成本和总收入之差 - 没有考虑现金流的时限 - 投资回报期 - 达到收支平衡或者偿还初始投入所花费的时间 - 衡量收回初始投资的速度的指标 - 投资回报率 - 也称会计回报率 - 用于比较净收益与需要的投入 - ROI=(平均年利润/总投资)*100% - 净现值 - 现在的价值表现与此对应的未来的价值 - 考虑了项目的收益率和要产生的现金流的时限 - NPV=未来报酬的总现值-初始投资现值 - NPV=第t年的NPV/(1+r)^t - r:折现率 - 内部回报率 - 可以直接与利润比较的百分比回报 - 净现值NPV为0时的折现率 - 2.2 项目立项 - **明确项目** - 明确项目的目标 - 明确项目的时间表 - 明确项目使用的资源和经费 - 得到**项目发起人**的认可 - 什么是立项建议书? - 项目立项的申请报告 - 可与比较简要,也可以比较详尽 - 为了获得项目审核和支持 - 立项关注点 - 解决做什么的问题 - 确定开发的项目 - 关注点:效益和利润 - 核心 - 确定立项前期需要投入多少,能否盈利,什么时候盈利,能否持久盈利
所有评论
暂无评论
新增评论
评论
邮箱
邮箱仅作验证使用
图形验证码
邮箱验证码
发送验证码
发表评论
所有评论
暂无评论