+ All Categories
Home > Documents > Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the...

Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the...

Date post: 26-Mar-2015
Category:
Upload: kaitlyn-mcdowell
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
38
Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 http://mkdtechnologies.com Applying the Right Process to the Right Environment by Michael K. Daskalantonakis MKD Technologies, Inc. Austin SPIN Meeting 9/14/06
Transcript
Page 1: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1http://mkdtechnologies.com

Applying the Right Process to the Right Environment

by

Michael K. Daskalantonakis

MKD Technologies, Inc.

Austin SPIN Meeting

9/14/06

Page 2: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

2Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Outline

1. Introduction

2. Selecting an Applicable Software Life Cycle Model

3. Selecting the Applicable Process Steps and Tools

4. Using Process Improvement Mechanisms

5. Conclusion

Page 3: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 3http://mkdtechnologies.com

1. Introduction

Page 4: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

4Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Software Process and Life-Cycle Model

Software process:

A set of steps involved in creating project deliverables

Identified roles responsible for each process step

Entry/exit criteria associated with the process

Software life cycle model:

Determines the specific ordering of the steps involved in the processes used by the project

Page 5: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

5Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Software Engineering Environment

It is the context in which life cycles and processes are applied. It varies by project and it is characterized through attributes such as:

Size of the development team

Geographical distribution of the development team (communication needs)

Geographical distribution of the users (localization needs)

Average level of developer expertise

Average application familiarity of the developers

Problem domain

Domain difficulty

System constraints (response time, memory limitations)

Estimated product size (e.g., total KLOC vs. delta KLOC)

Extent of technology and tool usage

Page 6: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

6Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Project Types Prototype Projects

Develop and test new algorithms and technology

Requirements are developed throughout the project

Prototype used to extract requirements and derive technology

Baseline Projects

Develop and test new software product

Requirements changes occur but they are less extensive in scope

Derivative Projects

Add functionality to a software product already in use

Fix any bugs founds in previous releases

Requirements are typically well understood and relatively stable

Page 7: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

7Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Tailoring Process to Environment If you want exceptional project results it is necessary (but not

sufficient) to:

Tailor processes and life cycle to:

– the project environment (characteristics / needs) and

– the project type

It is such tailoring that results in using the right process for the right environment! This involves:

Selecting the applicable (or customizing a generic)

– Life-Cycle Model

– Process steps and entry / exit criteria

– Software engineering technology and tools

– Assignment of roles and responsibilities to project participants

Creating a Project Plan reflecting the choices made with buy-in within the organization

Constantly reviewing, fine tuning, and updating the Project Plan to match the changing needs of the project as it progresses and when necessary

Page 8: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

8Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Software Project Leverage Points - Achieve the Desired Results

New Technology

& Tools

People Familiar with the Application Domain

Assigned Project Roles

Life Cycle and Processes Tailored to the Needs of the Project

Performance determinants for: • Cost / Effort• Schedule• Quality

Page 9: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 9http://mkdtechnologies.com

2. Selecting An Applicable Software Life Cycle Model

Page 10: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

10Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Software Life Cycle Models They indicate the sequencing of process steps to complete a project

Many models exist and are in use in the industry

This section only provides samples of such industry models for purposes of discussion, not a complete list

New models are introduced as a need arises

Page 11: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

11Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Prototyping Model

Extract Design andEnhance It

Support and Maintenance

Feature List

Reqs Spec

Coding

Proto Reviewwith Users / Enhance

Coding And Testing

Reqs Update

Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

Page 12: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

12Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Waterfall ModelReqs Analysis

Design

Coding and Unit Testing

Integration, System, andRegression Testing

Release

Maintenance and Support

Time

Progress (Gates and Criteria)

Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

Page 13: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

13Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Incremental (Waterfall) Development Model

Reqs Analysis

Design(Incr 1)

Coding and Unit Testing (Incr 1)

Integration, System, andRegression Testing

Release

Maintenance and SupportTime

Progress (Gates and Criteria)Design(Incr n)

Coding and Unit Testing (Incr n)

.......

.......

Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

Page 14: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

14Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Refined V ModelReqs Analysis

High Level Design

Low Level Design

CodingUT1

UT2

UT3

UT4

UT5

Unit Test

IT1

IT2

IT3

IT4

IT5

Integration Test

ST1

ST2

ST3

ST4

ST5

System Test

Time

Progress (Gates and Criteria)

Progress (Gates and Criteria)

Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

Page 15: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

15Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Spiral Model

Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

Determine Objectives, Alternatives, Constraints

Evaluate Alternatives, IdentifyAnd Resolve Risks

Develop and VerifyNext Level Product

Plan Next Phases

Risk Analysis

Prototypes

Reqs and IterationPlan

Development Plan

IntegrationAnd Test

Support and Maintenance

Concept of Operation

Reqs Spec

Reqs Validation

Design Verificationand Validation

Design

DetailedDesign

Code

Unit Test

Integration and System Test

Regression / Acceptance Test

Page 16: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

16Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Web Development Model

Establishthe Goals,Audience,And Reqs

DevelopPrototype

Test, Enhance,

and Go Live

Attract Traffic to the

Web-based System

MonitorUsage Stats and Evolvethe System

Page 17: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 17http://mkdtechnologies.com

3. Selecting The Applicable Process Steps and Tools

Page 18: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

18Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Process Steps and Entry / Exit Criteria

Processes indicate

the steps involved to complete a related set of project deliverables

the criteria involved in determining whether or not to enter or exit the process

– Enter when pre-requisite materials have been completed

– Exit when resulting materials have been completed

Process definitions vary and typically reflect organizational needs

This section provides samples in use in the industry for discussion purposes only (not a complete list)

Page 19: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

19Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Requirements Analysis Process

Entry Criteria

Tasks Responsibility Exit Criteria

Potential product identified.

Initial project team formed.

Survey and meet with representative users from the market segments (use any existing customer contact databases).

Product Manager Requirements Specification document completed.

Hold product User Group or Advisory Group meetings. Product Manager

Define the product scope and determine its features. Create feature prioritization and roadmap. Create Preliminary Requirements Spec.

Product Manager

Use the template for Requirements Specification to document the product requirements.

System Architect

Inspect, update, and obtain approval of the Requirements Specification document. Place it under configuration management using the standard tool.

System Architect

Update the Requirements Specification throughout the project per the applicable guidelines.

System Architect

Page 20: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

20Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Design Process

Entry Criteria

Tasks Responsibility Exit Criteria

Draft Requirements Specification available.

Determine the software structure and architecture. Use the System Architecture template to document it. Place it under configuration management using the standard tool and update throughout the project as necessary.

System Architect Software Design document completed.

Identify and obtain any design and code available for reuse. Developer

Create the design for the new software modules. Developer

Use the Design template to document the software design.

Developer

Inspect and update the Design document; place it under configuration management using the standard tool.

Developer

Update the Design document throughout the project. Developer

Page 21: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

21Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Coding and Unit Testing Process

Entry Criteria

Tasks Responsibility Exit Criteria

Requirements Specification updated per inspection and available.

Draft Design available.

Write source code for each module using the applicable coding standard.

Developer Software code written, inspected, unit tested, updated, and placed under configuration management.

Draft user documentation / training materials developed.

Compile the source code (both new and reused) and run the tools identified in the Project Plan.

Developer

Inspect the subset of the new code specified in the Project Plan and update it appropriately.

Developer

Create and execute unit test cases (for new code and reused code).

Developer

Update the code and place it under configuration management in the appropriate project directory.

Developer

Update the code as necessary throughout the project. Developer

Page 22: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

22Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Process Stages

Process steps may be grouped in stages to make the process definition easier to comprehend

Such stages may have their own entry / exit criteria (based on the overall process entry / exit criteria)

Following is an example of how processes are organized in stages which involve process steps

Page 23: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

23Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Example: Test Process Stages

Test Plan and Design

Test Creation

Test Execution andResult Reporting

Defect Isolation and Fixing

Isolate construction defectsand fix them

Isolate testing defectsand fix them

Review and test the fixes Review fixes and rerunthe tests

Test PlansTest Design

Test ProceduresTest Cases

Test Report

Test Fixes

Construction Fixes

Post-Mortem

Development Process Feedback (for Developers)

Test Process Feedback(for Testers)

Page 24: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 24http://mkdtechnologies.com

4. Process Improvement Mechanisms

Page 25: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

25Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

What Is Process Improvement? Once the process steps and life cycle models have been defined and

tailored for use in different projects, they need to be measured and improved

Process improvement involves:

Identifying strengths and weaknesses (opportunities for improvement)

Prioritizing opportunities based on the project environment / types

Creating and executing an improvement plan reflecting the priorities

Requires a closed feedback loop through Assessments & Measurement of:

Project Characteristics

Process

Technology / Tools

Product

Service

People Teams

Dedicated resources

Page 26: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

26Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Quality Improvement Paradigm (QIP)

Planning

Characterize the project environment

Define goals, questions, metrics for successful project performance and improvement

Choose the execution model and supporting methods and tools

Execution

Execute the chosen process steps and life cycle models to:

– Construct the products or services

– Collect and analyze data to provide feedback in real time

Analysis, learning, and feedback to the project group

Analyze the data to evaluate practices and recommend improvements

Proceed to the next planning cycle armed with the recorded, structured experience gained from this and previous projects

Page 27: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

27Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Goal Question Metric (GQM) Paradigm

Develop a set of goals for productivity and quality

Develop operational definitions (questions) that characterize, predict, and motivate

Specify the metrics needed to answer these questions and to track conformance to the goals

Develop mechanisms for data collection and analysis

Collect, validate, and analyze the data in-process for feedback to projects and corrective action

Analyze in a post-mortem fashion, to assess conformance and make recommendations for future improvements

Page 28: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

28Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

The GQM Approach to Measurement

Goal

Q1 Q2 Q3

M1 M2 M3 M4 M5 M6

Page 29: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

29Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Software Metrics A software metric is a method of determining the extent to which a software

process, product, or project possesses a certain attribute

Metrics should be:

Simple to understand and precisely defined

Objective (as much as possible)

Inexpensive to use

Robust

Examples:

Delivered defects and delivered defects per size

Total effectiveness throughout the process

Adherence to schedule

Estimation accuracy

Time that problems remain open

Page 30: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

30Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Benefits of the QIP & GQM Approaches

Allow for the differentiation of project environments

Permit the development of a company-wide experience base

Provide a mechanism for:

Assessment of quality and productivity goals

Assessment of the impact of new technology used within projects

Justification for selecting and tailoring the appropriate methods and tools

Improvement

Measurement is not the goal; the goal is improvement through measurement, analysis, and feedback

Page 31: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

31Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

SEI Progress Assessments - 1 Purpose:

Provide a self-assessed measure of progress in terms of implementing prioritized best practices

Identify strong/weak areas

Improve organizational practices through action plans

Scoring Approach:

Score each SEI Key Process Area (KPA) by assessing implementation of Key Practices (KPs) using established guidelines

A facilitated meeting of practitioners is the mechanism used to determine the outcome (scores, strengths, weaknesses)

Key Practice scores are in 0 (poor) to 10 (outstanding) scale

Page 32: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

32Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

SEI Progress Assessments - 2 Three primary evaluation dimensions

Approach

– Organizational commitment and management support

– Organizational ability to implement

Deployment

– Breadth of practice implementation across project areas

– Consistency of practice implementation across project areas

Results

– Breadth of positive results over time and across project areas

– Consistency of positive results over time and across project areas

Use Kiviat charts to indicate progress

Page 33: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

33Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

KPA Scoring Sheet

Page 34: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

34Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

KP Evaluation Dimensions

Page 35: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

35Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

KPA Assessment Results

Page 36: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 36http://mkdtechnologies.com

5. Conclusion

Page 37: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

37Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Right Process for the Right Environment

Define your company’s software process handbook (process steps, life cycle models)

Characterize your organization’s project environment

Tailor the process to your environment by selecting process steps & life cycle models mapping to your type(s) of projects

Continuously monitor and improve performance through metrics and progress assessments

Page 38: Http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

38Copyright 2006 MKD Technologies, Inc. All Rights Reserved.

http://mkdtechnologies.com

Acknowledgements The concepts presented here were developed and practiced over the

last twenty years through contributions of many individuals across the industry

Special acknowledgements to:

Dr. Victor Basili (University of Maryland)

Dr. Bob Yacobellis, Dr. Michael Jackson (while at Motorola)


Recommended