微软如何做软件

上传人:痛*** 文档编号:243969306 上传时间:2024-10-01 格式:PPT 页数:28 大小:519KB
返回 下载 相关 举报
微软如何做软件_第1页
第1页 / 共28页
微软如何做软件_第2页
第2页 / 共28页
微软如何做软件_第3页
第3页 / 共28页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,How Microsoft Builds Software*,Presented by:Ron Norman,Society for Software Quality,June 23,1998,Michael A.,Cusumano,Professor of Strategy&Technology Management,Sloan,School of Management,Massachusetts Institute of Technology,Richard W.,Selby,Associate Professor of Computer Science,Department of Information&Computer Science,University of California,Irvine,*Adapted from“How Microsoft Builds Software”,Communications of the ACM,June 1997,Vol,.40.No.6,pp,.53-61.This article is based on the authors book:,Microsoft Secrets:How the Worlds Most Powerful Software Company Creates Technology,Shapes Markets,and Manages People,The Free Press/Simon&Schuster,New York,1995.,The Challenges,Quality problems,Delayed deliveries,Larger development teams,Win 95 had over 200 programmers and testers,Software products with millions of lines of source code,11+million lines of code in Win 95,Development lasting one or more years,Product Complexity,Components are interdependent,Components are difficult to define in early stages of the development cycle,Need to proceed with coordination,while allowing flexibility to be creative,Need a mechanism to test the product with customers and refine the designs during the development process,The need for iterations,Users needs are difficult to understand,Software/hardware changes rapidly,It is difficult to design a software system,completely,in advance,Similar to the spiral model and other iterative enhancement development processes,Scaling up a flexible,entrepreneurial company,Small team style(3-8 developers),Many parallel teams,Freedom to evolve designs,Synchronize frequently,Synch-and-Stabilize Approach,Continually synchronize parallel teams,Periodically stabilize the product in increments versus once at the end,Also known as:,milestone process,daily build process,nightly build process,zero-defect process,Overview of Synch-and-Stabilize Development,Planning,Development,Stabilization,Planning Phase,Vision Statement-Product Managers,Define goals for the new product,Priority-order user activities that need to be supported by product features,Deliverables:,Specification document,Schedule and“feature”team formation,1 program manager,3-8 developers,3-8 testers(1:1 ratio with developers),Planning,Development Phase,Feature development in 3-4 subprojects(lasting 2-4 months each)using functional specifications that outline product features in enough depth to organize schedules and allocate staff,Subprojects-design,code,debug,starting with most critical features and shared components,feature set may change by 30%or more,Development,Subproject Development,Feature teams go through the complete cycle of development,feature integration,testing and fixing problems,Testers are paired with developers,Feature teams synchronize work by building the product,finding and fixing errors on a daily and weekly basis,At the end of a subproject,the product is stabilized,Stabilization Phase,Internal testing of complete product,External testing,beta sites,ISVs,OEMs,end users,Release preparation,Stabilization,Five Principles,(used for defining products and organizing the development process),1.,Divide large projects into multiple cycles with buffer time(20-50%),2.,Use a“vision statement”and outline feature specifications to guide projects,3.,Base feature selection and priority order on user activities and data,4.,Evolve a modular and horizontal design architecture,5.,Control by individual commitments to small tasks and fixed project resources,Directing and Controlling,Think about features large numbers of customers will pay money for,Exert pressure by limiting resources such as staffing and schedule,Sequential subprojects with priority-ordered features,Directing and Controlling,Modular architecture allows teams to incrementally add features,After resources are fixed,features must be deleted if teams fall behind schedule sometimes this is very difficult to do,Buffer time allows response to changes and unexpected difficulties,Five Principles,(used to manage the process of developing and shipping products),1.,Work in parallel teams but“synch up”and debug daily,2.,Always have a product you can ship,with versions for every major platform and market,3.,Speak a“common language”on a single development site,4.,Continuously test the product as you build it,5.,Use metric data to determine milestone completion and product release,Rules for Coordination,Specific time to“check in”code,new build every day,immediate testing and debugging,Code that“breaks”the build must be fixed immediately,Daily builds generated for each platform and for each market,Communication,All developers at a single physical site,Common development languages(C/C+),Standardized development tools,Small set of quantitative metrics to decide when to move forward in a project,e.g.daily build progress is tracked by the number of new,resolved and active bug
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!