您好,欢迎访问三七文档
微软的软件开发过程重庆大学计算机学院曾一023-65102621ZYJCKXX@CQU.EDU.CN-软件开发过程与案例陈宏刚熊明华林斌张高张益肇张亚勤1.微软解决方案框架MSF1.1观点:技术不是项目成功与否的惟一决定因素。一个成功的IT项目中,开发人员、开发过程以及风险管理等因素起着至关重要的作用。预见性地、可持续地管理和控制项目风险有效地进行协作和沟通确保技术方案与商业需求的一致1.微软解决方案框架MSF1.1观点:技术不是项目成功与否的惟一决定因素。项目失败的五大因素不完整的需求描述缺少用户参与缺乏资源-经费、人员、场地、时间等不现实的项目目标缺少管理层的支持1.微软解决方案框架MSF1.2什么是微软解决方案框架MSF?MSF(MicrosoftSolutionFramework)是微软公司根据自身的实际经验为企业设计的一套有关软件开发的工作模型、开发准则、成功经验和应用指南。MSF的设计目标是为企业IT系统的规划(Planning)、建设(Building)和管理(Managing)提供支持和帮助。1.微软解决方案框架MSF1.2什么是微软解决方案框架MSF?MSF可以帮助企业解决以下问题将企业的商业目标同技术目标有机地结合起来确立明确的项目目标和完善的项目职责体系积极有效地管理项目风险实施以里程碑为主导的渐进项目管理过程管理和控制项目的需求变化1.微软解决方案框架MSF1.3微软解决方案框架MSF中的模型企业架构模型EnterpriseArchitectureModel解决方案设计模型SolutionDesignModel风险管理模型RiskManagementModel组队模型TeamModel过程模型ProcessModel应用模型ApplicationModel1.微软解决方案框架MSF均衡三角形影响项目成败的三个关键因素资源(人和费用)进度(时间)功能(组成一个相互关连、相互依赖的三角形求得三者之间的平衡三角形任何一边的改动都必须迫使另两边的改变,否则项目可能失败。1.4微软解决方案框架MSF中的开发准则功能组队模型过程模型应用模型TradeoffTriangle2.组队模型TeamModel2.1什么是组队模型总结了MS在成功的项目中组织人力资源、安排工作任务的基本原则和方法定义了项目组内的角色分工、任务分配和人员职责为项目组成员提供了有关在项目生命周期中如何实现目标的指导性建议2.组队模型TeamModel2.2组队模型的基本原则1)按层次结构和职能单位划分的小型的、多元化的项目组(small,multidisciplinaryteam)BillGates说:“在那些有着严格的经费预算和确定的时间期限、其组员在处理问题时享有充分自由的小型项目组中,人们通常拥有最高的生产效率。”多元化的体现即指在一个项目组内,甚至在一个角色内,通常有多种不同的工作方式,需要其成员具有不同的工作技能或经验水平。在小型的、多元化的项目组中,交流成本、运营成本、管理成本低,决策和执行速度快,产品发布周期短,产品质量高。2.组队模型TeamModel2.2组队模型的基本原则2)角色依赖和职责共享(interdependentrolesandsharedresponsibilities)在项目组内,每一个角色都对项目本身以及他们各自的主管部门负责,以实现该角色的工作目标。整个项目的各项工作职责通过对等团队的结构被项目中不同的角色和成员共享,项目目标也通过不同角色的工作目标得以实现。在项目组内,不同角色的工作无法完全孤立,这可促使这些角色主动发表意见和贡献力量。2.组队模型TeamModel2.2组队模型的基本原则3)专深的技术水平和业务技能(deeptechnicalandbusinessacumen)透彻理解用户需求熟悉客户的业务流程和业务模式熟练掌握相关技术把握产品目标2.组队模型TeamModel2.2组队模型的基本原则4)以产品发布为中心(focusoncompetencyandshippingproducts)强烈的产品意识按时发布产品的显著标识产品单元的内部代码2.组队模型TeamModel2.2组队模型的基本原则5)明确的目标(cleargoalsandobjectives)统一的方向明确的目标目标与需求的一致2.组队模型TeamModel2.2组队模型的基本原则6)客户的主动参与(activecustomerparticipation)客户对产品特性的实时反馈产品管理角色以客户身份出现客户直接担任产品管理角色2.组队模型TeamModel2.2组队模型的基本原则7)分享产品的前景(sharedprojectvision)项目组内所有成员都应该对产品前景有清晰和明确的认同每一位成员都应该在产品前景的激励下努力工作每一位成员都应该能为产品的美好前景贡献力量而自豪2.组队模型TeamModel2.2组队模型的基本原则8)所有人都参与设计(everyoneparticipatingindesign)有意义的建议有价值的信息使产品趋于完善和合理2.组队模型TeamModel2.2组队模型的基本原则9)认真从过去的项目中吸取经验(deliberateeffortstolearnfrompastprojects)总结反省分析2.组队模型TeamModel2.2组队模型的基本原则10)共同管理、共同决策(sharedprojectmanagementandshareddecision-making)每一个成员都对项目管理和项目组中的重要决策负有一定的职责,应当参与每一个决策每个角色的负责人应该集思广益才能做出最终决定2.组队模型TeamModel2.2组队模型的基本原则11)项目组成员在同一地点办公(teammembersworkingtogetheratonesite)更高的沟通效率更好的工作业绩非正式的交流增多:电梯间、餐桌边等2.组队模型TeamModel2.2组队模型的基本原则12)大项目组也象小项目组一样运转(largeteamsworkinglikesmallteams)大项目团队的拆分结构清晰、目标明确、可灵活管理的小项目组小项目组的管理和角色划分小项目组之间的并行关系对大项目组,每隔3~6个月对其小项目组重组成功的项目组有经验的项目负责人、积极参与项目决策并主动贡献力量和承担责任的组员、以产品发布为共同目标即最高使命、共同分享项目前景。沟通沟通2.组队模型TeamModel2.3组队模型的六种角色六种组队角色程序管理角色发布管理角色测试角色用户体验角色开发角色产品管理角色对等团队结构程序经理发布和后勤经理开发经理产品经理用户经理测试经理2.组队模型TeamModel2.3组队模型的六种角色产品管理角色(productmanagement)产品管理角色的主要使命是提高客户满意度产品经理的主要工作内容代表客户的想法和意见管理客户的需求定义-为其他角色准备一份书面的客户需求说明书开发、管理和提供业务用例说明管理客户的预期目标控制产品特性和开发周期之间的关系管理市场宣传和公共关系2.组队模型TeamModel2.3组队模型的六种角色程序管理角色(programmanagement)程序管理角色的主要使命是在规定的项目资源、期限等限制条件下,确保产品能够如期发布。程序经理-项目开发过程的组织者和管理者,而不是项目组的领导者,主要工作内容如下:推动产品开发过程-一种保证产品的期限和特性符合需求管理产品范围和产品特性说明-相当于一份契约推动项目组内的交流和讨论-组织和协调管理产品开发进度、汇报项目状态-一种服务控制项目开发中关键的取舍和决策-拥有最终决定权2.组队模型TeamModel2.3组队模型的六种角色开发角色(development)主要任务是使用适当的技术和工具实现项目目标、满足客户需求;进行技术咨询,帮助防范风险;提供解决方案,参与设计过程。开发人员的主要工作内容如下:产品特性的物理设计-即实现程序经理的所有功能规范承担技术顾问的职责确保每一个产品特性在规定时间内完成使产品达到可发布的状态-需要编写特定的安装和配置程序,提供给测试人员和最终用户使用2.组队模型TeamModel2.3组队模型的六种角色测试角色(testing)主要任务是在产品最终发布之前找到尽可能多的缺陷或错误测试人员的主要工作内容如下:制定测试策略和测试计划确保产品的所有特性都经过了严格的测试,也同时负责测试所需要的软件工具、脚本程序和技术文档等的编写工作向项目组提供翔实、准确的测试报告,确保所有已发现的软件故障都在项目组的有效管理和控制中2.组队模型TeamModel2.3组队模型的六种角色用户体验角色(userexperience)主要任务是协助用户更好地使用产品,排除用户在使用产品时遇到的问题和障碍。主要工作内容包括以下:在产品设计阶段确保产品可被最终用户接受对产品的国际化功能提供支持(全球化和本地化globalization/localization)(全球化和本地化globalization/localization)全球化指设计和开发那些可以用最少代价满足世界上不同地区市场需求的产品。本地化指将软件产品的用户界面、帮助文件、印刷或联机文档、市场资料及WEB站点等内容转换为符合特定地区市场地区市场中语言、文化习惯的形式。2.组队模型TeamModel2.3组队模型的六种角色发布管理角色(releasemanagement)主要任务是确保产品的顺利发布,为项目的正常运营提供服务和支持。主要工作内容如下:代表项目组协调公司内的运营、支持、发布渠道等部门的工作项目组的后勤和基础设施管理-办公环境、采购、IT系统管理产品发布事宜-制定和执行计划、协调市场和渠道参与、管理并支持相关的项目决策过程管理产品的认证或许可模式-产品序列号、许可协议2.组队模型TeamModel2.3组队模型的六种角色六种角色的授权/权利自主抉择self-selecting自主管理self-managing自我激励self-motivating自我评估self-evaluating自我改进self-improving2.组队模型TeamModel2.4组队模型中的项目组的六大工作目标项目组的六大工作目标与六大角色的关系提高客户满意度--产品管理角色增强产品的可用性--用户体验角色严格依据用户的业务需求和产品功能说明书开发产品--开发角色在充分测试、定位了所有已知问题的前提下发布产品--测试角色在有限的时间和资源条件下开发产品--程序管理角色做好产品的发布和后续的管理工作--发布管理角色2.组队模型TeamModel2.5组队模型的灵活应用大项目组(多于10人)拆分成多个小项目组每个小项目组负责产品的一个特性或一个功能模块小项目组依据各自的工作目标,并行地完成整个项目组开发工作小项目组定期交流和沟通,以保证项目进展同步另一种拆分方法是按照职能拆分,当项目组中某个或某几个特定的职能角色需要更多资源配置的时候,这种拆分方法格外有效有时不可能要求每一个职能都由专人来负责担任,因此需要角色合并,一人身兼数职2.组队模型TeamModel2.5组队模型的灵活应用小项目组角色合并的基本原则项目组内的开发人员不能兼任其他角色不要试图合并两个有明显利益冲突或制约关系的职能角色产品管理程序管理开发测试用户体验发布管理产品管理NNPPU程序管理NNUUP开发NNNNN测试PUNPP用户体验PUNPU发布管理UPNPUn不能合并p可以合并u可以合并,不建议合并2.组队模型TeamModel2.5组队模型的灵活应用例1,一个最小的项目组可以只有三个成员即程序经理兼发布管理的角色,产品经理兼测试和用户体
本文标题:微软的软件开发过程
链接地址:https://www.777doc.com/doc-6016805 .html