Ccs 401 Software Project Management Notes Compress
Ccs 401 Software Project Management Notes Compress
Fundamental concepts
Basic concepts of projects
A project is a temporary endeavor undertaken to create a unique product, service, or result.
Operations are work done to sustain the business.
A project ends when its objectives have been reached, or the project has been terminated.
Projects can be large or small and take a short or long time to complete.
Examples of IT Projects
A help desk or technical worker replaces laptops for a small department.
A small software development team adds a new feature to an internal software application.
A college campus upgrades its technology infrastructure to provide wireless Internet access.
A cross-functional task force in a company decides what software to purchase and how it will be
implemented.
A television network develops a system to allow viewers to vote for contestants and provide
other feedback on programs.
A government group develops a system to track child immunizations.
Project Attributes
A project:
Has a unique purpose
Is temporary
Is developed using progressive elaboration
Requires resources, often from various areas
Should have a primary customer or sponsor
The project sponsor usually provides the direction and funding for the project.
Involves uncertainty.
1
The Triple Constraint
Every project is constrained in different ways by its:
Scope goals: What work will be done?
Time goals: How long should it take to complete?
Cost goals: What should it cost?
It is the project manager’s duty to balance these three often-competing goals.
Project management
Project management is the application of knowledge, skills, tools and techniques to project activities to
meet project requirements.
Project Stakeholders
Stakeholders are the people involved in or affected by project activities.
Stakeholders include:
Project sponsor
Project manager
Project team
Support staff
Customers
Users
Suppliers
Opponents to the project
2
Project Success Factors
3
Most Significant Characteristics of Effective and Ineffective Project Managers
Lack of constraints
IT projects are not subject to the laws of physics and the associated constraints in the same way
as, for example, civil engineering projects.
This can produce a perception that anything and everything is possible with IT. Of course, this is
not the case – software is governed by real constraints, but these tend to be multidimensional and
abstract in nature, and therefore difficult to understand and communicate.
Both customers and suppliers are susceptible to forgetting or simply not understanding the
limitations of software, resulting in unrealistic expectations and over-ambitious projects.
This has created an impression that software is largely free of constraints and its potential is
therefore unlimited.
Visualization
Software is effectively invisible. This visualization problem is a source of many potential
software project failures.
Senior managers commissioning software systems may ask for functions that are over-ambitious,
or even impossible to deliver, without having any sense of the level of complexity entailed in
meeting their request.
Unlike other branches of engineering, it is quite unusual for senior management to have
significant first-hand experience of software engineering or software project management.
It is also extremely challenging to represent the key facets of software in a way which is
accessible to all stakeholders, making the specification process potentially fraught.
4
Many graphical representations are used for software specification, e.g. the Unified Modeling
Language (UML), but these are subject to ambiguities and only deal with limited aspects of the
system.
A further difficulty associated with the ‘invisibility’ of software occurs during monitoring of the
project.
The lack of a readily tangible product means that it is very easy for the project to proceed for a
considerable time before problems become apparent, and without it being possible to verify that
the passing of time and expenditure of money correlate with progression of the project in the
desired direction.
Flexibility
A related problem for software projects, also stemming from the intangible nature of software, is
abuse of the perceived flexibility of software.
The inability to visualize the boundaries of what is possible or practical in software encourages
people to change their mind more frequently than they might do for engineering projects where
constraints are obvious.
Excessive requests for new features or alteration of functions etc. during the course of the project
introduce unnecessary and undesirable complexity.
This contributes to time and budget over-run, thereby increasing the chance of project failure.
Flexibility is also reflected in the fact that there are generally multiple ways of solving the same
problem in software engineering.
Complexity
Complexity can be a significant obstacle to successful design and delivery of software projects.
In software engineering, complexity is both harder to detect and less well understood.
Complexity in large scale software systems remains an area which is insufficiently well
understood.
The degree of complexity entailed in achieving a particular objective can be very difficult to
estimate at the project outset.
As a result, projects may involve much more complexity than was originally realized; such
projects are extremely susceptible to failure or difficulty.
Uncertainty
Many complex IT systems seek to undertake or augment tasks previously carried out by people.
There can be great difficulty in elucidating clear requirements for such systems.
By comparison the task of actually implementing the specified system can be comparatively
straightforward.
Uncertainty is most likely to occur in meeting non-functional requirements such as security,
scalability or speed of response.
5
Software and failure
Since software is pure logic, it has no physical degradation mechanisms which can cause it to fail.
In principle, this makes software very attractive – intuitively, once the designers have got it
‘right’, it should work correctly, indefinitely.
In reality this idealistic state is never achieved and all complex software systems have a
propensity to fail.
The susceptibility to failure stems from the fact that an infinite number of assumptions are
embedded in every real world piece of software.
Most of the assumptions are not decisions that have been taken consciously, rather they arise
from things that were not thought about during the development process.
Unfortunately, the unbounded number of such assumptions means that sooner or later one or
more will prove incorrect, potentially causing the software to fail.
This feature of software impacts greatly on the way in which software projects must be handled.
Clearly, although some element of the software may fail at some point, it should be possible to
design the system in such a way that failure has no discernible impact on the user.
The system should also be engineered to facilitate diagnosis of the causes of failures, in turn
enabling improvements to be made to the design.
Furthermore, it is perfectly possible for software to fail without the project as a whole being
jeopardized if such precautions are taken.
Regrettably, many projects are undertaken on the assumption that the software will be, or can be
made to be, ‘perfect’.
Supporting change
The majority of software projects are undertaken to deliver some kind of business or process
change.
In some cases, software systems will be introduced to enable a major business transformation,
In other cases they will be automating an existing process.
Even when the aim is defined as automation, the people involved will need to alter their practices,
so business change in some form will ultimately result.
As a consequence, software practitioners need – but unfortunately do not always have – an
understanding of the business and the processes concerned if the software system is to achieve the
intended outcome.
Problems also commonly arise because the description of the business process given to the
supplier does not accurately represent the process being employed.
In the case of automation systems, the manual process being replaced by the software system may
be intrinsically ineffective – automation is unlikely to make a bad process better, although it may
execute it more quickly!
6
Universal constraints:
These are the main constraints that can cause software project failure if not managed well.
The universal constraints of a software project are: The project scope, time and cost. These
constraints need to be managed well to enable a software project move until successful
completion.
Scope
Scope refers to all the work involved in creating the products of the project and the processes
used to create them.
A deliverable is a product produced as part of a project, such as hardware or software, planning
documents, or meeting minutes.
Project scope management includes the processes involved in defining and controlling what is or
is not included in a project.
Time
Project time management involves the processes required to ensure timely completion of a project.
Processes include:
Activity definition
Activity sequencing
Activity duration estimating
Schedule development
Schedule control
Cost
Cost is a resource sacrificed or foregone to achieve a specific objective, or something given up in
exchange.
Costs are usually measured in monetary units, such as dollars.
Project cost management includes the processes required to ensure that the project is completed
within an approved budget.
7
Project Cost Management Processes include:
Cost estimating: Developing an approximation or estimate of the costs of the resources needed to
complete a project.
Cost budgeting: Allocating the overall cost estimate to individual work items to establish a
baseline for measuring performance.
Cost control: Controlling changes to the project budget.
Initiation:
The initiation of a project involves determining its requirements to some degree of detail, outlining
candidate solution approaches and an assessment of whether or not to proceed with the project.
Identification of purpose
The purpose of the software project is identified taking by user requirements and business
processes into consideration. The user requirements are then translated into software system
specification in broad terms. Software system specification defines the functions to be performed
by the software in order to achieve the user requirements.
Stakeholders
Stakeholders are the people who are concerned with the software development project. The main
stakeholders include:
Senior managers: who define the business issues that often have significant influence
on the project
Project (technical) managers: who must plan, motivate, organize, and control the
practitioners who do software work.
Practitioners: who deliver the technical skills that are necessary to engineer a product or
application
Customers: who specify the requirements for the software to be engineered and other
stakeholders who have a peripheral interest in the outcome
End-users: who interact with the software once it is released for production use
Reaching consensus
After identifying the purpose of the project and the stakeholders, it is now the responsibility of the project
manager to ensure that all the stakeholders reach a consensus on important matters pertaining to the
project. Since software development involves teamwork, the project manager should:
Concentrate on understanding the problem to be solved
Manage the flow of ideas and at the same time letting everyone on the Project team (by word or
action) that quality counts and that it will not be compromised.
Take full charge of the Project
Have the Confidence to assume Project Control (when necessary)
Gives assurance to allow good Technical people to follow their instincts
8
Be able to “read people”, and understand verbal and non-verbal symbols and react to the needs of
the people sending these signals
Having stable and explicit user requirements makes the planning process a lot simpler, since the
information is certain. However, it is more likely that the knowledge of the future process and product
requirements is to a substantial degree uncertain. For example, the determination of initial requirements is
often influenced by market investigations. An analysis of what is already available is relevant to the
feasibility of the project. Market analysis may also inform the requirements negotiation process. Linked to
this is some evaluation of the solution space and a consideration of what is possible. Indeed, numerous
candidate solutions may be considered and these are fed forward to the feasibility analysis.
Given this complicated planning scenario, the software process cannot simply be the process of capturing
fixed requirements that are waiting to be found and then developing an unproblematic and stable
implementation. Rather, it is a creative process where new ideas are generated, existing ideas combined
and often tradeoffs made between the requirements and designs. In such cases, stakeholder collaboration,
requirements negotiation and re-negotiation become a reality. Determination and renegotiation of
requirements, so as to enable the setting of the scope of the project, is therefore necessary at an early
stage.
Feasibility Study
Traditionally, in systems analysis, Feasibility Study has been recommended with the principal aim of
determining if the project is viable and also to get some preliminary planning data. More precisely, the
Feasibility Study usually refers to an assessment of the product/project against technical, operational,
financial and social/political criteria. Such a phase allows the early cancellation of projects with minimal
cost or, if the project proceeds, assists in the estimation of funding required and further planning.
Scope
Scope refers to all the work involved in creating the products of the project and the processes
used to create them.
A deliverable is a product produced as part of a project, such as hardware or software, planning
documents, or meeting minutes.
Project scope management includes the processes involved in defining and controlling what is or
is not included in a project.
9
Creating the WBS: Subdividing the major project deliverables into smaller, more manageable
components.
Scope verification: Formalizing acceptance of the project scope.
Scope control: Controlling changes to project scope.
10
Top-down approach: Start with the largest items of the project and break them down.
Bottom-up approach: Start with the specific tasks and roll them up.
Mind-mapping approach: Write tasks in a nonlinear, branching format and then create the WBS
structure.
Building A
Update inventory
Update database
Building C
Project management IT
Acquire hardware and software
Upgrade
project
Desktop
servers
User hardware
Laptops
Install hardware and software
Many WBS tasks are vague and must be explained in more detail so people know what to do and
can estimate how long the work will take and what it will cost.
A WBS dictionary is a document that describes detailed information about each WBS item.
The approved project scope statement and its WBS and WBS dictionary form the scope baseline,
which is used to measure performance in meeting project scope goals.
11
Each WBS item must be documented in a WBS dictionary to ensure accurate understanding of
the scope of work that is included and not included in that item.
The WBS must be a flexible tool to accommodate inevitable changes while properly maintaining
control of the work content in the project according to the scope statement.
Scope Verification
It is very difficult to create a good scope statement and WBS for a project.
It is even more difficult to verify project scope and minimize scope changes.
Many IT projects suffer from scope creep and poor scope
Scope Control
Scope control involves controlling changes to the project scope.
Goals of scope control are to:
Influence the factors that cause scope changes.
Ensure changes are processed according to procedures developed as part of integrated
change control.
Manage changes when they occur.
Variance is the difference between planned and actual performance.
12
Communication software, such as e-mail and the Web, helps clarify and communicate scope
information.
Project management software helps create a WBS, the basis for tasks on a Gantt chart.
Specialized software is available to assist in project scope management.
Activity Sequencing
Involves reviewing activities and determining dependencies
Discretionary dependencies: defined by the project team; soft logic
Mandatory dependencies: inherent in the nature of the work; hard logic
External dependencies: involve relationships between project and non-project activities
You must determine dependencies in order to use critical path analysis
13
Arrow Diagramming Method
• Also called activity-on-arrow (AOA) project network diagrams
• Activities are represented by arrows
• Nodes or circles are the starting and ending points of activities
• Can only show finish-to-start Dependencies
D=4
2 5
J=3
3 F=4
1 B=2 8
6
C=3 I=2
G=6
4 7
Note: All durations are in days: A=1 means that activity A has a duration of 1 day
14
Schedule Development
Schedule development uses results of the other time management processes to determine the start
and end date of the project and its activities
Ultimate goal is to create a realistic project schedule that provides a basis for monitoring project
progress for the time dimension of the project
Important tools and techniques include Gantt charts, PERT analysis and critical path analysis
Gantt Charts
Gantt charts provide a standard format for displaying project schedule information by listing
project activities and their corresponding start and finish dates in a calendar format
Symbols include:
A black diamond: milestones or significant events on a project with zero duration
Thick black bars: summary tasks
Lighter horizontal bars: tasks
Arrows: dependencies between tasks
4
C=2 E=1
B=5
A=2 2
1 3
6
D=7 F=2
5
15
b. How long is each path?
c. Which is the critical path?
d. What is the shortest amount of time needed to complete this project?
D=4
2 5
J=3
3 F=4
1 B=2 8
6
C=3 I=2
G=6
4 7
Since the critical path is the longest path through the network diagram, Path 2, B-E-
H-J, is the critical path for project X
16
Free slack or free float is the amount of time an activity can be delayed without delaying the
early start of any immediately following activities
Total slack or total float is the amount of time an activity may be delayed from its early start
without delaying the planned project finish date
PERT weighted average formula = (optimistic time) + 4 × (most likely time) + (pessimistic time)
6
17
Example:
PERT weighted average = 8 workdays + 4 × 10 workdays + 24 workdays = 12 days
6
• Task letter:
18
• Often keyed to a legend to tell which task it represents
• Task duration = how long (e.g. days, hours) task will take
19
To start PERT chart: identify dependencies between tasks
Dummy Tasks
A dummy task is one whose duration = 0
It shows the dependency between 2 events where no activity is performed
Example:
• Events 3, 4 signify the compilation of separate modules.
• Create an event 5 to signify “all modules compiled together”.
Denote dummy tasks using dash lines
20
Software Example: Skeleton PERT Chart
Calculating ECTs
ECT = earliest time event can be completed
To calculate ECT:
For an event not depending on others: ECT = 0
o Usually this is the first event
For an event E depending on one or more others:
o Calculate ECTs of event(s) that E depends on
o Add duration(s) of task(s) leading to E
o If E depends on more than one event, take MAX
21
Proceed left to right through the chart
Calculating LCT
LCT = latest time event can be completed, while still finishing last task at indicated time
To calculate LCT:
For an event which no other events depend on: LCT = ECT
Generally there will only be one such event
For an event E which one or more others depend on:
Calculate LCTs of event(s) that depend on E
Subtract duration(s) of task(s) leading from E
If more than one event depends on E, take MINIMUM
Proceed right to left ( ) through PERT chart
22
Critical Path
Determines the path with the maximum duration to complete the project.
Path through chart such that if any deadline slips, the final deadline slips (where all events have
ECT = LCT (usually there is only one)
The critical path for the chart above is: A-B-C-D-H
23
The complete network
a 0 0 0 Yes
b 1 0 1
c 4 0 4
d 20 20 0 Yes
e 25 20 5
f 29 20 9
g 21 20 1
h 14 10 4
i 25 24 1
j 35 35 0 Yes
CPM PERT
24
1 Uses network, calculate float or slack, identify Same as CPM
critical path and activities, guides to monitor and
controlling project
2 Uses one value of activity time Requires 3 estimates of activity time
Calculates mean and variance of time
3 Used where times can be estimated with confidence, Used where times cannot be estimated with
familiar activities confidence.
Unfamiliar or new activities
4 Minimizing cost is more important Meeting time target or estimating percent
completion is more important
5 Example: construction projects, building one off Example: Involving new activities or
machines, ships, etc products, research and development etc
25
Hold progress meetings with stakeholders and be clear and honest in communicating schedule
issues
Cost estimating: Developing an approximation or estimate of the costs of the resources needed to
complete a project.
Cost budgeting: Allocating the overall cost estimate to individual work items to establish a
baseline for measuring performance.
Cost control: Controlling changes to the project budget.
Most members of an executive board have a better understanding and are more interested in
financial terms than IT terms, so IT project managers must speak their language.
Profits are revenues minus expenses.
Life cycle costing considers the Total Cost of Ownership, or development plus support
costs, for a project.
26
Cash flow analysis determines the estimated annual costs and benefits for a project and
the resulting annual cash flow.
Tangible costs or benefits are those costs or benefits that an organization can easily measure in
dollars.
Intangible costs or benefits are costs or benefits that are difficult to measure in monetary terms.
Direct costs are costs that can be directly related to producing the products and services of the
project.
Indirect costs are costs that are not directly related to the products or services of the project, but
are indirectly related to performing the project.
Sunk cost is money that has been spent in the past; when deciding what projects to invest in or
continue, you should not include sunk costs.
Learning curve theory states that when many items are produced repetitively, the unit cost of
those items decreases in a regular pattern as more units are produced.
Reserves are dollars included in a cost estimate to mitigate cost risk by allowing for future
situations that are difficult to predict.
Contingency reserves allow for future situations that may be partially planned for
(sometimes called known unknowns) and are included in the project cost baseline.
Management reserves allow for future situations that are unpredictable (sometimes
called unknown unknowns).
Cost Estimating
Project managers must take cost estimates seriously if they want to complete projects within
budget constraints.
It’s important to know the types of cost estimates, how to prepare cost estimates, and typical
problems associated with IT cost estimates.
27
A large percentage of total project costs are often labour costs, so project managers must develop
and track estimates for labour.
28
Difficult to estimate LOC from problem description.
So not useful for project planning
A major drawback:
The size of a function is considered to be independent of its complexity.
.
Delphi Estimation
Involves a Team of Experts and a coordinator.
Experts carry out estimation independently:
o mention the rationale behind their estimation.
o coordinator notes down any extraordinary rationale:
circulates among experts.
Experts re-estimate.
Experts never meet each other to discuss their viewpoints.
overcomes some of the problems of expert judgement.
29
Multivariable Model:
Assumes that the parameter to be estimated depends on more than one characteristic.
Parameter to be Estimated=C1(Estimated Characteristic)d1+ C2(Estimated Characteristic)d2+…
C1, C2, d1, d2are constants for different categories of software products
Usually more accurate than single variable models.
COCOMO Model
It is one of the Heuristic Estimation Techniques
COCOMO (COnstructive COst MOdel) proposed by Boehm.
Divides software product developments into 3 categories:
Organic
Semidetached
Embedded
30
Effort = a1 (KLOC)a2
Tdev = b1 (Effort)b2
o KLOC is the estimated kilo lines of source code,
o a1, a2, b1, b2 are constants for different categories of software products,
o Tdev is the estimated time to develop the software in months,
o Effort estimation is obtained in terms of person months (PMs).
Organic:
Tdev = 2.5 (Effort)0.38 Months
Semi-detached:
Tdev = 2.5 (Effort)0.35 Months
Embedded:
Tdev = 2.5 (Effort)0.32 Months
Example
The size of an organic software product has been estimated to be 32,000 lines of source code.
Determine the effort and nominal development time required.
Solution:
Effort = 2.4*(32)1.05 = 91 PM
Nominal development time = 2.5*(91)0.38 = 14 months
31
Intermediate COCOMO
Basic COCOMO model assumes
effort and development time depend on product size alone.
However, several parameters affect effort and development time:
Reliability requirements
Availability of CASE tools and modern facilities to the developers
Size of data to be handled
For accurate estimation,
the effect of all relevant parameters must be considered:
Intermediate COCOMO model recognizes this fact:
refines the initial estimate obtained by the basic COCOMO by using a set of 15 cost
drivers (multipliers).
If modern programming practices are used,
initial estimates are scaled downwards.
If there are stringent reliability requirements on the product :
initial estimate is scaled upwards.
Complete COCOMO
Cost of each sub-system is estimated separately.
Costs of the sub-systems are added to obtain total cost.
Reduces the margin of error in the final estimate.
32
Graphical User Interface (GUI) part (organic)
Communication part (embedded)
Costs of the components are estimated separately
Summed up to give the overall cost of the system.
Before creating an estimate, know what it will be used for, gather as much information about the
project as possible, and clarify the ground rules and assumptions for the estimate.
If possible, estimate costs by major WBS categories.
Create a cost model to make it easy to change and document the estimate.
33
6. Reserves(20% of total $253,540 $253,540 17%
estimates)
Total project cost estimate $1,521,240
Cost Budgeting
Cost budgeting involves allocating the project cost estimate to individual work items over time.
The WBS is a required input for the cost budgeting process because it defines the work items.
Important goal is to produce a cost baseline:
A time-phased budget that project managers use to measure and monitor cost
performance.
Cost Control
Project cost control includes:
Monitoring cost performance.
Ensuring that only appropriate project changes are included in a revised cost baseline.
Informing project stakeholders of authorized changes to the project that will affect costs.
Many organizations around the globe have problems with cost control.
Rate of Performance
Rate of performance (RP) is the ratio of actual work completed to the amount of work planned
to have been completed at any given time during the life of the project or activity.
For example, suppose the server installation was halfway completed by the end of week 1. The
rate of performance would be 50 percent because by the end of week 1, the planned schedule
reflects that the task should be 100 percent complete and only 50 percent of that work has been
completed.
34
Budget At Completion (BAC) is the original total budget for the project.
Term Formula
Earned Value (EV) EV = PV to date X RP
Cost Variance (CV) CV = EV - AC
Schedule Variance (SV) SV = EV - PV
Cost Performance Index (CPI) CPI = EV/AC
Schedule Performance Index (SPI) SPI = EV/PV
Estimate at Completion (EAC) EAC = BAC/CPI
Estimate Time to Complete Original Time Estimate)/SPI
35
Organizations that evaluate information technology projects by what their business impacts are
and what their potential business values will be implement projects that result in 25 percent more
improvement to the bottom line.
Portfolio management tools and techniques for IT projects enhance asset management, and
budget planning and monitoring.
Using project portfolio management allows managers to make decisions faster and with more
confidence.
Quality Planning
Implies the ability to anticipate situations and prepare actions to bring about the desired outcome.
36
Important to prevent defects by:
Selecting proper materials.
Training and indoctrinating people in quality.
Planning a process that ensures the appropriate outcome.
Design of Experiments
Design of experiments is a quality planning technique that helps identify which variables have
the most influence on the overall outcome of a process.
Also applies to project management issues, such as cost and schedule tradeoffs.
Involves documenting important factors that directly contribute to meeting customer
requirements.
Quality Assurance
Quality assurance includes all the activities related to satisfying the relevant quality standards for
a project.
Another goal of quality assurance is continuous quality improvement.
Benchmarking generates ideas for quality improvements by comparing specific project practices
or product characteristics to those of other projects or products within or outside the performing
organization.
A quality audit is a structured review of specific quality management activities that help identify
lessons learned that could improve performance on current or future projects.
37
1.4 Scope
2.0 Management
2.1 Organizational Structure
2.2 Roles and Responsibilities
2.2.1 Technical Monitor/Senior Management
2.2.2 Task Leader
2.2.3 Quality Assurance Team
2.2.4 Technical Staff
3.0 Required Documentation
4.0 Quality Assurance Procedures
4.1 Walkthrough Procedure
4.2 Review Process
4.2.1 Review Procedures
4.3 Audit Process
4.3.1 Audit Procedures
4.4 Evaluation Process
4.5 Process Improvement
5.0 Problem Reporting Procedures
5.1 Noncompliance Reporting Procedures
6.0 Quality Assurance Metrics
Appendix
Quality Assurance Checklist Forms
Quality Control
The main outputs of quality control are:
Acceptance decisions
Rework
Process adjustments
Pareto Analysis
Pareto analysis involves identifying the vital few contributors that account for the most quality
problems in a system.
Also called the 80-20 rule, meaning that 80 percent of problems are often due to 20 percent of the
causes.
Pareto diagrams are histograms, or column charts representing a frequency distribution, that
help identify and prioritize problem areas.
Statistical Sampling
• Statistical sampling involves choosing part of a population of interest for inspection.
38
• The size of a sample depends on how representative you want the sample to be.
• Be sure to consult with an expert when using statistical analysis.
Six Sigma
• Six Sigma is “a comprehensive and flexible system for achieving, sustaining, and maximizing business
success. Six Sigma is uniquely driven by close understanding of customer needs, disciplined use of facts,
data, and statistical analysis, and diligent attention to managing, improving, and reinventing business
processes.”
DMAIC
• DMAIC is a systematic, closed-loop process for continued improvement that is scientific and fact
based.
39
How is Six Sigma Quality Control Unique?
It requires an organization-wide commitment.
Training follows the “Belt” system.
Six Sigma organizations have the ability and willingness to adopt contrary objectives, such as
reducing errors and getting things done faster.
It is an operating philosophy that is customer focused and strives to drive out waste, raise levels
of quality, and improve financial performance at breakthrough levels.
Six 9s of Quality
Six 9s of quality is a measure of quality control equal to 1 fault in 1 million opportunities.
In the telecommunications industry, it means 99.9999 percent service availability or 30 seconds
of down time a year.
This level of quality has also been stated as the target goal for the number of errors in a
communications circuit, system failures, or errors in lines of code.
40
A control chart is a graphic display of data that illustrates the results of a process over time.
The main use of control charts is to prevent defects, rather than to detect or reject them.
Quality control charts allow you to determine whether a process is in control or out of control.
When a process is in control, any variations in the results of the process are created by
random events; processes that are in control do not need to be adjusted.
When a process is out of control, variations in the results of the process are caused by
non-random events; you need to identify the causes of those nonrandom events and adjust
the process to correct or eliminate them.
Testing
Many IT professionals think of testing as a stage that comes near the end of IT product
development.
Testing should be done during almost every phase of the IT product development life cycle.
Types of Tests
Unit testing tests each individual component (often a program) to ensure it is as defect-free as
possible.
Integration testing occurs between unit and system testing to test functionally grouped
components.
System testing tests the entire system as one entity.
User acceptance testing is an independent test performed by end users prior to accepting the
delivered system.
41
Requires customer satisfaction.
Prefers prevention to inspection.
Recognizes management responsibility for quality.
ISO Standards
ISO 9000 is a quality system standard that:
Is a three-part, continuous cycle of planning, controlling, and documenting quality in an
organization.
Provides minimum requirements needed for an organization to meet its quality
certification standards.
Helps organizations around the world reduce costs and improve customer satisfaction.
ISO 15504, sometimes known as SPICE (Software Process Improvement and Capability
dEtermination), is a framework for the assessment of software processes.
Leadership
It is most important that top management be quality-minded. In the absence of sincere
manifestation of interest at the top, little will happen below.
A large percentage of quality problems are associated with management, not technical issues.
A 2002 study reported that software bugs cost the U.S. economy $59.6 billion each year and that one third
of the bugs could be eliminated by an improved testing infrastructure.
42
Measurement and test equipment costs: Capital cost of equipment used to perform prevention
and appraisal activities.
Maturity Models
Maturity models are frameworks for helping organizations improve their processes and systems.
The Software Quality Function Deployment Model focuses on defining user
requirements and planning software projects.
The Software Engineering Institute’s Capability Maturity Model is a five-level model
laying out a generic path to process improvement for software development in
organizations.
43
Project Human Resource Management
The Importance of Human Resource Management
People determine the success and failure of organizations and projects.
Many people are struggling with how to increase and diversify the IT labor pool.
Noted problems include:
The fact that many IT professionals work long hours and must constantly stay abreast of
changes in the field.
Undesirable stereotypes that keep certain people (for example, women) away from the
career field.
The need to improve benefits, redefine work hours and incentives, and provide better
human resource management.
44
Maslow developed a hierarchy of needs, which states that people’s behaviors are guided or
motivated by a sequence of needs.
High
5. Self
actualization
4. Esteem
3. Social
2. Safety
1. Physiological
Low
A satisfied need is no longer a motivator!
Herzberg’s Motivational and Hygiene Factors
Frederick Herzberg wrote several famous books and articles about worker motivation. He
distinguished between:
Motivational factors: Achievement, recognition, the work itself, responsibility,
advancement, and growth. These factors produce job satisfaction.
Hygiene factors: Larger salaries, more supervision, and a more attractive work
environment. These factors cause dissatisfaction if not present, but do not motivate
workers to do more
45
Theory X: Assumes workers dislike and avoid work, so managers must use coercion, threats, and
various control schemes to get workers to meet objectives.
Theory Y: Assumes individuals consider work as natural as play or rest and enjoy the satisfaction
of esteem and self-actualization needs.
Theory Z: Introduced in 1981 by William Ouchi and is based on the Japanese approach to
motivating workers, which emphasizes trust, quality, collective decision making, and cultural
values.
Power
Power is the potential ability to influence behavior to get people to do things they would not
otherwise do.
Types of power include:
Coercive power
Legitimate power
Expert power
Reward power
Referent power
46
Be proactive.
Begin with the end in mind.
Put first things first.
Think win/win.
Seek first to understand, then to be understood.
Synergize.
Sharpen the saw.
47
Project manager
48
They do not get proper recognition.
They are not learning anything new or growing as a person.
They do not like their coworkers.
They want to earn more money.
Resource Loading
Resource loading refers to the amount of individual resources an existing schedule requires
during specific time periods.
Helps project managers develop a general understanding of the demands a project will make on
the organization’s resources and individual people’s schedules.
Over allocation means more resources than are available are assigned to perform work at a given
time.
Resource Leveling
Resource leveling is a technique for resolving resource conflicts by delaying tasks.
The main purpose of resource leveling is to create a smoother distribution of resource use and
reduce over allocation.
Training
Training can help people understand themselves and each other, and understand how to work
better in teams.
Team building activities include:
Physical challenges
Psychological preference indicator tools
49
Myers-Briggs Type Indicator (MBTI)
MBTI is a popular tool for determining personality preferences and helping teammates
understand each other.
Four dimensions include:
Extrovert/Introvert (E/I)
Sensation/Intuition (S/N)
Thinking/Feeling (T/F)
Judgment/Perception (J/P)
NTs, or rationals, are attracted to technology fields.
IT people vary most from the general population in their tendency to not be extroverted or
sensing.
50
Project managers must lead their teams in performing various project activities.
After assessing team performance and related information, the project manager must decide:
If changes should be requested to the project.
If corrective or preventive actions should be recommended.
If updates are needed to the project management plan or organizational process assets.
51
Project risk is an event or a problem that might impede project success if allowed to occur.
Project risk management is the art and science of identifying, analyzing, and responding to risk
throughout the life of a project and in the best interests of meeting project objectives.
Risk management involves anticipating risks that might affect the project schedule or the
quality of the software being developed and taking action to avoid these risks.
Risk management is often overlooked in projects, but it can help improve project success by
helping select good projects, determining project scope, and developing realistic estimates.
Risk identification
Risk analysis
Risk planning
Risk monitoring
Risk identification
Brainstorming
Brainstorming is a technique by which a group attempts to generate ideas or find a solution for a
specific problem by amassing ideas spontaneously and without judgment.
An experienced facilitator should run the brainstorming session.
Be careful not to overuse or misuse brainstorming.
Delphi Technique
The Delphi Technique is used to derive a consensus among a panel of experts who make
predictions about future developments.
Provides independent and anonymous input regarding future events.
Uses repeated rounds of questioning and written responses and avoids the biasing effects possible
in oral methods, such as brainstorming.
52
Interviewing
Interviewing is a fact-finding technique for collecting information in face-to-face, phone, e-mail,
or instant-messaging discussions.
Interviewing people with similar project experience is an important tool for identifying potential
risks.
SWOT Analysis
SWOT analysis (strengths, weaknesses, opportunities, and threats) can also be used during risk
identification.
Helps identify the broad risks that apply to a project.
Risk Register
The main output of the risk identification process is a list of identified risks and other information
needed to begin creating a risk register.
A risk register is:
A document that contains the results of various risk management processes and that is
often displayed in a table or spreadsheet format.
A tool for documenting potential risk events and related information.
Risk events refer to specific, uncertain events that may occur to the detriment or of the project.
Risk analysis
Risk planning
Deciding how to approach and plan the risk management activities for the project.
The plan to address the risk either by avoiding or minimizing its effects on the project are
drawn up.
53
The main output of risk management planning is a risk management plan - a plan that
documents the procedures for managing risk throughout a project.
The project team should review project documents and understand the organization’s and the
sponsor’s approaches to risk.
54
Sample Risk Breakdown Structure
IT Project
Communication
Suppliers Software User support
Risk monitoring
The risk is constantly assessed and plans to mitigate risk are revised as more information
about the risk becomes available.
It involves executing the risk management process to respond to risk events.
Main outputs of risk monitoring and control are:
Requested changes.
Recommended corrective and preventive actions.
Updates to the risk register, project management plan, and organizational process assets.
1. Avoidance strategies: If these strategies are used then it means that the probability that
the risk will occur is reduced
2. Minimization strategies: Following these strategies means that the impact of the risk
will be reduced
3. Contingency plans: following these strategies means that you are prepare for the worse
and have a strategy in plan to deal with the risk
55
Project Communications Management
Communications Planning
Every project should include some type of communications management plan, a document that
guides project communications.
Creating a stakeholder analysis for project communications also aids in communications
planning.
Information Distribution
Getting the right information to the right people at the right time and in a useful format is just as
important as developing the information in the first place.
Important considerations include:
Using technology to enhance information distribution.
Formal and informal methods for distributing information.
56
Distributing Information in an Effective and Timely Manner
Don’t bury crucial information.
Don’t be afraid to report bad information.
Oral communication via meetings and informal talks helps bring important information—good
and bad—out into the open.
Media Snapshot
Live video is a modern medium for sending information.
Microsoft says that one in every five face-to-face meetings can be replaced with Web
conferencing tools, and they estimate it will save $70 million in reduced travel in one year alone.*
57
Different cultural norms
Performance Reporting
Performance reporting keeps stakeholders informed about how resources are being used to
achieve project objectives.
Status reports describe where the project stands at a specific point in time.
Progress reports describe what the project team has accomplished during a certain period of
time.
Forecasts predict future project status and progress based on past information and trends.
Managing Stakeholders
Project managers must understand and work with various stakeholders.
Need to devise a way to identify and resolve issues.
Two important tools include:
Expectations management matrix
Issue log
58
Research suggests that task-related conflict often improves team performance, but emotional
conflict often depresses team performance.
59
Techniques include reporting guidelines and templates, meeting ground rules and procedures,
decision-making processes, problem-solving approaches, and conflict resolution and negotiation
techniques.
Principles include using open dialog and an agreed upon work ethic.
Debates on Outsourcing
Some companies, such as Wal-Mart, prefer to do no outsourcing at all, while others do a lot of
outsourcing.
Most organizations do some form of outsourcing to meet their IT needs and spend most money
within their own country.
The U.S. temporary workforce continues to grow as people work for temporary job agencies so
they can more easily move from company to company.
Why Outsource?
To reduce both fixed and recurrent costs.
To allow the client organization to focus on its core business.
To access skills and technologies.
To provide flexibility.
To increase accountability.
Contracts
A contract is a mutually binding agreement that obligates the seller to provide the specified
products or services and obligates the buyer to pay for them.
Contracts can clarify responsibilities and sharpen focus on key deliverables of a project.
Because contracts are legally binding, there is more accountability for delivering the work as
stated in the contract.
A recent trend in outsourcing is the increasing size of contracts.
60
Project Procurement Management Processes
Project procurement management: Is the acquiring goods and services for a project from outside the
performing organization.
The Project Procurement Management Processes include:
Planning purchases and acquisitions: Determining what to procure, when, and how.
Planning contracting: Describing requirements for the products or services desired from the
procurement and identifying potential sources or sellers (contractors, suppliers, or providers who
provide goods and services to other organizations).
Requesting seller responses: Obtaining information, quotes, bids, offers, or proposals from
sellers, as appropriate.
Selecting sellers: Choosing from among potential suppliers through a process of evaluating
potential sellers and negotiating the contract.
Administering the contract: Managing the relationship with the selected seller.
Closing the contract: Completing and settling each contract, including resolving any open items.
Make-or-Buy Example
Assume you can lease an item you need for a project for $800/day. To purchase the item, the cost
is $12,000 plus a daily operational cost of $400/day.
How long will it take for the purchase cost to be the same as the lease cost?
61
Types of Contracts
Different types of contracts can be used in different situations:
Fixed price or lump sum contracts: Involve a fixed total price for a well-defined product
or service.
Cost reimbursable contracts: Involve payment to the seller for direct and indirect costs.
Time and material contracts: Hybrid of both fixed price and cost reimbursable contracts,
often used by consultants.
Unit price contracts: Require the buyer to pay the seller a predetermined amount per unit
of service.
A single contract can actually include all four of these categories, if it makes sense for that
particular procurement.
Buyer risk
low
high
Seller risk
high
low
Contract Clauses
Contracts should include specific clauses to take into account issues unique to the project.
Can require various educational or work experience for different pay rights.
A termination clause is a contract clause that allows the buyer or supplier to end the contract.
62
Contract Statement of Work (SOW)
A statement of work is a description of the work required for the procurement.
If a SOW is used as part of a contract to describe only the work required for that particular
contract, it is called a contract statement of work.
A SOW is a type of scope statement.
A good SOW gives bidders a better understanding of the buyer’s expectations.
I. Scope of Work: Describe the work to be done to detail. Specify the hardware and software
involved and the exact nature of the work.
II. Location of Work: Describe where the work must be performed. Specify the location of
hardware and software and where the people must perform the work
III. Period of Performance: Specify when the work is expected to start and end, working hours,
number of hours that can be billed per week, where the work must be performed, and related
schedule information.
IV. Deliverables Schedule: List specific deliverables, describe them in detail, and specify when they
are due.
V. Applicable Standards: Specify any company or industry-specific standards that are relevant to
performing the work.
VI. Acceptance Criteria: Describe how the buyer organization will determine if the work is
acceptable.
VII. Special Requirements: Specify any special requirements such as hardware or software
certifications, minimum degree or experience level of personnel, travel requirements, and so on.
Planning Contracting
Involves preparing several documents needed for potential sellers to prepare their responses and
determining the evaluation criteria for the contract award.
Request for Proposals: Used to solicit proposals from prospective sellers.
A proposal is a document prepared by a seller when there are different approaches for meeting
buyer needs.
Requests for Quotes: Used to solicit quotes or bids from prospective suppliers.
A bid, also called a tender or quote (short for quotation), is a document prepared by sellers
providing pricing for standard items that have been clearly defined by the buyer.
63
A. Current System Overview
B. System Requirements
C. Volume and Size Data
D. Required Contents of Vendor’s Response to RFP
E. Sample Contract
Evaluation Criteria
It’s important to prepare some form of evaluation criteria, preferably before issuing a formal RFP
or RFQ.
Beware of proposals that look good on paper; be sure to evaluate factors, such as past
performance and management approach.
Can require a technical presentation as part of a proposal.
Selecting Sellers
Also called source selection.
Involves:
Evaluating proposals or bids from sellers.
Choosing the best one.
Negotiating the contract.
Awarding the contract.
64
Seller Selection Process
Organizations often do an initial evaluation of all proposals and bids and then develop a short list
of potential sellers for further evaluation.
Sellers on the short list often prepare a best and final offer (BAFO).
Final output is a contract signed by the buyer and the selected seller.
Media Snapshot
Many organizations realize that selecting appropriate sellers can often provide a win-win
situation.
Several companies, including those owned by famous celebrities, work closely with outside
sources to help both parties come out ahead.
For example, Oprah Winfrey celebrated the premiere of her show’s nineteenth season by giving
each of her 276 audience members a new car that was donated by Pontiac.
65
Tools to Assist in Contract Closure
Procurement audits identify lessons learned in the procurement process.
A records management system provides the ability to easily organize, find, and archive
procurement-related documents.
66