Software Project Management

advertisement
SW Project Management
Nature of IT Projects
INFO 420
Dr. Jennifer Booker
INFO 420
Chapter 1
1
Intro

IT projects are organizational investments
 Need
to expect commitment of considerable
time, money, and people
 Some aspects of traditional project
management need to be tweaked for IT
projects; take from software engineering
and system analysis & design
INFO 420
Chapter 1
2
Intro

Focus: reducing costs, reducing cycle time
 Connect
organization’s strategy to its
deployment, help improve competitiveness
PM and IS evolve in parallel timelines
 Three generations of PM strategy

 The
INFO 420
EDP era, micro era, and network era
Chapter 1
3
EDP era - 1960’s to early 1980’s
Central mainframe or minicomputer
 Automate separate tasks, e.g. inventory
mgmt, accounting, production scheduling
 Data processing manager
 Similar to early steam power use – same
process, with more power behind it

INFO 420
Chapter 1
4
Micro era - 1980’s to mid-90’s

Introduction of the PC, and soon clientserver computing
 Network

is contained within the organization
Lost central control over MIS – IT is
everywhere, changing often
 Security,
data integrity, support issues
 Fast, cross-area IT projects
INFO 420
Chapter 1
5
Network era - mid-1990s to now
Due to awareness of the Internet
 More strategic partners, alliances, vendors

 Network
focus is outside the organization
Need scalable network architecture
 Digital convergence of data, AV, graphics

 Creates
new products and services
 Needs new organization and strategy
INFO 420
Chapter 1
6
Globalization

The omnipresence of computers and the
Internet is bringing about a globalization
previously unimaginable
 Work
with anyone, any place, any time
 Increases both risks and rewards

IT has some budget in both good times
and bad, the question is how to use it best
INFO 420
Chapter 1
7
The key decision

So it boils down to:
Which IT projects are worth supporting?
 Which
will provide the most benefit and value
to the organization?
INFO 420
Chapter 1
8
IT project management

So far, we’re not doing well at managing
IT projects
 In
1968 the software development crisis
was identified
 In 1994, CHAOS study said 16% of IT
projects were successful, 31% cancelled
before completion, and 53% completed badly
INFO 420
Chapter 1
9
IT project management

More recent studies have shown some
improvement
 In
2008, 32% were successful, 24% failed,
and 44% were weak

Factors for successful projects included
(2010 CHAOS Manifesto)
 User
involvement, executive support, clear
business objectives, and emotional maturity
INFO 420
Chapter 1
10
Why do we fail?
Partly a definition problem – how far from
the plan is a ‘failure’? 5%? 10%? 20%?
 Traits of failed or weak projects include

 Incomplete
requirements, lack of user
involvement, changing requirements and
specs, lack of exec support, lack of resources,
and unrealistic expectations
INFO 420
Chapter 1
11
Why do we fail?

Communication is a key as well
 The
#1 reason for project failure, and a factor
in many other causes

Resource issues also include staffing,
training, tools, and facility issues
INFO 420
Chapter 1
12
How help success?

Four approaches are themes throughout
A
value-driven approach
 A socio-technical approach
 A project-management approach
 A knowledge-management approach
INFO 420
Chapter 1
13
A value-driven approach
Make IT projects prove they provide value
to the organization
 The value the project delivers must more
than offset its time, money, and
opportunity costs

INFO 420
Chapter 1
14
A socio-technical approach

Tools, techniques, and methodologies are
not enough
 Need
to consider the impact of the project on
its users, and other affected organizations
 Does anyone want the new system?
 Will they use it?
INFO 420
Chapter 1
15
A project-management approach

Need to follow some methodology during
the IT project
 Don’t
just wing it!
 What are the processes and infrastructure?
 What tools and controls are used?
 Plan appropriate resources, manage
expectations (communicate!), consider
outsourcing; efficiency & effectiveness goals
INFO 420
Chapter 1
16
A knowledge-management
approach
Have a systematic process for capturing
and sharing knowledge from past projects
 Record lessons learned and best practices
 How can we do it better next time?

INFO 420
Chapter 1
17
Project management context
Our approach for project management is
based on the Project Management
Institute (PMI)’s Guide to the Project
Management Body of Knowledge
(PMBOK, 2008)
 A project is a temporary effort to
accomplish a product, service, or result

INFO 420
Chapter 1
18
Project attributes
Time frame
 Purpose or goal – PM should meet or
exceed stakeholders’ needs and
expectations
 Ownership (mainly by sponsor)
 Resources; the triple constraints of scope,
schedule, and budget

INFO 420
Chapter 1
19
Project attributes
Roles – project manager, subject matter
experts (SME), technical experts, etc.
 Risks and assumptions

 Risks
can be internal or external
Interdependent tasks in the project
 Organizational change may result
 Operating in a larger environment

INFO 420
Chapter 1
20
Extreme Project Management

Extreme Project Management (XPM) tries
to stay adaptable and flexible enough to
handle high speed, high change, high
uncertainty, high stress projects
 Requirements
changes are inevitable
 Planning is iterative and self-correcting
 Innovation in processes or tools are expected
INFO 420
Chapter 1
21
PMBOK

The Guide to the Project Management
Body of Knowledge captures the major
topics within project management
 First
defined in 1987
 Current version is ISBN 1935589679 (2013)

It has nine “knowledge areas”
INFO 420
Chapter 1
22
PMBOK knowledge areas

Project integration management
 Coordinating
changes to the project plan’s
development and execution

Project scope management
 Ensuring
complete definition and completion
of the project scope
INFO 420
Chapter 1
23
PMBOK knowledge areas

Project time management
 Developing,
monitoring, and managing the
project schedule

Project cost management
 Develop

and complete project per its budget
Project human resource management
 Create,
INFO 420
develop and manage the project team
Chapter 1
24
PMBOK knowledge areas

Project quality management
 Create
a quality environment to help project
meet stakeholder needs and expectations

Project communications management
 Ensure
project communicates with
stakeholders
INFO 420
Chapter 1
25
PMBOK knowledge areas

Project risk management
 Identify

and respond to risks facing the project
Project procurement management
 Manage
procurement of products and
services from outside the organization
INFO 420
Chapter 1
26
System Development Life Cycle
The development of a system has its own
life cycle, which takes place inside the
project
 The System Development Life Cycle
(SDLC) defines the phases needed to
create a system, then maintain it

 There
are many versions of SDLC to choose
from
INFO 420
Chapter 1
27
Generic SDLC Phases
Planning
 Analysis
 Design
 Implementation
 Maintenance & support

INFO 420
Chapter 1
28
Planning
Defines the problem to be solved, or
opportunity to be taken, and outlines the
goal and scope of the system
 The plan for developing the system is
defined

 Should
include budget, schedule, technology,
development processes, methods, and tools
INFO 420
Chapter 1
29
Analysis
Documents the existing system or
processes (the ‘as is’ model)
 Leads to requirements analysis

 Might
use Joint Application Development
(JAD), surveys, brainstorming, interviews, etc.
to determine requirements

Define how the new system will work
(the ‘to be’ model)
INFO 420
Chapter 1
30
Design
Define the high level design of the system
(architecture) based on the requirements
 Refine the design to produce the low
level design

 Designs
include software, hardware, network,
databases, user interface concept, etc.
INFO 420
Chapter 1
31
Implementation

Construct, test, and install the system
 Easy

to say, huh?
Also develop the documentation, training
materials, and supporting information
INFO 420
Chapter 1
32
Maintenance & support
Maintenance of a system is often a
separate ongoing project
 After installation, the system is in
production mode for most of its life

 Still
need to make improvements
(enhancements), and fix bugs (maintenance)
 May manage a call center or help desk
INFO 420
Chapter 1
33
Retirement
Eventually, a production system becomes
obsolete, leading to a new project to
replace it
 As part of that project, phasing out the old
system will be done, until it’s completely
offline

INFO 420
Chapter 1
34
SDLC Examples
Implementing the SDLC can follow several
types of approaches
 The oldest is the structured approach,
better known as the waterfall life cycle

 It’s
simple and sequential – do each phase
completely before moving to the next one
 Requirements, design, code, test, & deploy
INFO 420
Chapter 1
35
Waterfall SDLC

Some versions of the waterfall model
(DOD-STD-2167a (1988), MIL-STD-498
(1994)) defined very precisely how the
results of each phase were documented
 Waterfall
depends on very clearly defined
requirements and well known methodology
and tools – rarely the case for new
development, but may be true for
maintenance
INFO 420
Chapter 1
36
Waterfall SDLC
Still useful for maintenance or small
projects
 Also good for inexperienced development
teams
 Can be good for shrink wrapped software
development

INFO 420
Chapter 1
37
Iterative system development

Need for faster
development, and
accommodation of
changing
requirements led to a
variety of iterative
SDLC models
INFO 420

Chapter 1
Iterative approaches
include:
 RAD
 Prototyping
 Spiral
 Agile
 RUP
38
RAD
Rapid Application Development (RAD)
compresses the life cycle using special
software development tools (CASE tools)
 Each iteration produces more and more of
the final product in usable form, until it’s
completed

INFO 420
Chapter 1
39
Prototyping
Generally, prototyping is used to refine or
discover system requirements
 Prototyping depends on close work
between the developer and the customer
to create a partially functional system
 Then full system development takes place

INFO 420
Chapter 1
40
Spiral

The spiral model (Boehm, 1988) is used
to address big risks facing a project
 Each
spiral ‘miniproject’ is a short life cycle
devoted to resolving one key risk area

After all the major risks have been
resolved, then another life cycle is
used for full system development
INFO 420
Chapter 1
41
Agile

Agile software development is defined loosely
as:
 ‘An
iterative and incremental (evolutionary) approach
to software development which is performed in a
highly collaborative manner by self-organizing teams
within an effective governance framework with "just
enough" ceremony that produces high quality
software in a cost effective and timely manner which
meets the changing needs of its stakeholders.’
From http://www.agilemodeling.com/essays/agileSoftwareDevelopment.htm
INFO 420
Chapter 1
42
Agile

Agile methods include various
methodologies, such as
 SCRUM
 DSDM
(Dynamic Systems Development
Method)
 ASD (Adaptive Software Development)
 XP (eXtreme Programming)
INFO 420
Chapter 1
43
RUP

The Rational Unified Process (RUP), now
owned by IBM, is an object oriented,
iterative life cycle methodology
 “RUP
promotes iterative development and
organizes the development of software and
systems into four phases, each consisting of
one or more executable iterations of the
software at that stage of development.”
From http://www-01.ibm.com/software/awdtools/rup/
INFO 420
Chapter 1
44
Summary

We’ve introduced the major topics in IT
project management
 History
of IT project management
 Reasons for project failure and success
 Our approach for encouraging success
 Define a project
 PM body of knowledge
 System development life cycles
INFO 420
Chapter 1
45
Download