1st lecture [read-only]

24
1 Product Cycle Dennis Canady Group Development Manager Microsoft Corp [email protected] Objectives Briefly review the product development cycle at Microsoft Discuss what individuals actually do and why Point out how individual roles change during the product cycle

Upload: others

Post on 03-Apr-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

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

24

Key Skills• Getting things done• Attention to quality• Curiosity• Detail orientation• Courage

Questions?