05.05.2015 Views

Ronald E. Giachetti, Ph.D.

Ronald E. Giachetti, Ph.D.

Ronald E. Giachetti, Ph.D.

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Ronald</strong> E. <strong>Giachetti</strong>, <strong>Ph</strong>.D.<br />

Associate Professor<br />

Industrial and Systems Engineering, FIU<br />

January 21, 2010 1


One Extreme – Too much planning!


Another Extreme – No planning!


Project Management -- WBS<br />

Work Breakdown Schedule (WBS)<br />

Each task should<br />

have a well-defined<br />

start and end<br />

By easy to track<br />

(schedule & budget)<br />

Single individual is<br />

responsible<br />

Have budget allocated<br />

to it<br />

Task duration should be<br />

proportional to overall<br />

project<br />

<strong>Ronald</strong> E. <strong>Giachetti</strong><br />

January 21, 2010<br />

Slide 12


Estimation<br />

For each Work Breakdown Activity<br />

• Assign project team role to activity<br />

• Estimate person-hours<br />

• work measurement<br />

• regression analysis<br />

• expert<br />

• Determine start date and end date<br />

• Estimate budget for activity (Rate *<br />

Hrs)<br />

<strong>Ronald</strong> E. <strong>Giachetti</strong><br />

January 21, 2010<br />

Slide 13


Cross Life-cycle activities<br />

Project Management<br />

Requirements Management<br />

Quality Assurance<br />

Configuration Management & Control<br />

Risk Management<br />

<strong>Ronald</strong> E. <strong>Giachetti</strong><br />

January 21, 2010<br />

Slide 14


Requirements Management<br />

Requirements Management is the process of<br />

managing change to the requirements.<br />

It is during the analysis phase that requirements are<br />

elicited, specified, and documented.<br />

The project team establishes and maintains a plan<br />

for performing requirements management.<br />

Included in requirements<br />

" management is a plan for ensuring bi-directional<br />

requirements traceability.<br />

" Additionally, requirements are a configuration item to be<br />

tracked and controlled as part of the configuration<br />

management process.<br />

<strong>Ronald</strong> E. <strong>Giachetti</strong><br />

January 21, 2010<br />

Slide 15


Risk Management<br />

The systematic process of identifying,<br />

analyzing, and responding to project<br />

risk.<br />

Risk is the possibility of suffering<br />

diminished project success (scope,<br />

cost, schedule)<br />

Risk management is proactive –<br />

identify risk and take action to prevent<br />

or mitigate<br />

<strong>Ronald</strong> E. <strong>Giachetti</strong><br />

January 21, 2010<br />

Slide 16


Risk Probability<br />

Often from Expert Opinion without value of<br />

historical data.<br />

Cannot assign valid probabilities with any reliability.<br />

Ordinal Scale<br />

Very<br />

unlikely<br />

Unlikely<br />

Possible Highly<br />

likely<br />

0.1 0.3 0.5 0.7 0.9<br />

0.05 0.1 0.2 0.4 0.8<br />

Almost<br />

certain<br />

January 21, 2010


Risk Impact (ordinal scale)<br />

Project<br />

Objective<br />

Very Low<br />

(0.5)<br />

Low (0.1)<br />

Moderate<br />

(0.2)<br />

High (0.4)<br />

Very High<br />

(0.8)<br />

Costs<br />

Insignificant<br />

cost<br />

increase<br />

20% cost<br />

increase<br />

Schedule<br />

Insignificant<br />

schedule<br />

slippage<br />

Schedule<br />

slippage <<br />

5%<br />

Overall<br />

project<br />

slippage<br />

5-10%<br />

Overall project<br />

slippage<br />

10-20%<br />

Overall<br />

project<br />

slippage ><br />

20%<br />

Scope<br />

Scope<br />

decrease<br />

barely<br />

noticeable<br />

Minor areas<br />

of scope are<br />

affected<br />

Major areas<br />

of scope are<br />

affected<br />

Scope<br />

reduction<br />

unacceptable<br />

to client<br />

Project end<br />

item is<br />

effectively<br />

useless<br />

Quality<br />

Quality<br />

degradation<br />

barely<br />

noticeable<br />

Only very<br />

demanding<br />

applications<br />

are<br />

affected<br />

Quality<br />

reduction<br />

requires<br />

client<br />

approval<br />

Quality<br />

reduction<br />

unacceptable<br />

to client<br />

Project end<br />

item is<br />

effectively<br />

unusable<br />

January 21, 2010


Probability – Impact Matrix<br />

High Risk/<br />

Impact<br />

Low Risk/<br />

Impact<br />

CAUTION: do not put too much stock in<br />

actual values.<br />

January 21, 2010


Sample Probability/Impact Matrix<br />

Taken from IT Project Mgmt, 3 rd edition, Course<br />

Technology Publishing<br />

January 21, 2010


Strategies<br />

Avoidance – change project plan to<br />

eliminate risk or to protect project objectives<br />

from risk impact.<br />

Transference – shift the consequence of the<br />

risk to a third party with ownership of the<br />

response. (usually for financial risks, use of<br />

insurance, warranties, and so forth).<br />

Mitigation – reduce the probability and/or<br />

consequence of the risk to an acceptable<br />

threshold. Earlier the better. Mitigation costs<br />

should be appropriate.<br />

Acceptance – do not change project plan.<br />

Develop a contingency plan if risk event<br />

should occur.<br />

January 21, 2010<br />

Day 2 Module 8 Slide 21


Quality Assurance<br />

Quality Assurance (QA) is a planned<br />

and systematic approach necessary<br />

to provide adequate confidence that<br />

an item or product conforms to<br />

established standards, procedures<br />

and policies<br />

QA is an umbrella activity that is applied at each<br />

step in the process of building the system<br />

QA is a CMMI Level 2 Process<br />

Don’t equate QA with Test (although testing is<br />

important)<br />

August 18, 2006<br />

slide 22


QA Feedback<br />

QA<br />

QA<br />

QA<br />

Criteria<br />

Objective<br />

Feedback via<br />

(i)<br />

(ii)<br />

Evaluations<br />

Noncompliance<br />

reports<br />

(iii) Corrective<br />

actions<br />

Should be part of a<br />

continuous<br />

improvement plan<br />

ERP Implementation Process<br />

August 18, 2006 slide 23


Famous Software errors<br />

ATT Long Distance phone lines down for 9 hours in<br />

1990.<br />

" (caused by a software “upgrade”)<br />

Patriot missile failure to track an incoming SCUD<br />

missile in the 1991 Gulf War. 28 soldiers killed.<br />

" (an arithmetic error accumulated over time)<br />

Gemini V orbiter missed its landing site by 100 miles.<br />

(Failure to take into account Earth’s motion<br />

around the sun)<br />

Mariner I Venus probe veered off course after lift-off<br />

and had to be destroyed.<br />

" (A period in the code should have been a comma).<br />

August 18, 2006<br />

slide 24


Types of Tests<br />

Unit Test: Test each individual component to ensure<br />

it is as defect free as possible<br />

Integration test: Occurs between unit and system<br />

testing to test functionally grouped components<br />

" Interface Test: Test the interfaces in the end-to-end<br />

business process<br />

" Security Test: Test users’ security access provides proper<br />

authority for their roles in the business processes<br />

User Acceptance test: Is an independent test<br />

performed by the end user prior to accepting the<br />

delivered system – users sign off on test results<br />

System Test: Test the system as a whole<br />

Regression Test: Test that changes do not adversely<br />

impact already tested components<br />

August 18, 2006<br />

slide 25


Configuration Management & Control<br />

The purpose of Software Configuration<br />

Management is to establish and maintain the<br />

integrity of the products of the software project?<br />

throughout the project's software life cycle.<br />

Software Configuration Management involves<br />

identifying the configuration of the software (i.e.,<br />

selected software works products and their<br />

descriptions) at given points in time, systematically<br />

controlling changes to the configuration, and<br />

maintaining the integrity and traceability of the<br />

configuration throughout the software lifecycle.<br />

Standards (approved by ANSI)<br />

" IEEE 828: Software Configuration Management Plans<br />

" IEEE 1042: Guide to Software Configuration Management<br />

<strong>Ronald</strong> E. <strong>Giachetti</strong><br />

January 21, 2010<br />

Slide 26


Configuration Items<br />

A configuration item (CI) is any part of the<br />

development and/or deliverable system which needs<br />

to be independently identified, stored, tested,<br />

reviewed, used, changed, delivered and/or<br />

maintained<br />

CIs can differ widely in complexity and may contain<br />

other CIs in a hierarchy<br />

<br />

Includes code, modules, and documentation<br />

" all type of code files<br />

" drivers for tests<br />

" analysis or design documents<br />

" user or developer manuals<br />

" system configurations (e.g. version of compiler used)<br />

January 21, 2010<br />

Day 3 Module 2 Slide 27


Finding Configuration Items<br />

Large projects typically produce thousands of<br />

entities (files, documents, data ...) which must be<br />

uniquely identified<br />

Any entity managed in the software engineering<br />

process can potentially be brought under<br />

configuration management control<br />

But not every entity needs to be under configuration<br />

management control all the time<br />

Two Issues:<br />

" What: Selection of Configuration Items to be under<br />

configuration control<br />

" When: When do you start to place entities under<br />

configuration control?<br />

January 21, 2010<br />

Day 3 Module 2 Slide 28


Finding Configuration Items (continued)<br />

Some items must be maintained for the lifetime of the<br />

software<br />

An entity naming scheme should be defined so that<br />

related documents have related names<br />

Selecting the right configuration items is a skill that<br />

takes practice<br />

" Very similar to object modeling in object-oriented design<br />

" Use techniques similar to object modeling for finding CIs!<br />

• Find the CIs<br />

• Find relationships between CIs<br />

January 21, 2010<br />

Day 3 Module 2 Slide 29


Which of these Entities should be Configuration Items?<br />

Problem Statement<br />

Software Project<br />

Management Plan (SPMP)<br />

Requirements Analysis<br />

Document (RAD)<br />

System Design Document<br />

(SDD)<br />

Project Agreement<br />

Object Design Document<br />

(ODD)<br />

Dynamic model<br />

Object model<br />

Functional model<br />

Unit tests<br />

Integration test strategy<br />

Source code<br />

API Specification<br />

Input data and data bases<br />

Test plan<br />

Test data<br />

Support software that is part<br />

of the final system<br />

Support software that is not<br />

part of the product<br />

User manual<br />

Administrator manual<br />

January 21, 2010<br />

Day 3 Module 2 Slide 30


Possible Selection of Configuration Items<br />

Problem Statement<br />

Software Project<br />

Management Plan (SPMP)<br />

Requirements Analysis<br />

Document (RAD)<br />

System Design Document<br />

(SDD)<br />

Project Agreement<br />

Dynamic Model<br />

Object model<br />

Functional Model<br />

Unit tests<br />

Integration test strategy<br />

Source code<br />

API Specification<br />

Input data and data bases<br />

Test plan<br />

Test data<br />

Support software (part of the<br />

product)<br />

Support software (not part of<br />

the product)<br />

User manual<br />

Administrator manual<br />

Once the Configuration Items are selected, they are usually organized in a tree <br />

January 21, 2010<br />

Day 3 Module 2 Slide 31


Baseline<br />

A specification or product that has been<br />

formally reviewed and agreed upon, that<br />

serves as the basis for further development,<br />

and that can be changed only through<br />

formal change control procedures<br />

Examples:<br />

" Baseline A: All the APIs have completely been<br />

defined; the bodies of the methods are empty<br />

" Baseline B: All data access methods are<br />

implemented and tested<br />

" Baseline C: The GUI is implemented<br />

January 21, 2010<br />

Day 3 Module 2 Slide 32


Change Management<br />

Change management is the handling of change requests<br />

" A change request leads to the creation of a new release<br />

General change process<br />

" The change is requested (this can be done by anyone including<br />

users and developers)<br />

" The change request is assessed against project goals<br />

" Following the assessment, the change is accepted or rejected<br />

" If it is accepted, the change is assigned to a developer and<br />

implemented<br />

" The implemented change is audited<br />

The complexity of the change management process varies with the<br />

project. Small projects can perform change requests informally and<br />

fast while complex projects require detailed change request forms<br />

and the official approval by one more managers<br />

January 21, 2010<br />

Day 3 Module 2 Slide 33


Summary<br />

This chapter establishes the overall<br />

architecture and methodology to do<br />

an enterprise project<br />

Understand life-cycle phases, their<br />

inputs, outputs, and activities<br />

Cross life-cycle activities<br />

Project initiation and project charter to<br />

start project

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!