项目管理软件工程与安管实践.docx
《项目管理软件工程与安管实践.docx》由会员分享,可在线阅读,更多相关《项目管理软件工程与安管实践.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、项目管理、软件工程与安管团队实践1、 培训目标l 了解掌握项目管理、软件工程的基础知识l 通过相关知识的理解增强团队意识和产品意识,并树立服务意识l 明确团队建设目标和产品建设目标,尽早建成优秀团队2、 项目管理基础知识2.1影响项目进程的因素l 软件过程模型:瀑布模型、迭代模型、形式化的变换模型l 项目干系人:积极参与项目、或其利益因项目实施或完成而受到积极或消极影响的个人和组织l 组织:客户单位、公司、部门、项目组、PMO等一切关联组织2.2 项目管理过程l 戴明环l 过程组2.3项目管理的内容l 整体管理l 范围管理l 时间管理l 成本管理l 质量管理l 人力资源管理l 沟通管理l 风险
2、管理l 配置管理l 需求管理l 知识管理l 外包管理l 采购管理2.4 项目管理的核心四要素及其关系l 产品建设的总成本大与小,总时间多与少,总体质量好与差受产品范围大小的制约l 在产品范围为一个定值时,成本、时间、质量的标准将此消彼长,在进行产品建设时需把握平衡,不应使某一个或两个要素的标准过度2.5 人力资源管理-团队建设与管理2.5.1 团队建设的目标l 提高团队成员的个人技能,以提高完成项目活动的能力l 提高成员之间的信任感和凝聚力,通过团队合作提高工作效率2.5.2 优秀团队建设所经历的阶段l 形成期:个体成员从不同的组织转变为团队成员,开始相互认识,并形成共同目标。个体成员通过各种
3、渠道和方式互相了解,找到属于自己的角色并开始承担起相应的团队任务。这一阶段团队往往会沉浸在对未来美好的期待中;l 震荡期:团队成员开始执行分配的任务,一般会遇到超出预想的困难,希望被现实打破,个体之间开始争执,互相指责,并且开始怀疑项目经理的能力并消极对待工作。这个阶段士气明显下降,冲突和不和谐是这个阶段的显著特征;l 正规期:经过一段时间的磨合,团队成员之间互相熟悉和了解,矛盾基本解决,项目经理能够确立正确的关系。这一阶段团队接受了这个工作环境,项目规程得以改进和规范化,控制和决策权从项目经理移交给了项目团队,凝聚力开始形成,每个成员为取得目标所作的贡献得到认同和赞赏,成员之间可以自由的,建
4、设性的表达他们的情绪及评论意见。在这个社会化过程之后,大家建立忠诚和友谊,甚至是超出工作范围的友谊;l 表现期:随着相互之间的配合默契和对项目经理的信任,成员积极工作,努力实现目标。这一阶段的工作绩效很高,团队有集体荣誉感(常将团队换成第一称谓,如“我们那个组”或“我们部门等”,并努力捍卫团队声誉),信心十足,相互依赖度高,经常合作,并在自己的工作任务外尽力互相帮助,团队精神和集体的合力充分体现,是一个1+12的阶段。2.5.3 成功团队的特点l 团队目标明确,成员清楚自己的工作对目标的贡献;l 团队的组织结构清晰,岗位明确l 有成文和习惯的工作流程和方法,而且流程简明有效l 项目经理对团队成
5、员有明确的考核和评价体系,工作结果公开公正,赏罚分明l 组织纪律性,违反纪律往往会牺牲多数人的利益,以人为本不是以个人为本l 相互信任,善于总结和学习2.5.4 冲突管理方法l 问题解决:冲突双方一起积极的定义问题、收集问题的信息、开发并分析解决方案直到选择一个最合适的方法来解决问题,这样双方都会满意即双赢,是冲突管理中最有效的方法l 妥协:冲突双方协商并寻找一种使矛盾双方都有一些程度满意的方法,即大家都做一些让步,这种方法是相对问题解决方法较好的方法l 求同存异:冲突双方关注一致同意的观点,避免不同的观点,这可以保持一种友好气氛,但是避免了解决冲突的根源。即大家先冷静,先把工作完成。l 撤退
6、:就是搁置问题,以后解决l 强迫:赞同一个人的观点而不管另一个人的观点,一方赢一方败,除非是没有办法时,否则一般不推荐这样,因为这将导致另一个冲突的发生。3、 软件工程基础知识3.1 软件开发模型的分类l 瀑布模型:是一种严格定义的方法,将软件开发过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段,形如瀑布流水,最终得到软件产品l 迭代模型:在软件开发初始阶段只能提供基本需求为背景的开发模型,包括演化模型、喷泉模型、螺旋模型、统一开发过程和敏捷方法等l 形式化变换模型:基于形式化规格说明语言和程序变换的软件开发模型,它对形式化的软件规格说明进行一系列自动或半自动地程序变
7、换,最后影射为计算机能够接受的软件系统3.1.1 演化模型即原型法,根据用户调用原型的过程中提出反馈意见和建议,对原型进行改进,获得原型的新版本,重复这一过程,直到演化成最终的软件产品。l 优点:任何功能一经开发就能进入测试,以便验证是否符合产品需求,可以帮助引导出高质量的产品要求。l 缺点:容易出现各种风险:不切实际的进度和预算,项目可控性降低,产品性能不佳,不切实际的性能期望、设计不佳、可维护性差、目标偏移、开发效率较低原型法和敏捷方法最大的区别是,原型的功能不是实际可用的功能,实际开发阶段原型很可能会被抛弃或部分抛弃;原型的功能不能用来评价实际的软件系统。3.1.2 螺旋模型是瀑布模型和
8、演化模型的结合体,它将原型实现的迭代特征和线形顺序的控制和系统化的方面结合起来,实现软件的增量版本的快速开发l 优点:强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应。因此特别适合庞大、复杂并具有高风险的系统l 缺点:需要开发人员具有相当丰富的风险评估经验和专门知识,另外,过多的迭代次数会增加开发成本,延迟提交时间3.1.3 喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于面向对象的软件开发过程,对各个开发阶段没有特定的次序要求,并且可以交互进行,在某个开发阶段可以随时补充其它任何阶段中的遗漏。l 优点:各活动之间无明显边界,只用类和关系来表达分析
9、、设计和实现等活动,从而较容易实现活动的迭代和无间隙,提高软件项目开发效率,节省开发时间。l 缺点:因开发阶段无明显界限和次序要求,对必须的过程资产容易忽略,比如文档等,对开发人员的经验和素质要求较高,并要求团队较为稳定。喷泉模型和敏捷方法最大的区别是,喷泉模型是最终交付而不是敏捷提倡的多次持续交付3.1.4 统一开发过程UP(Unified Process)是将项目管理、业务建模、分析与设计等统一起来,贯穿整个开发过程。在时间上,UP被分解围四个阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段,每个阶段结束时都要安排一次技术评审,评审通过才可进入下一个阶段。这四个阶段就是一个开发周期,每次
10、经过这四个阶段就会产生一代软件。除非软件退役,否则通过重复同样的四个阶段,产品将演化为下一代产品,但每一次的侧重点都将放在不同的阶段上。用户需求的变化、运行环境的变更、基础技术方面的变更等都会引发演化过程。l 优点:UP使团队中的每个开发人员的见解和思想得到统一,沟通更为容易,增强了开发人员对软件的预见性,提高了软件质量,并有效缩短了软件从开发到投放市场的时间l 缺点:太过庞大和复杂,不能快速适应需求的变化,而且变更一个需求要经历复杂的过程和很多额外的工作。3.1.5 敏捷方法l 敏捷宣言: 个体和交互胜过过程和工具; 可工作的软件胜过大量文档; 客户合作胜过合同谈判; 响应变化胜过遵循计划。
11、l 敏捷12原则: 尽早持续交付有价值的中间软件使客户满意 即使到了开发后期,也欢迎需求变化,利用响应变化创造竞争优势 经常交付可工作的软件,间隔时间越短越好,可以是几周到几个月 开发全过程,业务人员和开发人员必须天天都在一起工作 为开发人员提供环境和支持,给予信任,以人为本的构建项目 团队内部,最有效的地沟通方式莫过于面对面地交谈 工作的软件是度量进度的最首要标准 提倡可持续的开发速度,责任人、开发者和客户应保持一个长期的、恒定的开发速度,反对无限制加班,因为这样会使团队的精力过早耗尽,过早的对项目失去兴趣从而得到事与愿违的结果 不断关注好的技能和设计会增加敏捷能力 开发者本质是简单的,不管
12、明天的需求,只采用符合今天需求的简单设计,今天的设计考虑太多明天的需求,就有可能做了很多的无用功 自组织的团队才能做出最好的架构设计和需求分析 团队应定期在如何更有效工作方面进行反省,然后对自己的行为做出改进l 主要的敏捷开发技术 极限编程 自适应软件开发 水晶方法 特性驱动开发 动态系统开发方法 测试驱动开发 敏捷数据库技术 精益软件开发l 缺点: 客户参与度往往依赖于客户的意愿和客户自身的代表性 团队成员的性格可能不适合激烈的投入,可能无法做到与其它成员之间的良好沟通 对系统的变更作出优先级排序可能是极端困难的 维护系统的简洁性往往需要额外的工作,但迫于移交时间表的压力,可能没有时间执行系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 管理软件 工程 实践
限制150内