product development

44
TREND MICRO CONFIDENTIAL 1 Harry Lin 林林林 Trend Micro Inc. 林林林林 March 18, 2003 Software Product Development Life Cycle

Upload: samuel90

Post on 15-Jan-2015

989 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Product Development

TREND MICRO CONFIDENTIAL 1

Harry Lin 林書華Trend Micro Inc. 趨勢科技

March 18, 2003

Software Product Development Life Cycle

Page 2: Product Development

TREND MICRO CONFIDENTIAL 2

Agenda

• Product development life cycle overview• Requirement phase• Project planning/High level design phase• Detail design phase• Constructions phase• Pre-release phase• Closure• Project management

– Planning– Risk management– Project monitoring– Change Control

Page 3: Product Development

TREND MICRO CONFIDENTIAL 3

Product Development Life Cycle

Software development project characteristics

• Requires domain knowledge and technology• Is a disciplined activities of creativity• Is a team work with huge amount of communicatio

n• Needs a lot of tools and various expertise• Evolves in a changing environment

Page 4: Product Development

TREND MICRO CONFIDENTIAL 4

Product Development Life Cycle

Software Development Process

• Is the path along which project evolves, deliverables mark the progress

• The bigger scope the project is, the more powerful the process is

• Essentials behind the process is more important than the process itself

• Quality of the product is as good as the quality of the process

Page 5: Product Development

TREND MICRO CONFIDENTIAL 5

Product Development Life Cycle

Software Project Requirements• An agreed upon and identical project vision, mission,

objective shared among team members• Has specific start and end dates, defined objectives,

established responsibilities, budget and schedule• A jelled team with required expertise• A leader who drives the project toward the objective

everyday• A clearly defined collaborative model inside the team

and to the outside world• Visible, accountable, traceable, and controllable

Page 6: Product Development

TREND MICRO CONFIDENTIAL 6

Product Development Life Cycle

• The Product Development Life Cycle is a template that a software development group can use for project customization.

 • It illustrates each development phase in detail: from

gathering information to defining what product to create to developing the product, from releasing the product to the market to training technical support engineers.

 

Page 7: Product Development

TREND MICRO CONFIDENTIAL 7

Product Development Life Cycle

• It also explains the standard Product Development process that development teams should follow. The key positions and the lead personnel in the different stages of the development process are also identified.

• The Product Development process integrates people and tools from different departments to develop software. These include:

– Product Managers, Project Managers, Technical Marketing Managers, Product Marketing Managers, Developers, QA/Testers, Software Quality Assurance, Human Interface Engineering, Architects, Process Engineers, Production Staff, Marketing Staff, Sales Staff, IT personnel and Tech Support.

Page 8: Product Development

TREND MICRO CONFIDENTIAL 8

Product Development Life Cycle

• The Product Development process helps efficiently employ and allocate resources. While development requirements vary from one product to another, the product development process can be customized based on a specific project.

 • Process, by itself, is a tool that can help smoothen pro

ject execution; Process is not the goal, the goal is to ship quality products on time.

Page 9: Product Development

TREND MICRO CONFIDENTIAL 9

Benefits of an Effective Process

• Changes are controlled systematically: the change is requested, the impact analyzed, and the change implemented. The project scope can be managed, and budgets and schedules can also be kept under control.

 • Quality assurance: By setting up processes to eliminat

e defects in the early stages, projects will not fall into extended test-debug-reimplement-retest cycles. Defects should be tracked during the projects as well as in later product releases.

 

Page 10: Product Development

TREND MICRO CONFIDENTIAL 10

Benefits of an Effective Process

• Predictable: Managers and project sponsors need projects to be predictable, to provide progress visibility, and to meet schedules, budgets, and other targets.

 • System integration: If the integration of components

developed by different developers can be well planned from the beginning of the project, the interfaces between components can be synchronized and aligned.

Page 11: Product Development

TREND MICRO CONFIDENTIAL 11

Phases of Product Development

• Requirements phase: This is a product planning and business evaluation stage. The project's goal and objectives are established during this phase.

 • High-Level Design/Planning phase: This phase

involves planning how to construct the product that was approved in the Requirements phase. The team members discuss how to create a concrete framework during this phase.

 

Page 12: Product Development

TREND MICRO CONFIDENTIAL 12

Phases of Product Development

• Detailed Design phase: During this phase all departments of the product development group implement the original design. The framework established in the previous phase is refined and updated.

 • Construction phase: The activities of this phase are

mainly code development, and test case design with a percentage of work spent developing the software product and documentation.

 

Page 13: Product Development

TREND MICRO CONFIDENTIAL 13

Phases of Product Development

• Pre-Release phase (Alpha and Beta): While developing a product in the Pre-Release phase, all features have been frozen and all effort is focused on fixing bugs and tuning performance. Many tests are performed during this phase to ensure a high-quality bug-free product is shipped. This is the last verification before the product is finally released. In the Beta phase, the focus is on real-world deployment and testing in real-world conditions.

Page 14: Product Development

TREND MICRO CONFIDENTIAL 14

Phases of Product Development

• Closure phase: After the product is released the project still must pass this crucial Closure phase. This phase provides a way to conclude the project, and conduct post-mortem meetings (both business and project). These meetings are conducted so in the future the process can be improved upon. In addition, the team preserves all the information and archives all documentation. Future teams working on similar projects can share and learn from this project's experience.

Page 15: Product Development

TREND MICRO CONFIDENTIAL 15

Requirement Phase

• The first stage in developing a product is identifying what to build during the entire Product Development process, to ensure that we deliver the right product at the end of the project. The project's goal and objectives are established during the Requirements phase.

 • The purpose of the Requirements phase is to finalize t

he requirements for product release. Any change on the requirements thereafter will go through the change control process.

Page 16: Product Development

TREND MICRO CONFIDENTIAL 16

Requirement Phase

• This is also the period during which the Marketing, the PM, and the implementation team work closely together to figure out what needs to be done, how success will be measured, and the amount of effort that will be required.

• The whole phase should be customer-oriented, and the main activity in this phase should be determining customer requirements (the Market Requirements Document or MRD), and the engineering response to the MRD (the Product Requirements Document or PRD).

Page 17: Product Development

TREND MICRO CONFIDENTIAL 17

Requirement Phase

• The MRD should include the following: – Mission statement

– Product road map

– Project objectives

– The results of marketing research and analysis, such as competitive info, market positioning

– Customer requirements

– Product localization requirements

– Product compliance requirements

– Business plan/model for the product

Page 18: Product Development

TREND MICRO CONFIDENTIAL 18

Requirement Phase

• A PRD should also have an Engineering resource commitment and an estimated schedule. A more accurate and precise schedule will be developed during the project plan, which is generated in the planning and high-level design phase.

• The PRD should have enough detail for engineering to start software design, UI design, and testing. The PRD should describe what a feature looks like, and should have a committed resource allocation and a roughly estimated schedule.

Page 19: Product Development

TREND MICRO CONFIDENTIAL 19

Requirement Phase

• The review for these documents (MRD/PRD) is very important to enhance the quality of these documents. Although requirements are initially vague and incomplete, a high-quality program can only be built from an accurate and precise understanding of the users' needs. Requirements must be explored and refined to be specific, measurable, accurate and testable.

Page 20: Product Development

TREND MICRO CONFIDENTIAL 20

Project Planning/High Level Design Phase

• Project planning is essential to the project's success. It provides the basis for visibility of a project status and measurement. Conducting a project without a project plan to follow will result in losing track of the project status and failure to detect early warnings or mistakes that otherwise could have been responded to or resolved.

Page 21: Product Development

TREND MICRO CONFIDENTIAL 21

Project Planning/High Level Design Phase

• Major milestones in the project plan include: – MRD approval , PRD approval – Project kickoff – Project plan approval – High-level design approval – Test plan – Development plan– UI freeze – Feature complete – Localization kit ready – Alpha, Beta– Code freeze – GM

Page 22: Product Development

TREND MICRO CONFIDENTIAL 22

Project Planning/High Level Design Phase

• The purpose of the Planning phase is to plan the project and formulate the baseline plan including doing high-level design, breaking down the work into small pieces, estimating project size and schedule, evaluating risks and staffing. Upon entering this phase, the team's focus starts to switch from what to build to how to build, which requires extensive planning and designing activities.

 

Page 23: Product Development

TREND MICRO CONFIDENTIAL 23

Project Planning/High Level Design Phase

• This product development phase involves mapping the goals and objectives established during the Requirements phase into a concrete plan. During the High-Level Design phase, all departments have already endorsed the feasibility of the PRD and have committed to the project. They now begin developing the project plans and the High-Level Design.

 

Page 24: Product Development

TREND MICRO CONFIDENTIAL 24

Project Planning/High Level Design Phase

• Although no code is generated during this phase, it may seem that the activities performed are actually delaying the real work of the project. However, the reality is quite different. The groundwork for the entire project's success is being laid out.

 • The difference between high-level design and

detailed design is that while the high-level design identifies the modules and their interrelationships, detailed design deals with the modules themselves.

 

Page 25: Product Development

TREND MICRO CONFIDENTIAL 25

Detail Design Phase

• The purpose of the Detailed Design phase is to finalize the design and complete the test plan with test cases. After finishing the product's framework design, the whole product development team goes into the Detailed Design phase. When detailed software design is undertaken, design problems will surface and design changes will be needed. When such changes are made, the design documentation must be updated.

Page 26: Product Development

TREND MICRO CONFIDENTIAL 26

Construction Phase

• The purpose of the Construction phase is to implement the design stage by stage. At this point, it is assumed all the software requirements have been discussed, considered, and reviewed. When a product reaches this phase, the project team focuses on execution of the plans.

• The activities in this phase are primarily code development, test software development, and the beginning of test case execution, with a percentage of work devoted to the development of the software product and documentation.

 

Page 27: Product Development

TREND MICRO CONFIDENTIAL 27

Construction Phase

• The Construction phase can be divided into recurring stages. A wrap-up meeting should conclude every stage to ensure that the criteria that were set are met. The stage wrap-up meeting also serves as a venue for revising the plan and scheduling unfinished tasks.

 • If there are indeed changes, the change management

process should be used to address the changes. All detected defects should be classified and recorded in the defect tracking system and followed up until the closure.

Page 28: Product Development

TREND MICRO CONFIDENTIAL 28

Pre-release Phase

• While entering the Pre-Release phase, the focus on the Implementation team should switch from construction to final touches. The goal for the Pre-Release phase is to prepare for the release, thus only the showstoppers will be accepted.

 • The purpose of Pre-Release phase is to test and fix

the bugs of the product to meet the acceptance criteria. After all the features are coded, the feature complete milestone is met and the project goes into the pre-release phase.

Page 29: Product Development

TREND MICRO CONFIDENTIAL 29

Pre-release Phase

• In some projects, the period between feature complete and the first alpha build is called pre-alpha. The Pre-alpha phase is mainly fixing the bugs to met alpha quality. Following pre-alpha are two cycles called Alpha and Beta.

Page 30: Product Development

TREND MICRO CONFIDENTIAL 30

Alpha

• Before Alpha cycle, major functions of the product should be complete while minor functions may still be under development. A product must meet the following criteria to reach Alpha:

 – Major product features are complete

– No P1 or P2 bugs

– Rough draft of product documentation should be available

– Basic Release notes should be available

Page 31: Product Development

TREND MICRO CONFIDENTIAL 31

Alpha

• The focus of the team during the Alpha is to get the product out the door and to eliminate the possibility of showstoppers in the succeeding cycle and phases. Internal testing, features and program code are completed during this cycle. A product is considered to have concluded the Alpha cycle once it completes the entry criteria for the Beta cycle.

Page 32: Product Development

TREND MICRO CONFIDENTIAL 32

Activities During Alpha

• Tune Performance • Conduct QA Alpha Test

– Regression Test

– Compatibility Test

– Performance Test

– Vulnerability Assessment

– Volume Test

– Stress Test

– Trend Micro Standards Compliance Verification

Page 33: Product Development

TREND MICRO CONFIDENTIAL 33

Activities During Alpha

• Conduct Super Lab Test • Conduct Internal Test Using IT Production Servers • Complete Documentation • Develop Package Design

Page 34: Product Development

TREND MICRO CONFIDENTIAL 34

Beta

• During the Beta cycle, all product features are implemented and code development is stopped. Code freezing begins in this cycle. Only bug fixes are allowed from this point on.

 • The focus of the Beta cycle is to release the product t

o the real world for testing. Beta customers provide valuable feedback about how the product functions in real customer environments.

 

Page 35: Product Development

TREND MICRO CONFIDENTIAL 35

Beta

• The Beta plan serves as a guiding policy on objectives of Beta and Beta criteria, to guide the Beta customer recruitment, Beta quality assessment. Before the Beta cycle, the product must meet the following criteria:

 

– Pass Super Lab testing.

– After two weeks of continuous internal testing, there should be no crashes or serious problems.

– No P1 or P2 bugs.

Page 36: Product Development

TREND MICRO CONFIDENTIAL 36

Closure

• The purpose of the Closure phase is to release the product and to conclude the experience and lessons from this project. Once the product has passed all testing and has been proven to meet the quality standard defined in the PRD, the Beta Plan, and the Test Plan, it is ready for market release.

 

• All Product Managers, Project Managers, Developers, Testers, Human Interface Engineers, Build masters, ITs and Tech Support staff have to verify all their tasks have met the release quality standard to ensure the quality release endorsement.

Page 37: Product Development

TREND MICRO CONFIDENTIAL 37

Closure

• Major Activities– Endorsement Meeting

– Post-Mortem Meeting/Project

– Archive All Project Data

– Transfer of Information (TOI)

• After the product is released, both the Product Manager and the Project Manager need to hold post-mortem meetings. A post-mortem meeting is a review of the process and a discussion of what improvements could be made. Basically post-mortem deals with the questions, “did we build the system right?”

Page 38: Product Development

TREND MICRO CONFIDENTIAL 38

Project Management – Planning

• A good planning is a good start of the project• Include all functional groups and all activities during the

development cycle• Conducts the project kickoff meeting• Coordinates with the team to break down the project int

o manageable items• Assembles project items and inter-dependencies into a p

roject schedule covering all engineering efforts• Formulates the Project Management Plan. This plan sho

uld be discussed, reviewed and revised at the end of each development stage

Page 39: Product Development

TREND MICRO CONFIDENTIAL 39

Project Management – Planning

• Identifies and resolves project risks• Schedule actions for risks and potential problems• Performs resource planning. Allocates engineering

resources according to a project’s needs and availability of developers, QA, Human Interface engineers and architects

• Prioritizes project tasks and items• Setup project objectives and quality attributes• Setup working model in the project team

Page 40: Product Development

TREND MICRO CONFIDENTIAL 40

Project Management – Risk Management

• Any exceptions that prevent the project team from reaching the project goal are considered risks, which vary from resource changes/inefficiency, to unavailability of outside dependency, to failure of employment of new technology/algorithm failure, etc.

• Build up risk management committee and schedule regular meetings to continuously identify risks, evaluate impacts, schedule in actions, and plan contingency

• Avoid same problems in previous projects by learning from post-mortem of previous projects

Page 41: Product Development

TREND MICRO CONFIDENTIAL 41

Project Management – Monitoring

• Docs in planning phase are the baseline for the project• Use baseline and deliverables (e.g defect reports) to

monitor schedule (milestones) slippage, quality deviation, and resources shortage and takes corrective action when necessary

• Verifies deliverables, watch for deviations• Adjusts (re-prioritize, re-assign, add, etc.) work items

and resources to eliminate deviations• Solves issues and makes trade-off decisions on features,

designs, and defects resolutions

Page 42: Product Development

TREND MICRO CONFIDENTIAL 42

Project Management – Monitoring

• Provides other departments with regular project status reports

• Monitors identified risks• Ensures the team follow disciplines• Manages internal and external dependencies• Maintains a project log for end-of-stage wrap-up and po

stmortems

Page 43: Product Development

TREND MICRO CONFIDENTIAL 43

Project Management – Status Reporting

• Not only outside world needs to know the project status, so does every project team member

• Status includes work in all functional groups• Use milestones as check mark• Present facts on features (project scope changes),

schedule (approaching milestones), quality (defect statistics, execution of test cases, etc.)

• Present issues and resolution actions• Present risks, mitigation actions, and contingency plans

Page 44: Product Development

TREND MICRO CONFIDENTIAL 44

Project Management – Change Control

• Every change go through Change Control Process• Once committed, changes become part of the project• Modify plans to reflect the changes and let all stakeh

olders know the changes and ask them to act correspondingly

• Watch for potential risks and problems, and schedule actions for them