Introduction to software project management
CHAPTER
Introduction to software project management
CHAPTER
1
Objectives
Define the scope of software project management;
Define the scope of software project management;
Distinguish between software and other types of development
project;
Understand some problems and concerns of software project
manager;
Define the usual stages of a software project;
Explain the main elements of the role of management;
Slide# 2
Software Project Management
Explain the main elements of the role of management;
Appreciate the need for careful planning, monitoring and
control;
Identify the stakeholders of a project and their objectives and
Introduction to software project management
1
.
1
Introduction
What is ‘Project’ ?
What is ‘Project’ ?
A project, then, is a temporary endeavor undertaken to
create a unique product or service. It is specific, timely,
usually multidisciplinary, and always conflict ridden.
Projects are parts of overall programs and may be broken
down into tasks, subtasks, and further if desired.
Introduction to software project management
Project Management
vs
General Management
General Management Project Management
Dependent on good planning Budget, schedule, control, and evaluation
Well-defined managerial hierarchy Low in the hierarchy chain of command
Slide# 4
Software Project Management
Introduction to software project management
What is ‘Project management’ ?
Project management differs grately from general management.
Every project is planned, budgeted, scheduled, and controlled as a
unique task. Unlike nonprojects, projects are often multidisciplinary and
usually have considerable need to cross departmental boundaries for technology, information, resources, and personnel. Crossing these
boundaries tends to lead to intergroup conflict.
Unlike their general management counterparts project Unlike their general management counterparts, project
managers have responsibility for accomplishing a project, but little or no
legitimate authority to command the required resources from the
functional departments. The PM must be skilled at win-win negotiation to
Introduction to software project management
The three goals of a project
The performance of a project is measured by three criteria. Is the
The performance of a project is measured by three criteria. Is the
project on time or early ? Is the project on or under budget ? Does the
project meet the agreed-upon specifications to the satisfaction of the
customer ?
Performance
Required performance
Slide# 6
Software Project Management
Target
Time
Cost
Required performance
Due date
Introduction to software project management
Projects have been interrelated objectives: to (1) meet the
budget, (2) finish on schedule, and (3) meet specifications that satisfy
the client. Because we live in an uncertain world, as work on the
the client. Because we live in an uncertain world, as work on the
project proceeds, unexpected problems are bound to arise. These
chance events will threaten the project’s schedule or budget or specifications. The PM must now decide how to trade off one project
goal against another (e.g., to stay on schedule by assigning extra
resources to the project may mean it will run over the predetermined budget.) If the schedule, budget, and specifications are rigidly
predetermined, the project is probably doomed to failure unless the
predetermined, the project is probably doomed to failure unless the
Introduction to software project management
The Life cycles of projects
co m pl et io n
100 Slow finish There are two different paths (life
cycle) along which projects
% pr oj ec tc om pl et io n
0 Slow start
Quick momentum Time co m pl et io n 100
cycle) along which projects
progress from start to completion. One is S-shaped and the other is
J-shaped. It is an important
distinction because identifying the different life cycles help the PM to focus attention on appropriate matters to ensure successful
Slide# 8
Software Project Management
% pr oj ec tc om pl et io n 100 0 Time
Introduction to software project management
Project Life Cycle
Definition Planning Execution Delivery
Le ve lo f ef fo rt 1. Goal 2. Specification 3. Tasks 4. Responsibilities 1. Schedules 2. Budgets 3. Resources 4. Risks 5. Staffing
1. Status reports 2. Changes 3. Quality 4. Forecasts
Introduction to software project management
Project Life Cycle
1) Initiation - involves starting up the project, by documenting a business case, feasibility study, terms of documenting a business case, feasibility study, terms of reference, appointing the team and setting up a Project Office.
2) Planning - involves setting out the roadmap for the project by creating the following plans: project plan, resource plan, financial plan, quality plan, acceptance plan and communications plan.
3) Execution - involves building the deliverables and controlling the project delivery, scope, costs, quality,
Slide# 10
Software Project Management
controlling the project delivery, scope, costs, quality, risks and issues.
4) Closure - involves winding-down the project by releasing staff, handing over deliverables to the
customer and completing a post implementation review.
Introduction to software project management
Project Life Cycle
1) Project Initiation
Introduction to software project management
Project Life Cycle
2) Project Planning
After defining the project and appointing the project team, you're ready to enter the detailed Project Planning phase. This involves creating a suite of planning documents to help guide the Project Planning phase. This involves creating a suite of planning documents to help guide the team throughout the project delivery. The Planning Phase involves completing the following 10 key steps:
Slide# 12
Introduction to software project management
Project Life Cycle
3) Project Execution
With a clear definition of the project and a suite of detailed project plans, you are now ready to enter the Execution project plans, you are now ready to enter the Execution phase of the project.
This is the phase in which the deliverables are physically built and presented to the customer for acceptance.
While each deliverable is being constructed, a suite of management processes are undertaken to monitor and control the deliverables being output by the project.
These processes include managing time, cost, quality, These processes include managing time, cost, quality, change, risks, issues, suppliers, customers and
communication.
Introduction to software project management
Project Life Cycle
4) Project Closure
Project Closure involves releasing the final deliverables to the customer, handing over project documentation to the business, terminating supplier contracts, releasing project resources and documentation to the business, terminating supplier contracts, releasing project resources and communicating project closure to all stakeholders. The last remaining step is to undertake a Post Implementation Review to identify the level of project success and note any lessons learned for future projects.
Slide# 14
Introduction to software project management
Project Life Cycle
Introduction to software project management
Project Management’s Role
•
Facilitator
•
Facilitator
o
Manager-as-facilitator
vs.
Manager-as-supervisor
o
System approach
vs.
Analytical approach
Slide# 16
Introduction to software project management
Project Management’s Role
•
Facilitator
•
Facilitator
•
Communicator
Senior Management
PM
Client Project Team
Outside
Introduction to software project management
Project Management’s Role
•
Facilitator
•
Facilitator
•
Communicator
•
Virtual Project Manager
Depend on:
Slide# 18
Software Project Management
- Geographical
- Location
Introduction to software project management
Project Management’s Role
•
Facilitator
•
Facilitator
•
Communicator
•
Virtual Project Manager
•
Meetings, Convenor and Chair
Reports to senior management & Instructions to the
project team
Introduction to software project management
Project Manager
(
PM
)
ROLES:
• Facilitator
• Communicator
• Virtual Project Manager
• Meeting,
Convenor and Chair
The PM is a facilitator, unlike the traditional manager who is a supervisor. The
PM must adopt the systems approach to making decisions and managing
Slide# 20
Software Project Management
PM must adopt the systems approach to making decisions and managing projects. Trying to optimize each part of a project, suboptimization, does not
produce an optimized project. Multiple communication paths exist in any project and some paths bypass the PM causing problems. Much project comm. Takes place in meeting that may be run effectively is via high technology channels. Above all, the PM must keep senior management informed about the current
Introduction to software project management
Project Management’s Responsibilities
• Acquiring Resources
• Acquiring Resources
Quality and Quantity of resources and personnel
Introduction to software project management
Project Management’s Responsibilities
• Acquiring Resources
• Acquiring Resources
• Fighting Fires and Obstacles
The successful PM is also a talented and
seasoned fire fighter
Slide# 22
Introduction to software project management
Project Management’s Responsibilities
• Acquiring Resources
• Acquiring Resources
• Fighting Fires and Obstacles
• Leadership and Making Trade-Offs
Performance Schedule (Time)
Introduction to software project management
Project Management’s Responsibilities
• Acquiring Resources
• Acquiring Resources
• Fighting Fires and Obstacles
• Leadership and Making Trade-Offs
• Negotiation, Conflict Resolution, and Persuasion
The skill of persuasion:
Slide# 24
Software Project Management
Introduction to software project management
Project Management’s Responsibilities
• Acquiring Resources
• Acquiring Resources
• Fighting Fires and Obstacles
• Leadership and Making Trade-Offs
• Negotiation, Conflict Resolution, and Persuasion
The PM is responsible for acquiring the human and material resources needed by The PM is responsible for acquiring the human and material resources needed by the project. The PM is also responsible for exercising leadership, fire fighting, and
dealing with obstacles that impede the project’s progress. Finally, the PM is
responsible for making the trade-offs between budget, schedule, and specification
that are needed to ensure project success. To be successful at meeting these responsibilities, the PM must be skilled at negotiation, conflict resolution, and
Introduction to software project management
Selection of Project Manager
• Creditability
• Creditability
o
Technical creditability
o
Administrative creditability
• Sensitivity
o
Interpersonal relationship
Slide# 26
Software Project Management
Introduction to software project management
Selection of Project Manager
• Creditability
• Creditability
• Sensitivity
• Leadership, Style, Ethics
Successful PMs have some common characteristics. They are “closers.” They also
have high administrative and technical credibility, show sensitivity to interpersonal
conflict and possess the political know how to get help from senior management conflict, and possess the political know-how to get help from senior management
when needed. In addition, the PM should be a leader, and adopt a participatory
Introduction to software project management
Project Team
• They must be technically competent.
• Senior members of the project team must be politically
sensitive.
• Members of the project team need a strong problem
orientation.
Slide# 28
Software Project Management
Introduction to software project management
1.2 Why is software project management important?
• First of all there is the question of money.
Introduction to software project management
1
.
3 What is a project
?
Routine of OutcomeUncertainty
Slide# 30
Software Project Management
Jobs Projects Exploration
Introduction to software project management
The Characteristics of projects:
• Non-routine tasks are involved; • Planning is required;
• Specific objectives are to be met or a specified product is to be created;
• The project has a predetermined time span;
• Work is carried out for someone other than yourself; • Work involves several specialism;
• Work involves several specialism;
• Work is carried out in several phases;
• The resources that are available for use on the project are constrained;
Introduction to software project management
Exercise 1.1
A. producing an edition of a newspaper
B. building the channel tunnel connected France and UK C. getting married
C. getting married
D. amending a financial computer system to deal with a common European currency
E. a research project into what makes a good human-computer
interface
F. an investigation into the reason why a user has a problem with a computer system
G. a second year programming assignment for a computing student
Slide# 33
Software Project Management
G. a second year programming assignment for a computing student H. writing an operating system for a new computer
Introduction to software project management
1.4 Software project versus other types of project
Introduction to software project management
1.5 Contract management and technical project management
• Many organizations contract out IT development to
• Many organizations contract out IT development to
outside specialist developers.
• Project manager will be able to delegate many
technically oriented decision to the contractors.
• Supplier side, ‘technical’ project managers.
Slide# 35
Introduction to software project management
1.6 Activities covered by software project management
Is it worth doing?
How do we do it?
Do it!
Introduction to software project management
1.6 Activities covered by software project management
Requirements
analysis Specification Design Coding and validationVerification
Implementation / installation Maintenance
and support
Slide# 37
Introduction to software project management
Requirements analysis Architecture design Requirements analysis Sy st em Architecture design Requirements analysis Detailed designCode and test
Introduction to software project management
1.7 Plan
,
Methods
,
and Methodologies
Plan for an activity must be based on some idea of a method of work. • analyze the requirements for the software;
• devise and write test cases that will check that each requirement has been satisfied;
• create test scripts and expected results for each test case;
• compare the actual results and the expected results and identify discrepancies.
Method relates to a type of activity in general, a plan takes that
Slide# 40
Software Project Management
Method relates to a type of activity in general, a plan takes that
method and converts its to real activities.
Introduction to software project management
1.8 Some ways of categorizing software projects
• Information systems versus embedded systems
Exercise 1.3 Would an operating system on a computer be aninformation system or an embedded system?
• Objectives versus products
Exercise 1.4
Would the project to implement an independent
payroll system at the Brightmouth College described
Exercise 1.4 payroll system at the Brightmouth College described
in exercise 1.2 above be an objectives-driven project
Introduction to software project management
1.9 What is management
?
•
Planning
•
Organizing
•
Staffing
•
Directing
•
Monitoring
Slide# 42
Software Project Management
•
Controlling
•
Innovating
Introduction to software project management
1.10 Problems with software projects
A survey of managers published by Thayer, Pyster and Wood identified the following commonly experienced problems:
the following commonly experienced problems: • poor estimates and plans;
• lack of quality standards and measures;
• lack of guidance about making organizational decisions; • lack of techniques to make progress visible;
• poor role definition - who does what? • Incorrect success criteria.
Introduction to software project management
List of
problems:
• inadequate specification of work; • management ignorance of IT;
• lack of knowledge of application area;
1.10 Problems with software projects
• lack of knowledge of application area; • lack of standards;
• lack of up-to-date documentation;
• preceding activities not completed on time;
• lack of communication between users and technicians; • lack of communication leading to duplication of work; • lack of commitment;
• narrow scope of technical expertise;
Slide# 44
Software Project Management
• narrow scope of technical expertise; • changing statutory requirements; • changing software environments; • deadline pressure;
Introduction to software project management
1.11 Setting objectives
• Project objectives should be clearly defined.
• This committee is likely to contain user, development and
• This committee is likely to contain user, development and
management representatives.
–
Sub-objectives and goals
–
Measures of effectiveness
Introduction to software project management
1.12 Stakeholders
Internal to the project team
Internal to the project team
External to the project team but within
the same organization
External to both the project team and
the organization
Slide# 47
Software Project Management
the organization
Introduction to software project management
1.13 Business Case
• that development costs are not allowed to
• that development costs are not allowed to
rise to a level which threatens to exceed the
value of benefits;
• that the features of the system are not
reduced to a level that the expected benefits
cannot be realized;
cannot be realized;
Introduction to software project management
1.14 Requirement Specification
Functional requirements
Quality requirements
Resource requirements
Slide# 49
Software Project Management
Introduction to software project management
1.15 Management Control
The real world
Actions
Data
Information Information
Decisions
Introduction to software project management
1.15 Management Control
Exercise 1.9
An IT project is to replace locally held paper-based
records with a centrally organized database. Staff in a large
number of offices that are geographically dispersed need
training and then need to use the new IT system to set up
the back-log of manual records on the new database. The
new system will only be successful if new transactions can
Slide# 51
Software Project Management
new system will only be successful if new transactions can
be processed within certain time cycles.
Introduction to software project management
1.16 Conclusion
• Projects are by definition non-routine and therefore more uncertain than normal undertakings.
normal undertakings.
• Software projects are similar to other projects but have some attributes that present particular difficulties, e.g. the relative invisibility of many of their products.
• A key factor in project success is having clear objectives. Different
stakeholder in a project, however, are likely to have different objectives. This points to the need for a recognized overall project authority.
• For objectives to be effective there must be practical ways of testing that objectives have been met.
objectives have been met.
• Where projects involve many different people, effective channels of
information have to be established. Having objective measures of success helps unambiguous communication between the various parties to a
Introduction to software project management
Annex
1
Contents list for a feasibility study
• Introduction: identifies what the document is; • Introduction: identifies what the document is; • Description of current situation;
• Problem description; • Proposed development
– business and financial aspects – technical aspects
– organizational aspects;
Slide# 53
Software Project Management
– organizational aspects; • Estimated costs
Introduction to software project management
Annex
2
Contents list for a project plan
• Introduction;
• Introduction;
• Background: including reference to the business case;
• Project objectives;
• Constraints: these could be included with project objectives;
• Project product: deliverable product & intermediate product;
• Methods;
• Activities to be carried out;
• Activities to be carried out;
• Resources to be used;
• Risks to the project;
• Management of the project, including