Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SPM Unit1 Part-1

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

SOFTWARE PROJECT MANAGEMENT

(KOE-068)
UNIT-1 (Part-1)
(Introduction to Software Project Management)
Content

• Software project
• Software project management
• Causes of SPM failure
• Need of SPM
• Triple constraints for software projects
• Software project manager
• Software management activities
• Need identification
– Steps in need identification
– Need identification techniques
• Vision and scope document
• Project management life cycle
• SPM objective (SMART)/ management principle
• Management spectrum
• SPM framework
Software Project
A Software Project is the complete procedure of software development from
requirement gathering to testing and maintenance, carried out according to the
execution methodologies, in a specified period of time to achieve intended software
product.

Software Project Management

Software project management is the art and science of planning and leading
software projects. It is a sub-discipline of project management in which software
projects are planned, monitored and controlled.
Causes of SPM failure
• Unrealistic project goals
• Inaccurate estimates of needed resources
• Badly defined system requirements
• Unmanaged risks
• Poor communication among customers, developers and users
• Use of immature technology
• Inability to handle projects complexity
• Poor project management
Need of software project management
• Software is said to be an intangible product. Most software products are tailor
made to fit client’s requirements. The most important is that the underlying
technology changes and advances so frequently and rapidly that experience of one
product may not be applied to the other one. All such business and environmental
constraints bring risk in software development hence it is essential to manage
software projects efficiently.
Triple constraints for software projects
Software Project Manager

• A software project manager is a person who undertakes the responsibility of


executing the software project. Software project manager is thoroughly aware of all
the phases of SDLC that the software would go through. Project manager may
never directly involve in producing the end product but he controls and manages
the activities involved in production.
• A project manager closely monitors the development process, prepares and
executes various plans, arranges necessary and adequate resources, maintains
communication among all team members in order to address issues of cost, budget,
resources, time, quality and customer satisfaction.
Let us see few responsibilities that a project manager shoulders -
Managing People
• Act as project leader
• Liaison with stakeholders
• Managing human resources
• Setting up reporting hierarchy etc.
Managing Project
• Defining and setting up project scope
• Managing project management activities
• Monitoring progress and performance
• Risk analysis at every phase
• Take necessary step to avoid or come out of problems
• Act as project spokesperson
Software Management Activities

• Software project management comprises of a number of activities, which contains


planning of project, deciding scope of software product, estimation of cost in
various terms, scheduling of tasks and events, and resource management. Project
management activities may include:
• Project Planning
• Scope Management
• Project Estimation
Need identification
• The term “elicitation” is prefered to “capture”, to avoid the suggestion that
requirements are out there to be collected simply by asking the right questions. It is
the process of learning, uncovering, extracting, surfacing, and/or discovering needs
of customers, users, and other potential stakeholders.

In the process of requirement elicitation there are four main categories of participants:
• The facilitator, who acts as a chairperson of the meeting, has a critical role in
organising the work of the requirements negotiation team.
• The users, who are people involved in using the system, are the “owners” of the
problem.
• The analyst, who is a representative of the design team, has a key role in the
transfer of the requirements from the “problem owners” to the design team.
• The design team, who are the system implementers, are responsible to meet the
elicited requirements.
Steps in need identification

1. Assess the business and technical feasibility for the proposed system.
2. Identify the people who will help satisfy requirements and understand their
organizational bias.
3. Define the technical environment (e.g. operating system, telecommunication
needs) into which the system or product will be placed.
4. Identify “domain constraints” that limits the functionality or performance of the
system or product tobe built.
5. Define one or more elicitation methods (eg interviews, team meetings)
6. Solicit participation from many people so that requirements are defined from
different point of view.
7. Identify ambiguous requirements as candidates for prototyping.
8. Create usage scenarios to help customers/users better identify key requirements.
Need identification techniques
1. Traditional techniques includes a broad class of generic data gathering techniques. These includes
the use of questionnaires and surveys, interviews, and analysis of existing documentation such as
organisational charts, process models or standards and user or other manuals of existing systems.
2. Group elicitation techniques aim to foster stakeholder agreement and buy-in, while exploiting
team dynamics to elicit a richer understanding of needs. They include brainstorming and focus
groups.
• Brainstorming: they are used to let the stakeholders come up with creative ideas or new approaches
to a problem.
• Workshops: are facilitated meetings with multiple stakeholders to draw out and document
requirements.
• Interviewing: are in-person meetings where the business analyst asks questions to get information
from the stakeholders.
• Surveys: are used to gather information anonymously from the stakeholders.
• Documentation review: is the process of obtaining requirements from written documentation such as
manuals.
• Focus groups: are group interviews where the business analyst raises issues and questions to obtain
information from the stakeholders.
• Observation: is when the business analyst watches the users performing their daily tasks and ask
questions about the tasks and work.
3. Prototyping has been used for elicitation where there is a great deal of uncertainty about the
requirements, or where early feedback from stakeholders is needed.
4. Model-driven techniques provides a specific model of the type of information to be gathered, and use
this model to drive the elicitation process.
5. Cognitive techniques includes a series of techniques originally developed for knowledge acquisition
Vision and scope document

1. Problem statement
A) Project background
B) Stakeholders
C) Users
D) Risks
E) Assumptions
2. Vision of solution
a) Vision statement
b) Lists of features
c) Scope of phased released (optional)
d) Features that will not be developed
Project management life cycle

1. Project initiation involves starting up the project, by documenting a business


case, feasibility study, terms of references, appointing the team and setting up a
project office.
2. Project planning involves setting out the roadmap for the project by creating the
project plan, resource plan, financial plan, quality plan, acceptance plan and
communication plan.
3. Project execution involves building the deliverables and controlling the project
delivery, scope , costs , quality, risks and issues.
4. Project closure involves winding down the project by releasing staff, handing
over deliverables to the customer and completing a post implementation review.
Project initiation
Project planning
Project execution
Project closure
SPM OBJECTIVE (S.M.A.R.T.)
The project objective consists of the business benefits that an organisation expects to
achieve as a result of spending time and exerting efforts to complete a project.
1. Specific: When setting a goal for yourself, your goal should be very clear and specific, or you will struggle when
the time comes to focus your efforts. “W” questions are important when setting these goals:
‍- What? Think about what you are trying to accomplish
.- Why? What is the reason for this goal, and why is this goal important.
- Who? Think about who will be involved.-
Where? If there is a relevant location, identify it here.-
Which? You will need to determine any possible requirements or obstacles that may become an issue along the way.

2. Measurable: While working on setting your goals, it’s important to understand that they need to be measurable
ones, so that you can track them. Set milestones or specific tasks to accomplish during your project, and track
and assess your progress.

3. Achievable: In order for your goals to be achievable, they also need to be realistic ones. They should feel
challenging but still remain possible. So, take a close look at any possible previously overlooked opportunities,
and think about the resources you will need to bring your goal to completion. These resources might translate to
developing new skills, so think about what you will need in order to acquire them and how long this will take
you.

4. Relevant: You need to be sure your goal matters to you, and it is also necessary that your goal aligns with other
goals; whether they might be different and broader business goals or personal goals along the way.

5. Time-bound: This step is about working with the right time-set in mind. You need to have a clear deadline to
truly focus on accomplishing your goal. Think about it as a project with no finish line; you wouldn’t know where
and when to start. Setting clear deadlines is imperative to goal accomplishment.
The Management Spectrum:

The management spectrum focuses on the four P’s; people, product, process
and project. Here, the manager of the project has to control all these P’s to have
a smooth flow in the progress of the project and to reach the goal.
The four P’s of management spectrum are
• People
• Product
• Process
• Project
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”
The Product:

The product is the ultimate goal of the project. This is


any types of software product that has to be developed. To develop a
software product successfully, all the product objectives and scopes
should be established, alternative solutions should be considered, and
technical and management constraints should be identified beforehand.
Lack of these information, it is impossible to define reasonable and
accurate estimation of the cost, an effective assessment of risks, 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 points—enable 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 software process model. Umbrella activities are independent of any one
framework activity and occur throughout the process.
The Project:

• The project is the complete software project that includes requirement


analysis, development, delivery, maintenance and updates. The project
manager of a project or sub-project is responsible for managing the
people, product and process. The responsibilities or activities of
software project manager would be a long list but that has to be
followed to avoid project failure.
• A software project could be extremely complex and as per the industry
data the failure rate is high. Its merely due to the development but
mostly due to the steps before development and sometimes due to the
lack of maintenance.
SPM Framework

• A framework represents the information model for the objects that can be described
during software process management. Activities involved to achieve objective are:-
1. Defined and determined the scope of SPM.
2. Defined a framework for SPM using information model technique.
3. Defined a framework for SPM using domain analysis technique
4. Designed a generic framework for SPM.

You might also like