Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
1
Product Cycle
Dennis CanadyGroup Development Manager
Microsoft [email protected]
Objectives
• Briefly review the product development cycleat Microsoft
• Discuss what individuals actually do and why• Point out how individual roles change during
the product cycle
2
Overview
• Quick review of product cycle• Program management role• Development role• Quality assurance/testing role• Questions & answers
Successful Projects Have• Well defined, clearly communicated vision• Prioritization of all aspects of the project• Ownership by all team members• A “product champion”
3
Product Cycle Phases
• Milestone zero– Starts with completion of the vision
statement– Ends when coding begins
• Milestone N– Starts when coding begins– Ends when testing certifies that code
meets the project plan’s goals for schedulequality
Product Cycle Phases• Code complete and system testing
– Starts when code complete milestone isaccepted by testing
– Ends when active bug count reaches zerobug bounce
• Stabilization and release tomanufacturing
– Starts with zero bug bounce– Ends with release to manufacturing
4
Market ResearchVision Statement
Localization Plan
Functional Specifications
Usability Goals
Research
Conceptual Design
Collect Customer Data Forecast Support Costs
Prototype
Mi les ton e 0
Master Schedule
Testing Strategy
Feature Design
Product Management
Program Management
Development
Usability
Product Design
User Education
Localization
Testing
Product Support
Resource Allocation
Testplan
Localization Kit
Milestone N
P r o d u c t C y c l e M o d e l
Specification Testing
Write Code
Marketing Plan
Drafts Finalize Content Create Builds Testing
Automation
Training
Manage Project Status & Communication
Usability Testing
Prototype Create Icons and Bitmaps
Localization of SoftwareCreate & Approve Glossaries
Identify Support Issues Determine Support Strategy
Docs to Translation
Pricing + Promotion Packaging
Update Specifications
Testing Fix Bugs
Quality Assurance
Developer Testing
5
RTM
Beta(s)
Beta Programs Launch
Ship Signoff
Testing & Bug Fixing
Final Releases
Field Testing
PSS Beta and Evaluation Take CallsKnowledge Base Sweep
Final Review
Beta Programs
Final Testing
Visual Interface Design Review
At Printer
Code Complete
Prioritizing Bugs
Testing & Bug Fixing
Testing & Bug Fixing Tech Review + Quality Assurance
Zero Bug Release
ProgramManagement
Program Mana gement
6
• Focuses on the big picture: shipping theright high-quality product on time
• Works with team to ensure product is well-suited to the market and MS business needs
• Is responsible for design, feature set, andcoordination of project schedule
ProgramManagement
Program Mana ger
ProgramManagement
Program Mana ger Asks questions like:
• "Is this really the product customers want?"
• "Is the team/development creating what weplanned?"
• "What important issues have fallen throughthe cracks?"
• "Is the team working well together?"
7
• Manages without authority
• Drives communication
• Gets buy-in and builds consensus
• Establishes credibility
ProgramManagement
Program Mana ger
Works with product team to define:• Vision/goals
• Marketing requirements
• Development requirements
• Core features
ProgramManagement
Milestone Zero
8
• Overview/requirements doc
– Communicates product vision and goals toproduct team and management
– Used to gain buy-in
• Functional spec
– Defines all features, how they work, and howthey address market requirements
– Defines what the product is and isn’t
ProgramManagement
Milestone Zero
ProgramManagement
Milestone ZeroWorks with product team to:• Define deliverables from each group
• Determine dependencies between groups on theproduct team, with other MS groups, and withoutside companies and component providers
• Define milestone criteria
• Create a master schedule
9
• Identify and predict problems– Work with the team to predict problems that
might force a schedule or feature set change
• Track dependencies– Internal and external
ProgramManagement
Milestone N
• Work with the team to assess tradeoffs anddetermine the best solution for the product:– Adjust schedule
– Adjust features
– Add/shift resources
ProgramManagement
Milestone N
10
• Communicate status and changes to the team
• Ensure that all critical tasks gets done
ProgramManagement
Milestone N
ProgramManagement
Interactions Within ProductTeam
To work effectively with program managers:
• Ask questions, make suggestions, andchallenge ideas
• Contribute to the spec and process
• Make something happen
11
ProgramManagement
Code Complete & System Testing
• Prioritize bug fixing decisions withdevelopment and test
• Manage technical and marketing betas
• Provide builds to oems, isvs, and otherteams
• Monitor schedule
• Troubleshoot problems
Stabilization andRelease to Manufacturin g
ProgramManagement
• Wrap-up beta; ensure customers are happy
• Monitor final system test
• Create/cut final media for hand-off tomanufacturing
• Drive sign-off process
12
The program manager is at
"The hub of the information wheel"
During the lifetime of a product
ProgramManagement
Program Mana gement
• Making it happen
• Working at broad levels as well as at detail level
• Courage
• Working with/enabling others**communication**
ProgramManagement
Key Skills
13
Development
Development
Developers
• SDEs, and engineers
• Write code
• Design algorithms anddata structures
Development
14
DEV Milestone Zero
• Feature vision and feasibility– What's the point of this feature?
Why does the user want thisfeature?
– Is there a similar feature or userinterface in the product or in anymicrosoft product?
– Give prog. Mgmt. Enoughinformation to make decisionsabout the feature set
Development
Milestone Zero• Feature design
– Detailed design of all major algorithms anddata structures in the feature
– Is the feature forward extensible andbackward compatible?
– Can we borrow code or designs from otherproducts?
– How long will it take to code the feature?
Development
15
Milestone Zero
• Resource allocation– Work closely with program management to
determine the feature set– Assign feature development to individual
developers
• Take into account individual skill sets
Development
Milestone N• Feature implementation
– Code the feature– Discuss possible improvements with
program management– Watch for ‘out of memory’, ‘undo’, error
handling, assertion checking, platformdependence, etc
– Zero-defects programming
Development
16
Milestone N
• Test code– Unit testing– Daily builds– Build verification test (BVT)
• Send features to usability labs andget user feedback
Development
Milestone N
• Resolve reported bugs
• Track development progress againstschedule
• Write testing release document (TRD)
Development
17
Code Complete andSystem Testin g
• Testing and bug fixing– Work closely with assigned testers to
check functionality– Fix bugs as soon as possible– Give testers private releases instead of
waiting for official releases– Stop working on features and fix bugs
Development
Stabilization andRelease to Manufacturin g• Say "no!" To new features• No major changes to the code
• Get bug count down to zero and keep itthere
Development
18
Key Skills
• Detail orientation• Analytical thought processes
• Working smart
• Thoroughness/completion orientation
• Getting it done
Development
TESTING
19
WHAT ISTESTING?
Independentverification &validation of theproduct againstthe schedule andquality.
Testing Issues
� User perspective
� Compliance to design standards
� Specification compliance
� Product stability
� Monitor and report quality
� Schedules
Testing
20
SDE/T
• A developer who writes programs or toolsto verify correctness of a product
• Canonical example: SDE/T who writeswindows apps to exercise win API in allpossible ways
• Another example: writes tool to distributeand manage automated test runs acrossmultiple machines
STE
• A power user of a product who ensurescorrectness of the product
• From user perspective makes sure thatproduct works well for all ranges of users(novice to expert)
• Example: ensure that print dialog workswith a variety of document/printerconfigurations and exceptional conditions(off line, out of paper, etc)
21
Milestone Zero� Input into product design
� Research
� Test strategy
� Provide input into productspec
� Test plan
� Setup bug database
Testing
Milestone N
� Create test specification fortest area
� Test design review
� Create and run test cases
� Automate test cases Testing
22
Milestone N� Developer testing
� Regression
� Configuration
� Interoperability testing
� Component acceptance(from other groups)
Testing
International Testing Issues
• Work with internal localization• Test one international version
– Ensure sizes are correct– Ensure strings are accurate
• Work with external localization teams
23
Code Complete andSystem Testing
� Alpha - code complete
� Beta - internal and external
� Test pass - ZBR
� Golden masters
� Maintenance Testing
Stabilization andRelease to Manufacturing
• Golden masters• QA on release disks• Release dependent on approval from
test and PSS• Release phase
– Maintenance– Localized and ported product releases