1、微软产品开发管理,张帆 微软(中国),Microsoft Solution Framework,Agenda,The development team The development environment The development process The development management,The development team,The organization chart,The roles,Dev manager Own implementation of the product Overall design, keep the project on course, m
2、onitor the health, coordinate with other functional teams Dev leads Own features requirement, design, implementation, coordinate architectural issues with leads of other dev team Devs Own implementation of features Implement, test and document features, fix bugs, support QA and UE,The virtual teams,
3、The architecture design team The performance team The code review team Etc.,The development environment,The principle A standard environment,Everybody use the same environment Mandatory Productivity Predictability Few exceptions E.g., source editor,The development tools Source code management system
4、,Crucial for protecting company asset Crucial for parallel development Support versioning, branching, locking, backup and restore Facilitate automatic build process Integrate with other dev tools,The development tools Source code management system,The project repository Put all project related files
5、 and docs into the source code management system Source files Compiler, linker, libraries, build scripts Installation tools and scripts Testing tools and scripts Project specs, plans, user docs Appoint owner/admin for the system,The development tools Issue tracking system,All bugs and issues are log
6、ged Required fields Title, description, change history Owner Open date, update date, close date Opened by, changed by, fixed by, closed by Status Priority Severity Fix by Milestone The build number when the bug is found The build number when the bug is fixed,The development tools Issue tracking syst
7、em,Use common queries for the team For the dev manager and dev leads Bug open rates and close rates Bug change rates Bug fix failed counts,Cost to Fix a Bug,The development tools Other tools,Modeling tool Debugger Performance analysis tools Coverage analysis tools Team websites Etc.,Demo: Performanc
8、e Profiling,The development process,The principle - A standard process,Everybody follows the same procedure Mandatory Productivity Predictability No exceptions,A standard development process,Design specs Coding standards Source code check-in procedures Bug fixing procedures Contingency procedures Bu
9、ild breaks Security breath,The development management,The principle - A risk management approach,The goal: Build to spec on time The risk: People: Customers, personnel, organization, skills Process Mission, budget, cost, schedule, design, build, test Technology Security, dev and test environment, to
10、ols, availability Environment Competition, economic, regulation, legal,Retired Risks,Risk Assessment Document Top 10,3. Plan,5. Control,2. Analyze,1. Identify,Risk Statements,4. Track,Risk Management Process,The ongoing deliverable of this process is a living risk assessment document,Research, evalu
11、ation and prototyping,Research projects during minor releases Market trends and advances Competitor innovations and directions Evaluate technologies Capability, quality, sophistication Ease of use Team skills Prototype Identify key risks Define experiments Simulate end result,Scheduling,Balance amon
12、g resource, feature set and schedule Define tasks and estimates Parallel development Schedule commitment Schedule ownership Credibility/Predictability,Project Execution Measuring and monitoring progress,Daily builds and smoke tests The heartbeat of your project Crucial to maintain project consistenc
13、y, integration, quality and visibility Tracing bugs Weekly bug status report Bug threshold Status meetings Have a specific purpose Involve PM, QA, and UE Keep it short and frequent Keep a list of outstanding issues,Project Execution Measuring and monitoring progress,Managing by walking around (MBWA)
14、 Shows you are involved and care about the project Some people not comfortable speaking at meetings Regular one-on-one with team members Sharing information Share success Share failure,Project Execution Making changes,Changing Course Get the facts, but dont overanalyze Involves others in the discuss
15、ion Use external teams to augment dev and test Cut features instead of extending schedule,Project Execution Making changes,Changing Speed When to increase pressure To meet milestones To recover from a missed date To response to external competitive pressure How to increase pressure Duration be clear
16、 how long overtime will last Comfort make overtime enjoyable Spirit team commitment Progress show the team the progress Appreciation recognize teams effort,Beta Testing Benefits,Test in real world Feedback (features, performance, UI) Marketing Augmenting your stuff,Beta Testing Management,Recruiting
17、 beta sites Distribute software Communicate beta status Results-oriented Reward beta sitesStart early! Get the feedback! Build a good tool to manage information,Postmortems,Formalize the process of learning from past experience Post-milestone review meetings Capture project learning to develop team
18、members and improve the process Bring closure to a project Fundamental to a learning organization Action items and owners,Summary,Build a great dev team Create a great dev environment Enforce a good dev process Use a risk-oriented dev management approach,Q & A, 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.,