Ronald E. Giachetti, Ph.D.
Ronald E. Giachetti, Ph.D.
Ronald E. Giachetti, Ph.D.
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