SPM Lecture Notes UNIT I
SPM Lecture Notes UNIT I
SPM Lecture Notes UNIT I
Lecture Notes
UNIT-I
Introduction and Software Project Planning
For
Third Year Students MCA
Page 1 of 22
Elements of Management
1.
2.
3.
4.
5.
6.
7.
8.
What is Software: Software is a general term for the various kinds of programs used to
operate computers and related devices.
OR
Software means computer instructions or data. Anything that can be stored electronically is
software, in contrast to storage devices and display devices which are called hardware.
Jobs repetition of very well-defined and well understood tasks with very little uncertainty
Exploration e.g. finding a cure for cancer: the outcome is very uncertain
Projects in the middle!
Feasibility study
Is project technically feasible and worthwhile from a business point of view?
Planning
Only done if project is feasible
Execution
Implement plan, but plan may be changed as we go along
Page 3 of 22
Architecture design
Based on system requirements
Defines components of system: hardware, software, organizational
Software requirements will come out of this
Code and test
Of individual components
Integration
Putting the components together
Qualification testing
Testing the system (not just the software)
Installation
Page 4 of 22
Setting objectives
Objectives
Informally, the objective of a project can be defined by completing the statement:
The project will be regarded as a success if..
Rather like post-conditions for the project
Focus on what will be put in place, rather than how activities will be carried out
Page 5 of 22
Goals/sub-objectives
These are steps along the way to achieving the objective. Informally, these can be defined by
completing the sentence
Objective X will be achieved
IF the following goals are all achieved
A
B
C etc
Often a goal can be allocated to an individual.
Individual may have the capability of achieving goal, but not the objective on their own e.g.
Objective user satisfaction with software product
Analyst goal accurate requirements
Developer goal software that is reliable
Measures of effectiveness
How do we know that the goal or objective has been achieved?
By a practical test, that can be objectively assessed.
e.g. for user satisfaction with software product:
Repeat business they buy further products from us
Number of complaints if low etc etc
Project Stakeholders
These are people who have a stake or interest in the project
In general, they could be users/clients or developers/implementers
They could be:
Within the project team
Outside the project team, but within the same organization
Outside both the project team and the organization
Page 6 of 22
Management control
e.g. we will not meet target of processing all documents by 31st March
Modelling working out the probable outcomes of various decisions
e.g. if we employ two more staff at location X how quickly can we get the documents processed?
Implementation carrying out the remedial actions that have been decided upon
Page 7 of 22
The People: People of a project includes from manager to developer, from customer to end user.
But mainly people of a project highlight the developers. It is so important to have highly skilled
and motivated developers that the Software Engineering Institute has developed a People
Management Capability Maturity Model (PM-CMM), to enhance the readiness of software
organizations to undertake increasingly complex applications by helping to attract, grow,
motivate, deploy, and retain the talent needed to improve their software development
capability. Organizations that achieve high levels of maturity in the people management area
have a higher likelihood of implementing effective software engineering practices.
The Product: Product is any software that has to be developed. To develop successfully, product
objectives and scope should be established, alternative solutions should be considered, and
technical and management constraints should be identified. Without this information, it is
impossible to define reasonable and accurate estimates of the cost, an effective assessment of risk,
a realistic breakdown of project tasks or a manageable project schedule that provides a
meaningful indication of progress.
The Process: A software process provides the framework from which a comprehensive plan for
software development can be established. A number of different tasks sets tasks, milestones,
work products, and quality assurance pointsenable the framework activities to be adapted to
the characteristics of the software project and the requirements of the project team. Finally,
umbrella activities overlay the process model. Umbrella activities are independent of any one
framework activity and occur throughout the process.
The Project: Here, the manager has to do some job. The project includes all and everything of
the total development process and to avoid project failure the manager has to take some steps,
has to be concerned about some common warnings etc.
Page 8 of 22
How it should go
Requirements
Analysis
Design
Implementation
System Testing
D
E
L
A
Y
Vaporware
Page 9 of 22
Project Agreement
Document written for a client that defines:
the scope, duration, cost and deliverables for the project.
the exact items, quantities, delivery dates, delivery location.
Can be a contract, a statement of work, a business plan, or a project charter.
Client: Individual or organization that specifies the requirements and accepts the project
deliverables.
Deliverables (= Work Products that will be delivered to the client):
Documents
Demonstrations of function
Demonstration of nonfunctional requirements
Demonstrations of subsystems
Page 10 of 22
A more detailed description of the Project Management Methodology and Life Cycle follows:
Project Initiation
Project Initiation is the first phase in the Project Life Cycle and essentially involves starting up
the project. You initiate a project by defining its purpose and scope, the justification for initiating
it and the solution to be implemented. You will also need to recruit a suitably skilled project
team, set up a Project Office and perform an end of Phase Review. The Project Initiation phase
involves the following six key steps:
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
team throughout the project delivery. The Planning Phase involves completing the following 10
key steps:
Page 11 of 22
Project Execution
With a clear definition of the project and a suite of
detailed 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,
change, risks, issues, suppliers, customers and
communication.
Once all the deliverables have been produced and the
customer has accepted the final solution, the project is
ready for closure.
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 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.
Page 12 of 22
Project management involves application of knowledge, skills, tools and techniques to the
project activities with the objectives of meeting or exceeding the stakeholder
expectations.
Project management requires ability to administer a project by balancing the team and
technology.
Team
Schedule
Technology
Cost
Resources
Performance
Profit
Productivity
Process is a set of interrelated actions that are performed to achieve a predefined set of
products, services or results.
Project processes are performed by the project team.
Perprocesses broadly fall into two categories:
Project
Project management processes: these are directed at initiating, planning,
executing, monitoring, controlling and closing a project.
Page 13 of 22
Product-oriented processes: these processes are typically defined by the project life
cycle.
Project management processes and product-oriented processes overlap and interact with
each other throughout the project life.
Processes interact with each other in complex ways
They also interact in relation to scope, cost, schedule etc.
Components of a process
Process
Product Engineering
Process
Process Management
Process
Product Development
Process
Project Management
Process
Project Charter
A document that formally recognizes the existence of a project.
Provides the PM with the authority to apply organizational resources to the project: what the
PM can and cannot do.
e.g.; Right to reset Plan when requirements are changed
Defines the project goal, scope and objectives.
Details the level of quality to be expected.
Validates the business justification.
Highlights risk.
Its the contract: if anything needs resolution, this should specify it
When in doubt, read the Charter!
Also specifies:
what to do if there is conflict
Management reconciliation
Scope change management
Knowledge transfer
Training approach
Anything else
Page 14 of 22
Page 16 of 22
Page 17 of 22
An ideal activity
Bottom-up
use when no past project data
identify all tasks that have to be done so quite time-consuming
use when you have no data about similar past projects
Top-down
produce overall estimate based on project cost drivers
based on past project data
divide overall estimate between jobs to be done
Bottom-up estimating
1. Break project into smaller and smaller components
2. Stop when you get to what one person can do in one/two weeks]
3. Estimate costs for the lowest level activities
4. At each higher level calculate estimate by adding estimates for lower levels
Top-down estimates
Algorithmic/Parametric models
Page 21 of 22
Parametric models
Page 22 of 22