focus on design principles and on a process for doing design = to produce a precise, complete, high-...

39
Designing with Teams Tawatchai Iempairote September 16, 2014

Upload: blaise-hugh-jacobs

Post on 19-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing with Teams

Tawatchai IempairoteSeptember 16, 2014

Page 2: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

OBJECTIVES

Focus on design principles and

on a process for doing design=

To produce a precise, complete, high-quality foundation for product

implementation

Page 3: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

OUTLINES

Design principle Designing in teams Design standards Designing for reuse Designing for usability Designing for testability Design reviews & inspections

Page 4: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing in Teams

Page 5: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Principles

Creative process; produce complete and precise specification of how to build a product

Complete design defines the principal parts, describe how they interact, and how they put together to produce the finished result.

Page 6: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Principles After the requirements have been defined, the

entire software process concerns various levels of design;

The high-level design must produce a SDS( Software Design Specification),which includes the complete functional specifications of each component, its interface and its state behavior

Page 7: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design PrinciplesPRODUCT

Component Part2Component Part1 Component Part n

Team Member 1 Team Member nTeam Member 2

Designed &Implemented

Designed &Implemented

Designed &Implemented

SDSthe complete functional specifications of each

component, its interface and its state behavior.

Page 8: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Principles

The detailed design defines the logical structure, all the loop initialization and stepping conditions, the detailed state structure, and the state transitions for every program.

If the High-level design is vague or imprecise, the engineers have to fill the gap component incompatibilities, detected in integration & system test..

Page 9: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Principles

High-level design differs from detailed design only in scope and detail.

In TSPi, the high-level design process is described in the design phase. The detailed-design process is described in the implementation phase.

Page 10: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing in Teams

Page 11: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing in Teams

Using entire team Design Studies Using all the team’s talents

Who should design each part? In what order?

How do the parts fit together?

Page 12: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Using the Entire Team

Common problem in designing large software system = the need to define the overall system structure. If not, difficult to divide the work.

To have the entire team work together on the overall structure design. => An attractive alternative

Page 13: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Using the Entire Team

The entire team brainstorms the initial design ideas.

Once the team has picked a general approach, only one or two engineers are usually needed to document the highest level design, specify the interfaces, allocate system functions among the components, and define the overall program structure and logic.

And identify other team tasks could do:- design studies, standards development, and reuse.

Page 14: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Using the Entire Team

Design Studies

› While the system designers are producing the external component specifications, other could think about alternative ways to design the components => to build the prototype, and user interface.

Page 15: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Using the Entire Team

Using All the Team’s Talents› Powerful range of skills and knowledge› To get all the members to fully contribute

Ask if anyone has further ideas or relevant knowledge on the topics

Speak up

Page 16: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Standards

Some important types of design standards;

› Naming conventions

› Interface formats› System and error messages› Defect standards*› LOC counting› Design representation standards

Page 17: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Standards

Design Representation Standards To know having the complete design,

need a specification for what a complete design contains

Need to precisely document every design by using the 4 PSP design templates› The operational scenario template› The functional specification template› The state specification template› The logic specification template

COMPLETE &

PRECISE

Page 18: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing for Reuse Reuse is a potentially powerful way to

increase team productivity. By establishing a reuse program, you

can often save engineering time in development cycles.

Teams generally achieve higher reuse level when s/o produces an initial reuse standard and specifies a starter set of reusable parts:- › Reuse interface standards› Reuse documentation standards› Reuse part quality› Application support.

Page 19: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing for Reuse

Reuse Interface Standards One key issue of reuse: make parts

convenient to use. To define reusable functions that

are self-contained & cleanly isolated

Ex: the call-return interfaces

Page 20: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing for Reuse

Reuse Documentation Standards

Reuse Part Quality High Quality Because give up if its first defect found. To achieve the high part quality Use a fully defined process & conduct

personal reviews & peer inspections of both the design and the code

Application Support

Page 21: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing for Usability

One way to make products usable is to produce scenarios for every key user function (reflect the kind of system you believe the users will want.)

*** Good idea to prototype and demonstrate all user interfaces.

Page 22: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Designing for Testability

Black-box testing White-box testing

Page 23: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Reviews and Inspections

For improving the quality of your design.

A well-document design design analysis (check each design element => interfaces, state behavior.

Page 24: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

The TSPi Design Scripts

Page 25: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Entry Criteria

A development strategy A development plan A completed and inspected SRS

Can’t do a competent design job unless you have a high-quality SRS that has been Inspected. The team must have agree on how to represent the completed design.

Page 26: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

High-level design

The development manager leads the team through… Decide on the overall product structure. Name the product components. Allocate product function to components Produce the component external

specifications Allocate use-cases function to these

components. Identifying the design tasks to be

completed and documented.

Page 27: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Standards

The quality/process manager leads the team to produce the design standards and name glossary.

Page 28: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Task Allocation

[Overall design specified and the components named] => produce the design specifications

The development manager lead Lay out the design of the SDS

document + identify the work needed to produce & dividing this work into sections.

Allocate & get the commitment

Page 29: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

The Design Specification

Each team memberProduces and reviews his or her portions of the

SDS document Provides these to the development manager

The development manager produces a composite SDS draft.

Page 30: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Integration Test Plan

to produce the integration test plan while you are producing the design specifications check & verify all interfaces

Inspect the integration test plan when inspect the SDS.

Page 31: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Inspection

The quality/process manager leads all the team through inspecting the SDS draft and integration test plan.

to find maximum no. of design defects. to ensure all team understand the

design.

The inspection is documented in form INS and defects are recorded in LOGD.

Page 32: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design and Integration Test Plan Update

Team member fix the identified errors in SDS/ integration test plan

The development manager obtains the updated SDS and integration test plan sections and combine them into a final SDS and integration test plan

Distributes.

Page 33: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Baseline

The support manager baselines an official SDS copy, which the team can now change only by using the change control procedure

(form CCR).

Page 34: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Exit Criteria

The final design products are …

The completed, inspected and corrected SDS, + all design material

The completed, inspected and corrected integration test plan

The design standard and name glossary The completed inspection forms (INS) Updated SUMP and SUMQ forms Update time, size, defect Updated the project notebook (copy all

design materials)

Page 35: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Summary

To ensure that engineers produce high-quality design.

Page 36: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Flow

Produce overall design

Divide into principal components

Design BDesign A Design C

The development manager

SDS

Page 37: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

Design Result

Precise, complete, high-quality How the product part interact How assembled to the finished system

Page 38: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation

4 Design Steps

Deciding on the overall product structure Allocating product functions to

components Producing the component external

specifications Deciding which components & functions

to develop in each development cycle.

+ REUSE and STANDARDS

Page 39: Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation