Top Banner
November 2006 © 2006 IBM Corporation McMaster Education Series How IBM Applies Process to Create Quality Products IBM Toronto Software Development Lab
59

McMaster Education Series How IBM Applies Process to Create Quality Products

Dec 30, 2015

Download

Documents

Margaret Greene

McMaster Education Series How IBM Applies Process to Create Quality Products. IBM Toronto Software Development Lab. Introduction. How IBM applies process to create quality products. Agenda. IBM Organizational Overview Product Process Quality Continual Improvement. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: McMaster Education Series How IBM Applies Process to Create Quality Products

November 2006 © 2006 IBM Corporation

McMaster Education Series

How IBM Applies Process to Create Quality Products

IBM Toronto Software Development Lab

Page 2: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation2

Introduction

How IBM applies process to create quality products.

Page 3: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation3

Agenda

IBM Organizational Overview

Product

Process

Quality

Continual Improvement

Page 4: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation4

Why We Are Here

Page 5: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation5

IBM Organizational Overview

Software Group

Hardware

IBM Global Services

Technology Group

Sales & Distribution

Page 6: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation6

IBM Software Group

IBM Software Group is one of the largest software companies in the world

Page 7: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation7

eBay

eBay selected WebSphere, IBM’s e-infrastructure software, as the technology foundation for its next-generation trading platform

Page 8: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation8

CNN

CNN uses IBM software and hardware to manage its archives of over 200,000 hours of digital material

Page 9: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation9

Air Canada

Air Canada has introduced 142 IBM self-service kiosks to improve the passenger experience at eight Canadian airports.

Up to 50% of Air Canada's passengers are using the kiosks during peak periods, enjoying an 80 per cent reduction in check-in time

Page 10: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation10

SWG Worldwide Locations

Page 11: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation11

Canada's Premier Software Development FacilityIBM Toronto Lab:

Page 12: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation12

Toronto Lab Mission

We develop products or provide services in Toronto for all of the Software Group brands

Page 13: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation13

Examples of Toronto Lab Technology & Key Products

Database Management Technology– DB2 Universal Database– DB2 for VSE and VM (SQL/DS)– DB2 Connect

Application Development Technology– WebSphere Development Studio– WebSphere Business Integration Tools– VisualAge Tools (C++, Java, TPF)– XL Fortran– Rational Developer for Java / Web– Tivoli Intelligent Orchestrator

Electronic Commerce Development– WebSphere Commerce

User Centered Design, Globalization, Media Design

Page 14: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation14

Platforms Supported by Toronto Lab Products

Linux Solaris HP

Windows

AIX OS/390 OS/400 OS/2 VM / VSE

Page 15: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation15

Roles in the Toronto Lab

Managers– Project managers– Development managers

Team Leaders Architects Developers

– Designing/writing code– Writing user guides

Testers Customer Service Analysts Other roles (eg. IT, Finance, HR) Software Engineering Process Group (SEPG)

Page 16: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation16

SEPG Provides Support to the Toronto Lab

Process education

Process modeling, definition and assessment

Sharing of best practices and tools

Page 17: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation17

Agenda

IBM Organizational Overview

Product

Process

Quality

Continual Improvement

Page 18: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation18

A product is a piece of software that is used to build applications An application is a software system that meets a specific customer need

Application DeveloperProduct Developer Product Application

e.g. WebSphere Application Server, DB2 Database

e.g. Bank Teller System, Airline Scheduling System

Definition of Product

Page 19: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation19

A product is a piece of software that is used to build applications An application is a software system that meets a specific customer need

Product Developer Product

e.g. WebSphere Application Server, DB2 Database

Definition of Product

Intended for use by multiple customers

Can be deployed world-wide–Complex translation and globalization

Must conform with various industry and regulatory standards

Intellectual property must be protected

Multiple versions in use at same time

Page 20: McMaster Education Series How IBM Applies Process to Create Quality Products

November 2006 © 2006 IBM Corporation

McMaster Education Series

How IBM Applies Process to Create Quality Products

IBM Toronto Software Development Lab

Page 21: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation21

Agenda

IBM Organizational Overview

Product

Process

Quality

Continual Improvement

Page 22: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation22

Software Development Approaches

Just jump in and do it– Also known as “heroic effort”

– Many projects depend on heroic efforts

– Can succeed if enough experience

Established process– Teams typically fall back on tried and proven

approaches

– Use as is or tailor it to your project

Invent a process– Existing processes do not meet team’s needs

Page 23: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation23

What are the pitfalls of heroic effort?

Project status is difficult to gauge People work independently and not aware of what

others are doing Inconsistencies and missing interfaces Hit and miss on schedule and deliverables Best practices not shared

Think about a team assignment where there wasn’t much of a plan to follow and people just jumped in and did their best. What were some of the problems that were encountered?

Page 24: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation24

Plan or Process

If you want to do something once, you need a plan; if you want to do something repeatedly, you need a process

Page 25: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation25

Plan or Process

A plan tells you what you need to do:– Create design specification

A process tells you how to do it:– The architect or lead developer obtains and understands

the approved product requirements

– He/she creates a design spec which describes: the overall architecture, internal & external interfaces, applicable standards & any extensions required, etc.

– The design spec is reviewed by other developers for completeness and accuracy

– The project manager approves the design spec

Page 26: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation26

Why do we have process ?

To identify the key activities (manageable pieces ) and their logical sequence

To make the approach consistent and repeatable

To allow for measures to gauge progress and foster continuous improvement

To enable scalability (the larger the team, the more difficult it is to work without a process)

To ease adoption of best practices

To avoid known pitfalls

To improve quality

Page 27: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation27

Break the problem into manageable pieces

Deposit

Withdrawal

Transfer

Fun

ctio

nal P

ersp

ectiv

e

Page 28: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation28

Break the problem into manageable pieces

Requirements Design Code Test

Deposit

Withdrawal

Transfer

Procedural Perspective

Fun

ctio

nal P

ersp

ectiv

e

Page 29: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation29

Break the problem into manageable pieces

Requirements Design Code Test

Deposit

Withdrawal

Transfer

Procedural Perspective

Fun

ctio

nal P

ersp

ectiv

e

Page 30: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation30

There can be different levels of process

IPD = Integrated Product Development (IBM’s business management process)

IPD

Development

Finance

Marketing

Sales

Requirements

Design

Code

Test

Hi-level Design

Lo-level Design

Executives Managers Teams Developers

Page 31: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation31

Typical development process flow

Design3Design2Design1 Design5Design4

Code3Code2 Code4Code1 Code5

Test3Test2 Test4Test1 Test5

System-level Testing

Requirements

Page 32: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation32

Process Model

Design3

Code3

Test3

Requirements

Page 33: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation33

Process Model

Design3

Project Plans approved (entry criteria)

Requirements

Process steps

Specifications SpecsApproved(exit criteria)

Page 34: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation34

Process Model

Entry criteria

Inputs

Description of activities/steps

Outputs

Exit criteria

Measurements

Page 35: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation35

Sample Lab Process

Actual Design Process from the IBM Toronto Lab

Page 36: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation36

Metrics identify if you are on course and on schedule

Toronto

London

An airplane may be off course 90% of the timeBut uses real time corrections to reach destination

Page 37: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation37

By taking process measurements in real time projects are better able to meet their commitments.

Actual Finish

Time

% of Test

Phase Success

Target Finish

100

0

Week 1 Week 2 Week n

Page 38: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation38

Process Metrics

Establish targets by phase (e.g. Design, Code, Test). For example…

– # of design / code reviews held– % of test cases run– # of operating system platforms supported & tested

Monitor and track progress on a regular basis

Take corrective action to bring back “on course”

Metrics can be used to:– Show project progress– Gauge process effectiveness– Foster continual improvement

Page 39: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation39

Process Summary

Heroic efforts

Plan vs. process

Decomposition into manageable pieces

Different levels of process depending on your role

Process models

Process measurements

Page 40: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation40

Agenda

IBM Organizational Overview

Product

Process

Quality

Continual Improvement

Page 41: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation41

What is Quality

Quality is meeting or exceeding the customers’ expectations and requirements

Customer satisfaction is the ultimate validation of quality

Quality is in the eye of the beholder, …. our customer!

Software Quality measurements – customer satisfaction– reliability– product defects

Page 42: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation42

How Does IBM Create Quality Products

Follow defined processes

Use the customer feedback

Use tools(modeling, code generation, code checking, automation)

Re-use common code

Continually improve:– Process, Tools, Product function

Testing ? You do not “test” quality into products!

Page 43: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation43

Products have higher Quality when built right the first time

Finding defects with testing is ineffective and expensive

– It is possible to remove defects before writing code

– Create Architecture and Design documents– Review / Revise / Approve at each stage

– Write Code then run unit tests to find localized defects

– Conduct additional testing as necessary

– Expensive with tight schedules

Fixing defects after the customer installs it … is very expensive

Page 44: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation44

Understand the customer’s needs and expectations

Customer Surveys

Usability sessions / focus groups

Beta test programs

Customer-reported problems and defects

Marketing and Sales feedback, trade shows, seminars

Page 45: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation45

Planning for improving Customer Satisfaction

The Quality Plan

Understand customer product requirements

Choose quality objectives Example … Usability

Set Quality targets

Executive review and approval

Page 46: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation46

Quality metrics planned for Development

Start

Metric

Target Finish

Actual Finish

Time

Page 47: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation47

Monitoring quality in real-time

Process Activity Measurement Quality indicator

Requirements % of planned Requirements implemented

# of requirements with defects

Design % of designs reviewed

# of design defects

Code % of code reviewed # of code defects

Test % of test cases reviewed

% of test cases executed

# of defects # of escapes

Page 48: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation48

Verification of Quality through testing

VUnit Test

Function Test

System TestRequirements

Design

Code

Testing is another form of process

Page 49: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation49

Verification of Quality through testing

Usability test

Customer beta test

Documentation test

Performance test

Translation Verification test

Product CD (packaging) test

Page 50: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation50

Defects during Development Phases

Is it possible that you inject defects while developing your product?

It does happen!

Design reviews and code inspections are a couple of methods for detecting bugs, or defects in the design or code

Corrective and preventive actions takenDefects will be analyzed to determine root cause and fixed

Page 51: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation51

Customer reported problems and defects

If we ship a product with ‘issues’, a customer will call!

Examples of issuesThe product doesn’t install on the customer’s hardwareThe product installs but runs slowly

The IBM customer support team is contacted and a “problem” is documented Problems are investigated within a specific time, based on severity Problems are closed when the customer agrees the situation is resolved

If the code requires modification, a “defect” is also opened for tracking purposes

All problems and defects are monitored, measured and analyzed.

Page 52: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation52

Building Quality into Products

Ensuring these activities are followed:

– Following documented processes

– Following coding guidelines and standards

– Having well written requirements, design specs

– Conducting formal design and code reviews

– Having approved plans and change management

– Using tools

– Reusing designs and code

Page 53: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation53

Quality is a continuous cycle

Survey for requirements

Implement in product

Sell Product

Page 54: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation54

Agenda

IBM Organizational Overview

Product

Process

Quality

Continual Improvement

Page 55: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation55

IBM and Continual Improvement

Examples of continual improvement in IBM’s approach

– We have teams moving from waterfall to iterative development

– We are continually seeking improvements to the current development “tools”, or new tools

– We have teams that are adopting Extreme Programming or Agile Development techniques

– Some teams are moving to component-based development to improve re-use

– We have introduced open source concepts internally

Page 56: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation56

Let’s Summarize

How IBM applies process to create quality products.

Design

Code

Test

Requirements

Product DeveloperProduct

Page 57: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation57

Your future …………

"It's up to you"

Job opportunities are not strictly programming– Technical writing– Multimedia– Usability– Research

Process & Quality– should be more discipline, less bureaucracy

– Impacts of poor software can impact many people as you know from recent news about banking, airlines and security glitches.

“A quick fix can be a very expensive fix!”

Page 58: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation58

How to reach IBM

For all of your information needs, please contact IBM via:

ibm.com/careers

Page 59: McMaster Education Series How IBM Applies Process to Create Quality Products

© 2005 IBM Corporation59

Thank you