微软产品开发模型课件_第1页
微软产品开发模型课件_第2页
微软产品开发模型课件_第3页
微软产品开发模型课件_第4页
微软产品开发模型课件_第5页
已阅读5页,还剩407页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微软产品周期模型微软产品周期模型1主要内容产品周期模式概述:微软产品开发的方法产品背后的人们和他们的任务与产品开发相关各人员的工作任务及其详细介绍微软软件开发中其他的一些事情……主要内容产品周期模式概述:微软产品开发的方法2MOMnCodecompleteRTM-WProductCycleMOMnCodecompleteRTM-WProduct3产品规划阶段MOMnCodecompleteRTM-WProductCycle产品规划阶段4产品规划阶段

产品的开发阶段里程碑1,里程碑2:较为冒险的,重要的性能里程碑3:次要的性能,对此需要重新估评调整MOMnCodecompleteRTM-WProductCycle产品规划阶段5产品规划阶段

产品的开发阶段里程碑1,里程碑2:较为冒险的,重要的性能里程碑3:次要的性能,对此需要重新估评调整产品测试阶段调试代码发行测试版(Bata’s)预发行版(RC’s)MOMnCodecompleteRTM-WProductCycle产品规划阶段6产品规划阶段

产品的开发阶段里程碑1,里程碑2:较为冒险的,重要的性能里程碑3:次要的性能,对此需要重新估评调整产品发布向制造业和网站投放(RTM/RTM)对网络产品的服务阶段产品测试阶段调试代码发行测试版(Bata’s)预发行版(RC’s)MOMnCodecompleteRTM-WProductCycle产品规划阶段7软件开发人物表他们是谁他们是和你一样聪明的人他们来自世界各地他们都具有同样的激情——开发出最好的软件他们在开发过程中以顾客需求为宗旨软件开发人物表他们是谁8软件开发人物表他们在产品开发组中的作用/职务是什么产品单元总经理(PUM)产品经理程序经理(PM)软件设计工程师(SDE/Dev)软件测试设计工程师(SDET/TestDev)软件测试工程师(Tester)BuildEngineer产品设计师本地化工程师文档小组软件开发人物表他们在产品开发组中的作用/职务是什么9

产品规划

产品规划

10产品规划任务:识别有利市场,确保产品在此市场中能迎合客户需要,并向客户介绍产品的价值所在产品规划——定义产品

定义客户的价值:通过消费群体的调查研究和竞争要素的分析定义产品前景和产品前景的描述确定产品主要性能和特性产品开发过程中始终以客户需求为宗旨确定产品长期目标(三年期至五年期目标)产品规划任务:识别有利市场,确保产品在此市场中能迎合客户需要11产品规划阶段

消费群体的调查研究与组员交流产品前景(前景描述)待开发产品性能及他们的开发优先级

MOMnCodecompleteRTM-W产品周期:规划人员MOMnCodecompleteRTM-W产品周期:规划人12产品规划阶段

消费群体的调查研究与组员交流产品前景(前景描述)待开发产品性能及他们的开发优先级

MOMnCodecompleteRTM-W产品周期:规划人员产品开发阶段

产品开发时处处以顾客需求为宗旨,做顾客的代言人竞争要素分析MOMnCodecompleteRTM-W产品周期:规划人13产品规划阶段

消费群体的调查研究与组员交流产品前景(前景描述)待开发产品性能及他们的开发优先级

MOMnCodecompleteRTM-W产品周期:规划人员产品开发阶段

产品开发时处处以顾客需求为宗旨,做顾客的代言人竞争要素分析产品测试阶段经营分析和预测MOMnCodecompleteRTM-W产品周期:规划人14产品规划阶段

消费群体的调查研究与组员交流产品前景(前景描述)待开发产品性能及他们的开发优先级

MOMnCodecompleteRTM-W产品周期:规划人员产品开发阶段

产品开发时处处以顾客需求为宗旨,做顾客的代言人竞争要素分析产品测试阶段经营分析和预测产品发布下一版本该做的事三年期至五年期的计划MOMnCodecompleteRTM-W产品周期:规划人15程序经理程序经理16程序经理任务:在最适合的时候投放高质量的产品确保产品能很号的迎合市场的需求和满足微软经营的需要提供领导力量…但并不是专制对产品的特性设置,进度和资源的安排负责促进交流,协调小组内和整个微软范围内的人际关系在不同的技术领域,协调与其他供应商的关系(独立硬件供应商/独立软件供应商)程序经理任务:在最适合的时候投放高质量的产品17产品规划阶段

产品前景落实编写产品规格书创建主进度表MOMnCodecompleteRTM-W产品周期:程序经理MOMnCodecompleteRTM-W产品周期:程序经18产品规划阶段

产品前景落实编写产品规格书创建主进度表MOMnCodecompleteRTM-W产品周期:程序经理产品开发阶段管理功能小组工作状况管理产品规格书保持全组的工作重点推进工作进度MOMnCodecompleteRTM-W产品周期:程序经19产品规划阶段

产品前景落实编写产品规格书创建主进度表MOMnCodecompleteRTM-W产品周期:程序经理产品开发阶段管理功能小组工作状况管理产品规格书保持全组的工作重点推进工作进度产品测试阶段对产品各方面进行权衡(产品运行速度、性能多少、可用性及开发进度等等)MOMnCodecompleteRTM-W产品周期:程序经20产品规划阶段

产品前景落实编写产品规格书创建主进度表MOMnCodecompleteRTM-W产品周期:程序经理产品开发阶段管理功能小组工作状况管理产品规格书保持全组的工作重点推进工作进度产品测试阶段对产品各方面进行权衡(产品运行速度、性能多少、可用性及开发进度等等)产品发布跟踪媒体庆功会下一版本准备工作MOMnCodecompleteRTM-W产品周期:程序经21程序经理挑战引导全组,使其不偏离预期的设计思想和进度勇于承担各项责任促进相互间的交流具备在无指定权利情况下产生影响力的能力程序经理挑战22程序经理要避免因小事而浪费时间和资源不为客户利益而争辩(否则,这样做的结局必将是:只能开发出性能拙劣的,不受客户欢迎的产品)因为他人的行为方式而看不起他(但事实上是因为你的过错,是因为别人所获得的信息与你的不同…)假设情况是…(不要作任何假设ass-u-me)

程序经理要避免23程序经理—回答你的问题?程序经理—回答你的问题?24开发人员开发人员25开发人员任务:设计开发出高质量的软件提供技术咨询对产品规格做出反馈设计算法和数据结构设计,编写和调试代码开发人员任务:设计开发出高质量的软件26产品规划阶段

对新产品性能的可行性研究技术建议反馈给规划人员MOMnCodecompleteRTM-W产品周期:开发人员MOMnCodecompleteRTM-W产品周期:开发人27产品规划阶段

对新产品性能的可行性研究技术建议反馈给规划人员MOMnCodecompleteRTM-W产品周期:开发人员产品开发阶段编写代码,单元测试/调试按照进程表为测试小组提供可测试产品单元件代码的再使用MOMnCodecompleteRTM-W产品周期:开发人28产品规划阶段

对新产品性能的可行性研究技术建议反馈给规划人员MOMnCodecompleteRTM-W产品周期:开发人员产品开发阶段编写代码,单元测试/调试按照进程表为测试小组提供可测试产品单元件代码的再使用产品测试阶段调试纠错不对产品性能作改动MOMnCodecompleteRTM-W产品周期:开发人29产品规划阶段

对新产品性能的可行性研究技术建议反馈给规划人员MOMnCodecompleteRTM-W产品周期:开发人员产品开发阶段编写代码,单元测试/调试按照进程表为测试小组提供可测试产品单元件代码的再使用产品测试阶段调试纠错不对产品性能作改动产品发布零个错产品MOMnCodecompleteRTM-W产品周期:开发人30开发人员挑战产品功能(设计的复阅/代码的复阅)按进度表进程完成所有的任务少出程序错误(在整个产品周期中使错误数量小于一定数量)面对更短开发周期产品国际化迅速发展的技术信息共享,相互交流开发人员挑战31开发人员要避免你的代码改动使每天一次的机器码编译出错(等待你的老板或产品单元总经理来找你说个明白)你的纠错代码改动没能消除错误(你可能在没有解决原有问题的同时却引入了新的错误)在源程序进入保护状态后没能按规定来更新源程序代码)沉迷于电子游戏中…开发人员要避免32开发人员—回答你的问题?开发人员—回答你的问题?33测试人员测试人员34测试人员任务:确保我们产品的高质量在产品生产过程中,按照产品规格书对产品及其质量做独立的确认测试产品与设计标准相符测试产品与规格相符测试产品的稳定性测试产品的兼容性测试人员任务:确保我们产品的高质量35产品规划阶段

产品规格复阅制订测试计划MOMnCodecompleteRTM-W产品周期:测试人员产品规划阶段36产品规划阶段

产品规格复阅制订测试计划MOMnCodecompleteRTM-W产品周期:测试人员产品开发阶段测试软件的开发测试过程的自动化个人/朋友版的测试综合/验错测试产品规划阶段37产品规划阶段

产品规格复阅制订测试计划MOMnCodecompleteRTM-W产品周期:测试人员产品开发阶段测试软件的开发测试过程的自动化个人/朋友版的测试综合/验错测试产品测试阶段多次全面运行开发的测试软件(fulltestpass)压力测试(stresstest)发布标准测试纠错结果验证测试产品规划阶段38产品规划阶段

产品规格复阅制订测试计划MOMnCodecompleteRTM-W产品周期:测试人员产品开发阶段测试软件的开发测试过程的自动化个人/朋友版的测试综合/验错测试产品测试阶段多次全面运行开发的测试软件(fulltestpass)压力测试(stresstest)发布标准测试纠错结果验证测试产品发布最后产品金碟版测试产品规划阶段39测试人员挑战与开发人员保持最佳沟通国际范围的测试测试软件的互用性各组成部分的共享人员的流动测试人员挑战40测试人员测试方面的其他议题测试案例(testcase)测试脚本(testscript)版本验证测试(BTV)BugstatusRegressionbug验证错误已被改正,并在bug数据库中关闭此bugRaid数据库测试人员测试方面的其他议题41测试人员要避免记录过多不可再现的错误在早期筹备阶段不进行有效的测试,直到产品开发后期才发现大量的严重错误不做完全地验证就关闭bugsResolvebugsasfixedinRaiddatabase测试人员要避免42测试人员—回答你的问题?测试人员—回答你的问题?43微软软件开发写真微软怎么开发出世界一流的软件的…100%以bug数据库为基础产品技术支持部门的反馈产品规格的完成(规格修改委员会)完成视觉效果的设计源程序树的锁定(lockdownsourcetree)源程序树的分叉(forksourcetree)产品编码完成先尝其果(eatyourowndogfood)微软软件开发写真微软怎么开发出世界一流的软件的…44微软软件开发写真微软怎么开发出世界一流的软件的…可用性测试研究对于大型产品,按产品单元组景象源程序代码更新和稳定是有效且必要的方法战斗组(Warteam)战斗会议(Warmeeting)Componentteambugtriage微软软件开发写真微软怎么开发出世界一流的软件的…45微软软件开发写真微软怎么开发出世界一流的软件的…零错出现金主碟Sign-offShippingpartiesLakeBilldumpLaunchparties/eventsandnewswatching“ship-it”rewardandshippinggiftsItissomuchfunworkingforMicrosoft!Hopeyoutoohavealotoffun作软件这行真好玩!微软软件开发写真微软怎么开发出世界一流的软件的…46回答你的问题?回答你的问题?47微软产品开发方法微软产品开发方法48日程微软产品周期模型中的开发者规划及撰写产品说明书阶段-里程碑0功能实现阶段-里程碑1到N测试和稳定阶段-代码完成(CC)和发布产品微软开发协作模式源代码控制工具Bug跟踪和解决开发人员应有的态度日程微软产品周期模型中的开发者49里程碑0规划及撰写产品说明书里程碑0规划及撰写产品说明书50微软产品周期模型中的开发者微软产品周期模型中的51微软产品周期模型编程开始远景目标确定QFEDCR主金碟市场Beta版技术Beta版零Bug反弹点(ZBB)里程碑目标达到M1-MNMO计划代码完成BetaRCRTMSPs微软产品周期模型编程开始远景目标确定QFEDCR主金碟市场52开发人员在M0阶段的工作支持前一个版本帮助程序经理撰写产品说明书开发人员在M0阶段的工作支持前一个版本53支持前一个版本QFE(QuickFixEngineering)DCR(DesignChangeRequest)SP1,SP2..修正被推迟的Bug支持前一个版本QFE(QuickFixEngineeri54帮助程序经理撰写产品说明书为PM写产品说明书提供支持审阅Spec估计功能实现时间,确定进度帮助程序经理撰写产品说明书为PM写产品说明书提供支持55制订计划预测什么时候可以完成什么功能协调各开发组,功能和里程碑决定做哪些功能,不做哪些功能激励没有截止日期,什么事儿都做不了计划是一种估计,更是一种承诺开发者做主来制订计划制订计划预测什么时候可以完成什么功能56什么是好计划把大的计划分成小块每块半天到5天(如WBS方法)什么事情都有时间限制开发,测试,调试,代码审校…如果计划好的东西完成了,整个功能就应该完成了(没有不在计划中的内容)什么是好计划把大的计划分成小块57制订更合理的计划不断对比比较最初的估计和实际时间有助于制订现实的计划多个开发人员独立估算,把结果合并制订更合理的计划不断对比58进度控制—容易忽略的因素新人的上手时间准备做演示的资源开会和讲座的时间维护运行编译的脚本编译中断的修正时间外部组件的集成处理测试的问题病假/休假进度控制—容易忽略的因素新人的上手时间59考虑具体技术实现计划角色,工具和流程设计新功能的实现方法建立原形考察新技术考虑具体技术实现计划角色,工具和流程60考虑的第一个问题—代码重用绝大多数代码在别处已经写过了利用已有的代码可以节省时间,提高质量在微软,各产品组互为客户和提供商关系对于任何一段代码,首先问自己:

这段代码/功能有可能在什么地方已经有人写过了可能在已有的项目里可能操作系统已经实现了(e.g.Windows)可能在某个函数库里(e.g.CRT,DLL,.NETFramework)代码重用有不同的级别考虑的第一个问题—代码重用绝大多数代码在别处已经写过了61代码重用的不同级别调用系统已有功能,或其他项目组已完成的功能(Windows.MSNMessenger)与其他项目合用可执行代码与其他项目复用源代码从其他项目中拷贝源代码(Codebase)利用其他项目的界面设计和算法(M,Wizard)IE创造了代码重用的神话(Help,URLMoniker)代码重用的不同级别调用系统已有功能,或其他项目组已完成的功能62选择实现方式时一定要慎重决定自己开发时一定要慎重比如:已经有了很多数据库引擎,我们真的有必要重新写我们自己的吗?采用别的项目的技术是一定要慎重可能不是完完全全你要的东西可能没法放到你的体系中来可能质量达不到你的要求可能有很多后续问题(版本问题,安装…)使用全新的技术不一定是最好的发布日期的限制…选择实现方式时一定要慎重决定自己开发时一定要慎重63如何了解已有的代码审阅所代码(打印出来)用代码浏览器浏览所有代码(如SourceInsight)分步执行程序阅读设计文档小心的重新格式化它注释,调试代码,编程风格,等等如何了解已有的代码审阅所代码(打印出来)64MO易犯的错误功能说明书(Spec)出来的太晚开发团队对产品没有共识(Vision)在设计上花的是时间太少,形成的功能设计书不踏实计划过于乐观MO易犯的错误功能说明书(Spec)出来的太晚65M1,M2到Mn开发和编程M1,M2到Mn开发和编程66里程碑的设计技巧时间分配

实际编程时间集成,稳定时间(后面的里程碑时间加长)*保证各个模块可以在一起工作*必须写一段,稳定一段,再继续前进缓冲的时间每个产品组都有不同的安排1/3时间来集成里程碑的设计技巧时间分配67CodeComplete代码完成计划的工作完成功能可以运行不需要任何编程工作了它意味着从编程模式转变到发现并修正Bug模式不会再有新的功能了CodeComplete代码完成计划的工作完成68代码完成后的工作冻结界面修改Beta测试ZBB(ZeroBugBounce)发布候选版本RTM/RTW代码完成后的工作冻结界面修改69微软协作工作模式微软协作工作模式70建立开发团队的基础设施源代码服务器BuildmachineBug数据库发布服务器信息发布站点Exchange邮件列表和公共文件夹建立开发团队的基础设施源代码服务器71建立开发团队的基础设施源代码服务器编译服务器发布服务器Bug数据库信息发布站点Exchange邮件列表和公共文件夹建立开发团队的基础设施源代码服务器72常用名词Check-in-提交修改代码Codereview-代码审核Buddybuild-伙伴编译Pickup-修改反映到BuildmachineSynchronize-同步其他人的修改Build-生成正式二进制文件Release-正式二进制文件发布BVT-启动测试常用名词Check-in-提交修改代码73开发中的版本控制为什么要进行版本控制?版本控制工具可以恢复到以前的版本知道谁曾经改动过某段代码理解某个代码改动的原因微软内部使用很多工具SourceDepot,VSS,SLM…开发中的版本控制为什么要进行版本控制?74源代码服务器是正式的、唯一的代码来源源代码服务器里有什么

*源代码*有关工具的代码*规格书*其他经常改动的文档源代码服务器没有什么

*二进制文件*目标文件*编译产生的头文件源代码服务器是正式的、唯一的代码来源75提交修改代码过程统一的流程可以保证*保证版本总可以工作*避免出现BuildBreakBuildBreak是非常严重的错误*开发过程被迫中断*测试人员没法测试别人的饿代码*对此负责的程序员会被半夜叫到公司提交修改代码过程统一的流程可以保证76源代码管理集中*必须使用工具:如SourceSafe质量*编程的标准规范通用的编程方式/注释*代码净化和代码审核安全性*经常做服务器备份*存储在不同的地方源代码管理集中77Check-in管理程序员开发出一段代码个人测试*在调试器里执行每一行代码*所有的测试用例都要运行加入个人代码后软件的整体测试代码的递交和伙伴审核及编译严格的Check-in管理Check-in管理程序员开发出一段代码78Check-in管理测试人员发布服务器Builder开发人员Bug数据库源代码服务器邮件系统作战会议1、拿到新的版本2、记录bug11、验证bug解决10、解决bug3、得到新的bug4、改正bug5、Checkin请求7、Checkin9、编译6、批准8、拿到最新源代码Check-in管理测试人员发布服务器Builder开发人员79代码集成要点每一个Check-in必须有记录*必须发pickup邮件*要有新feature规格、Bug号或说明*代码审核和伙伴编译进入控制模式后*Check-in之前需要申请*必须是解决ShowStopperbug或由经理或作战会议批准代码集成要点每一个Check-in必须有记录80BuildMachine(编译机)独立的专用机器(通常再专用实验室里)专人负责生成二进制代码*用于发布*用于测试代码、环境变量不能任意改动*只接受源代码服务器的修改*正式的环境变量BuildMachine(编译机)独立的专用机器(通常再专81Bug数据库测试与开发人员的沟通界面Open,resolve,andclosebugs优先级ShowStopperBug数据库测试与开发人员的沟通界面82Exchange公共文件夹论坛形式的公共文件夹批准、以及存储Check-in请求的地方Check-in要求会转发给邮件列表Exchange公共文件夹论坛形式的公共文件夹83开发人员应有的态度开发人员应有的态度84开发者的使命不仅仅是写程序和调试他和所有角色一样,为了实现用户需求

*PM-定义用户需求*界面设计-描绘用户需求*开发-实现用户需求*测试-保障用户需求程序员将把Word文档(需求说明书)“编译”成执行代码不是项目组中唯一重要的角色开发者的使命不仅仅是写程序和调试85开发人员的管理程序员是特殊的群体*创造力与完成任务任务管理高于时间管理设定优先级激励与惩罚程序员*进度透明*Bug数量和ShowStopper透明*违反制度鼓励开发人员写“solid”代码*代码审核*积极处理bug开发人员的管理程序员是特殊的群体86代码审核代码审核的优越性*增强可靠性*极早发现项目中的问题*扩展开发人员的代码知识*培训开发人员的最佳途径定出时间不要放弃*每周固定时间*明确规定为每个feature完成的一个步骤代码审核代码审核的优越性87积极处理Bugs“Bug不是不可以避免的”测试是开发人员的基本功*让源代码容易测试*成为自己产品的客户*调查遇到的每一个问题用测试来验证质量,而不是创造质量*不要依赖测试人员来发现bug*与测试人员成为合作伙伴积极处理Bugs“Bug不是不可以避免的”88问题问题89微软程序经理微软程序经理90日程表什么是程序经理?程序经理的来历和种类优秀程序经理的特征程序经理的几大工作重点怎样在竞争中取胜做没有权威的领导者作为程序经理,有所为,有所不为日程表什么是程序经理?程序经理的来历和种类91什么是程序经理这些年来,都处于模糊状态和开发,测试,市场和用户助理等人员一起工作程序经理和软件的关系,就如同建筑师和房子的关系什么是程序经理这些年来,都处于模糊状态92程序经理的来历1984年,Multiplan项目首次设立了程序经理的职位来管理整个项目并取得了巨大的成功,于是比尔.盖茨决定在全公司范围内实行程序经理的管理模式程序经理的来历1984年,Multiplan项目首次设立了程93优秀程序经理的特征做事投入对产品前景的理解专注的精神促进发展的能力注意细节的能力做决策的能力做事有勇气优秀程序经理的特征做事投入94程序经理的几大工作重点产品前景及其相关的工作产品高层次初步的设计产品详细设计和日程安排问题的处理检查产品开发进度(Checkpoints)发布产品程序经理的几大工作重点产品前景及其相关的工作95产品前景及其相关的工作什么时间该做什么:*何时开始一个项目*了解顾客,业务,市场,技术*程序经理应做调研、访问顾客*调研、访问的结果:产品前景阐述程序经理要把握的关键点*不要只是对顾客滔滔不绝-请学会倾听*明白调研的优点和局限性*为你的领域开发一片“子前景”*写下你的想法,然后征求别人的意见产品前景及其相关的工作什么时间该做什么:961.1产品前景及其相关的工作前景是所有工作的起点*每个人都能够理解*每个人都会同意*这个标准将会让你专注,并指导你解决难题了解你的顾客*成熟产品的第一个版本发布*了解所从事的行业*当你的产品发布了,这些产品会流向什么地方1.1产品前景及其相关的工作前景是所有工作的起点972.产品高层次初步的设计什么时候该做什么:*确定前景期间和之后的几个月*费用/效益分析*程序经理书写产品规格草案*这是大多数项目失败的地方PM关键点:*前景应该成为做决定的指导*清晰地设想的用户产品的情节*Proto-specs最初的产品规格2.产品高层次初步的设计什么时候该做什么:983.产品详细设计和日程安排什么时间做什么?*在“里程碑0)(MO)”期间*在程序经理和开发人员之间有更多的交流*程序经理写产品规格结果*详细的日程安排*详细的里程碑结束标准*“里程碑1”产品规格完成3.产品详细设计和日程安排什么时间做什么?993.1产品详细设计和日程安排怎样才是一个好的产品规格*概述*明确的成功的标准(包括测试设定)*详细的资料*表达整个团队的想法3.1产品详细设计和日程安排怎样才是一个好的产品规格1003.2产品详细设计和日程安排如何进行产品规格的审核*学习怎么检测验收产品的规格*提前对产品规格进行的测试*和整个团队一起做审核*不要拒绝接受别人的批评和意见3.2产品详细设计和日程安排如何进行产品规格的审核1013.3产品详细设计和日程安排程序经理的其他注意事项*彻底了解产品的前景*彻底了解产品本身*不断训练你自己的设计能力*不要和开发人员在开发进程上争论不停*知道执行的顺序3.3产品详细设计和日程安排程序经理的其他注意事项1023.4产品详细设计和日程安排成功的时间安排设定日程安排校准日程就跟踪标准达成一致知道相互依赖的关系到达里程碑有一个后备计划调整日程3.4产品详细设计和日程安排成功的时间安排103主要日程PlanningSpecificationDevelopmentStabilizationSpecCompleteCodeCompleteGoalsClosureMilestone0RTMSpec/SheduleIterationsDesignChangeeTriage主要日程PlanningSpecific1044.问题的处理什么时间该做什么*跟踪进程和处理问题*在编写代码和发布的过程中*程序经理更新产品规格和resolvebugsPM关键点*不要对bugs视而不见*你不可以解决任何问题*在RAID中记录所有的细节*不要经常推迟bug的调正*Over-communicate不要过多/重复的交流4.问题的处理什么时间该做什么1055.检查产品生产进度什么时间该做什么:*每一个里程碑的结尾和通过产品发布*按照标准检查进程,调整日程表*程序经理也要广泛的交流PM关键点*有你自己小的检查点*关于beta测试版的计划*发现跟踪bugs*不要太快跳到下一个版本5.检查产品生产进度什么时间该做什么:1066.发布产品该在什么时候做什么*安慰,害怕,骄傲,欢乐*RTM后的事后总结PM关键点*Bringachangeofclothestowork*参观beta测试版用户和首批采用本产品的用户*专门派人的负责人RTM事后总结的一些问题6.发布产品该在什么时候做什么107PM行为准则确保你的行动有益于你在开始的时候设定的目标和方向----正确的产品前景并在确定的时间发布产品PM行为准则确保你的行动有益于你在开始的时候设定的目标和方向108活动---实践出真知活动---实践出真知109怎样在竞争中取胜在这个部分你将会学会如何创造在市场上能赢的产品研究竞争产品知道什么时候应该领导,什么时候跟从对手注意对手的竞争优势怎样在竞争中取胜在这个部分你将会学会如何创造在市场上能赢的产110四个方面下手战胜竞争对手的四个关键点。A.了解产品B.了解将来可能的方向C.把知识转化成行动D.保持自己不过时四个方面下手战胜竞争对手的四个关键点。111A.了解产品问你所知道的使用该产品的人Dogfood内部测试产品回顾(ProductReview)*ProductPlanningmayhelp产品计划会有帮助*Promisevs.delivery允诺和交货A.了解产品问你所知道的使用该产品的人112B.了解产品的发展方向研究公司策略知道他们的顾客希望从他们那里得到什么认识产品方向上的变化假定你的对手是聪明能干的扮演角色B.了解产品的发展方向研究公司策略113C.化知识为力量你将会在所有的时间使用这些信息,比如头脑风暴,产品规格审核等等得到正确的产品性能*知道什么时候应该领导,什么时候跟从*找到平衡,检查/质疑/提问产品特征进行你自己的竞争回顾C.化知识为力量你将会在所有的时间使用这些信息,比如头脑风暴114D.保持与时代同步牢记竞争对手是一个动态的目标让他们在你的监视范围之中*DowJonesInteractiveCustomClips*Execnews最大化投资(为你自己和别人)D.保持与时代同步牢记竞争对手是一个动态的目标115PM行为准则知道是什么激发了人们的斗志,并且利用它来发挥团队的力量关注大局建立个人信誉并维护它保持积极的态度,影响别人是有乐趣的PM行为准则知道是什么激发了人们的斗志,并且利用它来发挥团队116回答问题回答问题117微软软件测试微软软件测试118议程软件测试概述软件测试组测试计划和级别Bug的发现和管理议程软件测试概述119I软件测试概述什么是软件测试测试的目的与任务软件质量的定义测试与软件成本测试部分常用术语I软件测试概述什么是软件测试120什么是软件测试?质量是保证—系统的监督和评估项目的各个方面以确保满足质量标准测试是分析并确定产品是否满足客户的需求和期望的所有活动什么是软件测试?质量是保证—系统121测试的目的与任务目的—确保软件质量,确保产品满足设计和客户的要求,同时降低软件的开发成本和维护成本,并最终签发(Signoff)产品质量任务*根据特性规格说明制订测试计划*开发必要的测试工具*编写测试用例*执行系统、全面、深入的测试,在开发过程中找出所有可能存在的Bug*跟踪并管理产品质量,定期报告质量状态*负责最终的发布认可(Signoff)测试的目的与任务目的—确保软件质量,确保产品满足设计和客户的122测试与软件成本成本-越早发现bug,修正的机会越大,开发和后期维护的代价越小*Specreview*编码阶段*Beta阶段*本地化*发布后质量越高,软件发布后维护费用越底开发费用需求分析编码发布测试与软件成本成本-越早发现bug,修正的机会越大,开发和后123部分常用术语QA-QualityAssurance质量保证Bug-缺陷,问题BlockingBugShowStopperBug/ReleaseKill-致命问题Milestone-里程碑TestCase-测试用例StressTest-压力测试BVT-BuildVerificationTestAd-hoc测试-随机测试BuddyTestHotFixingDogFoodZBB(ZeroBugBounce)ZBR(ZeroBugRelease)RTM/RTW部分常用术语QA-QualityAssurance124II软件测试组软件测试组在整个项目中的位置与程序员的关系与程序经理的关系测试组的主要职责测试组成员的职责II软件测试组软件测试组在整个项目中的位置125微软测试组在整个项目中的位置和设计组,开发组及用户教育等并列的队伍测试组负责产品的质量控制测试人员和开发人员的比例大约是1:1开发测试后勤用户教育产品经理产品规划沟通和联络微软测试组在整个项目中的位置和设计组,开发组开发测试后勤用户126与程序员的关系测试组不是开发组的助手,合作又各司其职程序员不能写完代码就扔过墙,等待测试工程师找到所有的BugRAID是桥梁对有分歧的Bug程序员不能擅自关闭测试人员对发现的Bug要尽可能的提供详细的资料与程序员的关系测试组不是开发组的助手,127与程序经理的关系没有隶属关系,合作又各司其职程序经理提供详细的规格说明程序经理要参与Review测试计划测试人员要报告测试状态及产品状态与程序经理的关系没有隶属关系,合作128测试队伍的主要职责测试队伍组成*经理、组长、测试工程师主要职责*测试计划*测试*测试过程*项目与资源管理*交流与资源管理*交流与业务测试队伍的主要职责测试队伍组成129测试工程师的主要责任撰写相关的测试计划和测试用例设计或改编相关的测试工具识别可自动测试区域参与组内的测试计划和测试用例以及测试脚本分析工作手动/自动测试Ad-Hoc测试按照需求规格说明查证并验证各项功能发现并报告Bug,跟踪Bug状态评估Bug对产品其他区域的主要影响测试工程师的主要责任撰写相关的测试计划和测试用例130测试组长的主要责任确定测试的策略参与对整个产品的完整测试计划的制定参与并管理测试评估Bug对用户的影响,推荐Work-Around.独立的跟踪关键Bug的状态管理测试工作和对应的资源参与面试新人交流状态和存在的问题,并驱动问题的解决促进组内交流测试组长的主要责任确定测试的策略131测试经理的主要责任定义时间进度表定义质量标准参加BugTriageSignoff产品发起和计划长期的测试过程,使之规范化积极开发测试人员的技术技能组建测试队伍,雇佣测试工程师合理安排各种资源负责制定产品测试所需的预算测试经理的主要责任定义时间进度表132III测试计划和级别测试计划的主要内容测试级别III测试计划和级别测试计划的主要内容133测试计划的主要内容2-1引言*背景信息*质量目标*责任*测试的方法论测试计划的主要内容2-1引言134测试计划的主要内容Milestone的处理测试文档自动测试策略集成测试策略API测试策略性能测试Performance(Benchmark)Testing测试资源的规划兼容测试AdHoc测试策略本地化测试策略全球化测试策略Beta策略ReleaseCriteria对第三方的依赖测试周期:与项目的里程碑配合测试计划的主要内容Milestone的处理兼容测试135测试级别单元测试—针对单独代码部分进行的测试*子程序*简单函数组件测试—测试多个单元和数据对象间的互操作性*被调用的Subroutines,Data,etc.集成测试—测试集成组件的互操作性*Exe和Dll系统测试—测试系统的强壮性与外部系统的交互性*压力测试/性能测试*系统安装/应用程序的兼容性测试级别单元测试—针对单独代码部分进行的测试136测试实践活动测试实践活动137IVBug的发现和管理什么是Bug及常见类型RAID有效地报告BugBug的严重程度和优先级Bug的处理BugTriageActiveBug数量的趋势IVBug的发现和管理什么是Bug及常见类型138Bug及常见类型功能未实现,和规格说明书不一致不能工作:死机,没反应不兼容边界条件界面、消息、提示不够准确,不友好把尚未完成的工作也作为一个Bug文档与帮助信息中的缺陷也是BugBug及常见类型功能未实现,和规格说明书139RAIDRAID是客户端的工具,Bug数据库整个产品组的中央记录和控制丰富的查询功能,有效地跟踪项目的状态,为产品发布提供判断标准准确的定义了描述Bug要用到的属性PostponedBug所有的记录无法删除,对于每个记录只能一直添加内容RAIDRAID是客户端的工具,Bug数据库140报告新Bug查询并确认不重复*从标题开始*可能查找多次*最后是查找Bug的描述*如果找到类似的Bug检查是否需要新的注释填写标题,简明描述该问题报告新Bug查询并确认不重复141Bug记录中的有效信息StatusAssignedToIssueTypeSeverityPriorityChangeDate,ChangeByOpenedDate,By,RevSource,BetaID,HowfoundLanguageResolution:Bydesign,Fixed,Duplicate,NotRepro,Won’tFixArea,SubAreaPlatform附件附图Bug记录中的有效信息StatusLanguage142报告新Bug—环境描述系统配置,如:*OS*内存大小*处理器类型*浏览器类型和版本*其他应用程序报告新Bug—环境描述系统配置,如:143报告新Bug—描述帮助开发人员再现Bug..组成*列出起始参数*再现步骤*预期和实际的结果*已测试的其他有用信息一旦保存所用描述将无法修改,只能添加报告新Bug—描述帮助开发人员再现Bug..144Bug的严重程度死机,数据丢失,主要功能组完全丧失,系统死机主要功能丧失,导致严重的问题,或导致的错误声明次要功能丧失,不太严重,如提示信息不太准确微小的问题,对功能几乎没有影响,产品及属性仍可使用.如有个错别字Bug的严重程度死机,数据丢失,主要功能组完全丧失,系统死机145激活状态的Bug新建一个Bug时的状态BugRegression表明Bug等待修正评估开发进度产品质量的重要指标激活状态的Bug新建一个Bug时的状态146处理Bug对Bug的处理结果必须重新分派给报告该Bug的人员对修正的Bug需要确认处理Bug对Bug的处理结果147解决/关闭BugBug的解决方法*故意的*重复*无法重现*延期修正*永不修正*外部Bug的解决方法=已修正BugRegression解决/关闭BugBug的解决方法148Bug的Triage何时TriageTriage成员*主持:ProgramManager*成员:QA/Dev/LPM,Builderand经理讨论*要求Fix的理由*Fix可能带来的风险*Fix要求被拒绝时要采取的行动Bug的Triage何时Triage149ActiveBug数量的趋势代码完成前:很少代码完成后:增长很快接近Beta:下降接近RC:奔向零产品质量和里程碑的信号*每天新建的Bug与修正的Bug相比较*Active状态Bug的总数ActiveBug数量的趋势代码完成前:很少150PMOthersDEVBuilderTesterRaidSLMSrvBldSrvRlsSrv12.Testertoverifythefix,close/re-activatethebugaccordinglyABug’slife—100%RaiddrivenExchangePublicFolder1..Fileabug2.Triagethebug3.Devinvestigatethebug7.Checkinbugfix4.AskCheckin8.Autosyncatnight10.PassBVT9.Mgrdailybuilds11.Mgrdailyreleases5.BuilderverifypermissionFile/viewbugsPMOthersDEVBuilderTesterRaidSL151回答问题?回答问题?152微软的组织和管理微软的组织和管理153微软一瞥全球50,000名员工总市值3560亿美元FY2001,销售额达253亿美元,利润117亿全球最大的软件公司多次被评为最受尊敬的企业2001年,全球最有价值的商业品牌分支机构遍布66个国家和地区全线250多种产品,涵盖从前台直至企业级后台关键应用微软一瞥全球50,000名员工154微软的宗旨Empowerpeoplethroughgreatsoftware,anytime,anyplace,andonanydevice.

用强大的软件武装人们,在任何时候,任何地方,通过任何设备.微软的宗旨Empowerpeoplethroughgr155变化中的微软1995Desktop2002ConsumerAndDevicesDesktopServerandEnterprise变化中的微软1995Desktop2002ConsumerD156微软公司的组织结构图微软公司消费产品部平台产品部商业产品部开发产品部技术服务部销售市场部研究院微软公司的组织结构图微软公司消费平台商业开发技术服务部销售市157公司运作基本法则生产具有广泛用户和市场前景的软件产品数字化管理使公司变小效率优先,注重结果创业家精神招募业界最优秀的人才公司运作基本法则生产具有广泛用户和市场前景的软件产品158数字化管理管理目标量化为具体指标用数字来衡量组织和个人业绩的好坏微软的年度预算和年中检查*数据分析a.销售业绩/同期比较/预测b.市场数据/市场占有率/竞争对手c.资源(资金/人员)分配现状*调整措施a.策略的调整b.资源申请c.组织结构的调整数字化管理管理目标量化为具体指标159使公司变小管理层定期向员工发送关于公司战略决策的邮件电子邮件是内部的正式文件使用Webcast来广播重要事宜各类年度全球大会内部技术论坛和午餐会专门经费用于部门活动和士气鼓舞全球标准化使公司变小管理层定期向员工发送关于公司战略决策的邮件160效率优先,注重结果资源的配置一切以效率为首位效率是衡量组织和经理的重要指标预先设定可评估的目标抓住重点,确保资源有效利用以结果作为测量成功的标准效率优先,注重结果资源的配置一切以效率为首位161创业家精神BillGate:微软离倒闭永远只有18个月牢记竞争对手是谁

*仔细研究竞争对手的所有特性*一旦掌控市场,即使自己的旧版本为敌人争夺市场绝对控制权*每个员工都清楚主要目标是赢取100%市场份额*雇佣和提拔勇于征战而不是偷安的人每天都在战斗*作战会议每天至少一次*作战指挥部关键决策者*敢死队执行紧急任务创业家精神BillGate:微软离倒闭永远只有18个月162招募业界最优秀的人才人是微软真正的最大的财产员工的素质是队生产力唯一最重要的来源聘用最聪明的前5%,这里的关键词是聪明,而不是知识和经验面试过程是非常密集和严厉的.它不保证所有合格的人都被聘用,但是保证不合格的人很难被聘用所有员都有共同个性特点:敏锐,聪明,有激情和富有进取心招募业界最优秀的人才人是微软真正的最大的财产163微软的未来之路.NET战略微软的未来之路164Internet泡沫的教训经济法则仍然有效风险/收益在一个新的水平信息技术的优势不再是Startups独有信息基础只是方法,不是目的Internet的互联并不代表集成突破性的变革需要5+年Internet泡沫的教训经济法则仍然有效165微软对未来的展望DatabaseBrowsernTierWebService1992Client/Server1996Internet1stGen1998Internet2ndGen2001Internet3rdGen微软对未来的展望DatabaseBrowser166.NET=XMLWebServiceClientClientWebServiceWebServiceWebServiceWebServiceXMLXMLXMLXMLXMLXMLHTMLWebService=AprogrammableapplicationComponentaccessibleviastandardWebprotocols.NET=XMLWebServiceClientClie167现有应用模型ASP模型RichClientBrowser现有应用模型ASP模型RichClientBrowser168下一代的应用模型OtherClientsRichClientsBrowserSmartDevicesBizLogic&WebServiceLocalServicesInternetPublicWebServicesBuildingBlockServicesInternalServicesServersData,HostsXMLXMLXMLXMLXMLXMLHTML下一代的应用模型OtherRichBrowserSm169为什么要WebService—网聚人的力量模式模式特征特点传统软件用户的功能范围极为有限(仅限于与单机或局域网)新老系统,内外系统德互联极为困难对于软件厂商来说,巨大德用户资源没有得到充分利用(如用友有5万的巨大用户群)现存Internet应用由厂商在Internet端建立单一或综合解决方案,是传统软件模式在Internet上的简单重复现行的Internet应用模式相对简单,为最终用户的增值空间较小。现行的Internet的商业模式尚未建立,用户转移平台代价较小。现行的Internet应用之间也存在互联困难,没有规模效益等传统软件的弊病WebService由市场领导者制定应用框架,众多开发商基于标准协议和Fundamental.Service开发丰富应用,用户享有极大的互联其他应用软件和个性化定制的便利。整个框架完全开放,独立于操作系统,对象模式和编程语言用标准的Internet协议(HTTP/XML/SOAP)可以存取访问所有WebService应用可以无缝集成互联网的出现和迅猛发展形成了一种廉价的,充分尊重标准,互联巨大用户资源和商业资源的基础设施,为新的应用模式的出现提供了基本条件摩尔定律和吉尔德定律再互联网德应用,使得计算能力和宽带不再成为稀缺资源;接入设备和接入手段的多样化和简单化使得互联网应用成为最普通应用场景但是目前无论是互联网应用和传统软件在利用互联网的水平都处于相当低的程度,没有充分利用到互联网所连接德巨大资源和商业价值业界现状客户需求由厂商向企业个体提供基于局域网或单机德解决方案为什么要WebService—网聚人的力量模式模式特征特点170市场经济和社会化大生产的发展要求企业应用与上下游合作伙伴,客户,Marketplace进行集成互联企业内部也存在着新老系统,不同业务应用集成的问题如今的应用集成面临着难度大,费用高,时间长,效果差等问题业界现状客户需求为什么要WebService—应用集成应用模式优点缺点主要厂商Allinone由单一厂商提供面向企业全方位管理的完整解决方案由该厂商提供的应用之间集成度较高(但是该厂商在开发应用之时,也会面临着构架系统,集成模块的问题费用高,周期长,实施难度大,几乎不能利用已有应用资源,没有解决与外部应用相连的问题SAP,Oracle,IBM,用友,金碟,通软EAI由EAI厂商提供连接不同应用的中间件或连接件能够利用以有应用资源费用高,周期长实施难度极大应用集成程度较低WebMethodsB2BMicrosoftBiztalkNEON/IBMMQSIiplanetSolutionMercatorWebService应用是以组件方式提供的,可用Internet标准协议存取的WebService整个框架完全开放,独立于操作系统,对象模式和编程语言用标准的Internet协议(HTTP/XML/SOAP)可以存取访问所有WebService接口规范通过WSDL和UDDI完全公开,便于发现和集成Service提供的是独立于供应商的平台,不同应用厂商的Service应用可以无缝集成尚无案例和经验可供借鉴,许多技术和操作领域尚待自行开拓中国需要有一个强有力的领导者制定框架规范和基础Service应用市场经济和社会化大生产的发展要求企业应用与上下游合作伙业界现171业界现状客户需求为什么要WebService—软件是服务客户不希望为那些很少用到或根本不用的功能支付费用客户希望购买到随时随地可用的“功能”和“服务”,而并非是受地理位置和设备限制的软件客户希望得到软件的服务,而不是大费人力物力地为软件服务软件的补丁,更新和升级应该更加容易和透明Software服务是软件的附加值Service软件是服务的载体业界现状为什么要WebService—软件是服务客户不希望172大量手持设备,信息家电,车载设备等智能设备的迅猛发展使得PC不再成为个人存取和管理信息的唯一设备多种智能设备和接入手段的出现顺应了人们希望无论何时,何地都能够存取信息的要求人们希望对信息的体验是基于信息本身,而不是受限于信息设备,或被信息设备所控制业界现状客户需求为什么要WebService—智能设备模式模式特征后果现存设备不同的设备彼此独立有不同的应用软件和不同的用户数据用户在不同设备之间维护着多份数据拷贝用户数据很难在不同设备之间共享,同步和更新开发商需要为不同设备定制开发不同的应用Service不同设备低层是基于共同的Framework基础框架开发商只需开发一套应用程序,便可用较小代价移植到不同设备用户可以在不同设备之间共享,同步和更新数据用户可以在不同设备之间享受同样的用户体验大量手持设备,信息家电,车载设备等智能设备的迅猛发展使得PC173盗版是中国软件业最大的敌人,据IPRC统计中国盗版软件装载率高达91%,给软件供应商每年带来上百亿元直接经济损失盗版在中国有着深厚的社会和历史基础,如果单从法规政策,社会环境和人们接受程度等大环境的根本好转,还需要等待漫长的时间传统软件在传播,使用,价值体现上的特性是软件盗版特别猖獗的技术原因中国软件盗版的现状极大限制中国软件供应商的投资取向,经营行为,利润回报,是中国软件业出现心态浮躁,短期行为,忽视基础软件研发的重要原因业界现状客户需求模式模式特征后果传统软件软件的价值几乎全部体现于承载介质之上的软件的功能软件承载介质在存在着易复制,易传播等技术特性软件产品的复制品在使用价值上并无差异绝大多数人误解为软件价值就是软件的编辑成本;大多数软件商把重心放在企业软件,而不敢投资于市场容量大,发展潜力巨大的消费型软件和中小企业软件;中国软件业热衷于系统集成等初期投入小,技术含量低等领域,忽视投资回报巨大,技术进入门槛较高的基础软件的研发WebService软件的价值体现于供应商及软件所实现的服务软件本身只是实现这种服务的必要但不充分条件(服务的实现还需要后台服务商的支持和运营)仅仅复制软件本身并不能取得这种服务将采用低价进入,按月收费的电信收费模式盗版生存的技术土壤不复存在新的收费模式提供了较低的进入门槛,容易为个人和中小企业接受持续不断的收入流确保了企业的现金流,容易控制和预测企业盈利状况为什么要WebService—解决盗版问题盗版是中国软件业最大的敌人,据IPRC统计中国盗版软件装载率174微软的团队和人员管理微软的团队和人员管理175课程安排微软的人才观微软的招聘微软的新员工教育微软如何进行个人业绩考核微软如何管理员工事业发展微软的企业文化课程安排微软的人才观176微软的人才平衡表

$3560亿美元市值-$300亿美元固定资产-$700亿美元品牌价值$2560亿美元人才价值人才是微软真正的最大的财产微软的人才平衡表$3560亿美元市值人才是微软177微软的核心企业价值观客户(Customers)创新(Innovation)合作(Partners)正直(Integrity)以人为本(People)创业家文化(EntrepreneurialCulture)多样化(Diversity)奉献社会(Community)微软的核心企业价值观客户(Customers)178微软杰出人才的十大特点对产品拥有充分的热情和好奇心真正的关心用户的需求时刻思考如何改进产品对公司的长期承诺同时具备专长和广博的知识面适应各种工作方式和条件具备商业知识和经济头脑关注竞争对手懂得分析和取舍诚实,正直,努力微软杰出人才的十大特点对产品拥有充分的热情和好奇心179微软聘用员工的独到之处面试看重聪明而不是知识面试看重潜力而不是经验非常严谨而规范的面试过程*不存在例外,包括内部人员流动和员工推荐*高科技企业中最难也是最长的面试过程*少于百分之五侯选人能在面试过程中生存下来聘用部门而不是人事部门作最后决定面试过程并不能保证所有的合格侯选人被聘用,但保证不合格的侯选人几乎不可能被聘用微软聘用员工的独到之处面试看重聪明而不是知识面试过程并不能保180微软的三大聘用哲学聘用适应性和灵活性强的人每个聘用是为全公司而不只为某个部门聘用工作是每个员工的有限任务之一微软的三大聘用哲学聘用适应性和灵活性强的人181微软新聘员工的来源应届毕业生(25%)员工推荐(15%)公司网站(>50%)猎头公司(<5%)外国人(20%)微软新聘员工的来源应届毕业生(25%)182微软招聘工作流程=ManageractionMSpositionNewpositionWritejobdescriptionOpenrequisitionEvaluatejobAndassignCompensationlevelOpenrequisitionFindandScreencandidatesPostrep.andAssignrep.numberReviewresumesAndselectintervieweesPresentPackagetocandidateDecideonCandidateandDetailsofofferInterviewcandidatesScheduleinterviewsArrangeforNewhiresetupEnrol

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论