Vous êtes sur la page 1sur 39

Software Project

Management
LECTURE 1
What is Software?

Software can be considered a product of engineering


just like an airplane, automobile, television, or an other
object that requires a high degree of skill to turn a raw
material into a usable product.
Software is a set of instructions, data or programs used to
operate computers and execute specific tasks. Opposite
of hardware
What is a Project ?

 In the broadest sense, a project is a specific, finite task


to be accomplished. Any activity that results in a
deliverable or a product.

 Projects always begin with a problem. The project is to


provide the solution to this problem.

 When the project is finished it must be evaluated to


determine whether it satisfies the objectives and goals.
Characteristics of project..!!!

Temporary : It means that every project has a definite


beginning and definite end
 End is reached when project’s objectives have been
achieved OR it is clear that objective will not be met. The
project is terminated in such a situation.

Unique: it means that the product or service is different


in some distinguishing way from all similar products or
services
Management

 Management can be defined as all activities and


tasks undertaken by one or more persons for the
purpose of planning and controlling the activities of
others in order to achieve objectives or complete an
activity .
 Management functions can be categorized as
 Planning
 Organizing
 Staffing
 Directing
 Controlling
Management Functions

 Planning
Predetermining a course of action for accomplishing organizational Objectives
 Organizing
Arranging the relationships among work units for accomplishment of objectives
and the granting of responsibility and authority to obtain those objectives
 Staffing
Selecting and training people for positions in the organization
 Directing
Creating an atmosphere that will assist and motivate people to achieve desired
end results
 Controlling
Establishing, measuring, and evaluating performance of activities toward planned
objectives
 Innovating
Coming up with new solutions
Responsibilities of Management

 Answerable to Stakeholders of an organization


 Give Employees good working conditions
 Give customers right thing in right price & time
 Maintain good relationships between organization and the suppliers
 Develop future plans of the organization
 Know-how of government rules and regulations
 Awareness of currency fluctuation and interest rates
 Preparation against disasters
 Capability to manage the change
What is project
management?

 Project management is the application of processes,


methods, skills, knowledge and experience to achieve
specific project objectives according to the project
acceptance criteria within agreed parameters. Project
management has final deliverables that are constrained to a
finite timescale and budget.
 Why we need Management ??
 To increase the productivity
 To avoid wastage
 To organize task in daily life
 To avoid wastage of resources
Software Project Management

 A sub-discipline of project management in which


software projects are planned, monitored and
controlled
 Software development is a complex undertaking
particularly when it involves many people working over
a relatively long time.
Project Management Skills

 Leadership
 Communications
 Problem Solving
 Mentoring
 Process and technical expertise
Project Management Body of
Knowledge(PMBOK)

 The Project Management Body of Knowledge is a set of


standard terminology and guidelines
 Generally accepted means that it is applicable to
most of the projects most of the time.
 A Guide to the Project Management Body of
Knowledge (the Guide to the PMBOK or the Guide), a
book whose sixth edition was released in 2017
Project Management Process
Groups

PMBOK recognizes 5 basic process groups listed below.


1. Initiating
2. Planning
3. Executing
4. Monitoring and Controlling
5. Closing
Project Management
Knowledge Areas

The 9 knowledge areas of project management are given below:


1. Project Integration Management
2. Project Scope Management
3. Project Time Management
4. Project Cost Management
5. Project Quality Management
6. Project Human Resources Management
7. Project Communications Management
8. Project Risk Management
9. Project Stakeholder Management
Project Management
Knowledge Areas

 Project Integration Management: The knowledge area which is


devoted to identify and define the work in the project is known as the
Integration Management
 Project Scope Management This knowledge area deals with defining
the project scope, project requirement scope, project work, making the work
breakdown structure, making the scope baselines and managing the scope
of the project.
 Project Time Management: The project managers estimate the
duration of the tasks in this knowledge area. This is where he/she sequences
the tasks and chooses the number of resources required to achieve the
objective of the project.
 Project Cost Management: Budget baseline is established and
costs are estimated in this knowledge area. The plan to manage the costs is
categorized in the cost management knowledge area too.
Cont..

 Project Quality Management There are three processes in


Project Quality Management, the knowledge area where the quality
requirements for project deliverables are planned and tracked.

 Project Human Resources Management This knowledge


area, which is the HR management of the project, comprises of the
processes very essential to define the ways human resources will be utilized,
developed, acquired and managed.

 Project Communications Management Communications


management is the knowledge area that defines how communications
within the project will work. In these processes, the project manager makes
the communication management plan, ensures the plan is followed, and
controls information flow within the project.
Cont,,

Project Stakeholder Management:


 Project Stakeholder Management area encompasses all the
processes which is used by a project manager for recognizing and
satisfying the ones who are affected by the project.
 The affected party can either be internal or external, in nature. You
can pay close attention to those stakeholders who can have a
powerful positive or negative impact on the project
4 P’s in PM

 People
 Product
 Process
 Project
People

 The most important factor in success of software project.


 motivated and highly skilled software people has always been important
for software organizations.
People consist of
 Stakeholders
 Team Leaders
 Software Team
Interaction/Stakeholders

 As a PM, who do you interact with?


 Project Stakeholders
 Project sponsor
 Executives
 Team
 Customers
 Functional managers etc
The Stakeholders

 Senior Managers :they define business issues that often


have significant influence on business
 Project (technical) managers :they must plan,
motivate, organize and control the practitioners who
do software work
 Customers : They specify the requirements for the
software to be engineered
 End Users : They interact with the software after it is
released for production use
The Team Leaders

 A team leader is someone who provides direction,


instructions and guidance to a group of individuals,
who can also be known as a team, for the purpose of
achieving a certain goal.
 MOI model of leadership
 Motivation :encourage technical people
 Organization :Apply , improve processes efficiently
 Ideas or Innovation :
 Make people feel creative
 Be Creative
Cont,,

The Team Leaders - Characteristics of an effective project managers:


 Problem Solving
 Diagnostic
 Skill to solve
 Ability to design solution
 Managerial Identity
 Control the project
 team building
 Influence the team
 Read people‟s mind and respond according to their needs
 Be controlled in stress situations
The Software Teams

 Organizations/Structure of teams:
 Democratic decentralized
 Controlled decentralized
1. Democratic decentralized
 No permanent leader
 Communication is horizontal
 Suitable for small projects requiring less than 5 to 6
engineers,
Controlled centralized
 Defined team leader
 Problem solving , communication and management by
team leader
 Communication is vertical
The Software Teams

 seven factors that should be considered when planning team


structure:
 Difficulty of task
 Size of resultant code (no. of lines)
 Time that team will stay together
 Degree of modularization ( Satisfy Customers and Decrease Costs)
 Required quality and reliability of the system being built
 schedule
 Degree of communication
Communication & Coordination

 Formal approaches
 Writings (SE documentation, Customer requests, etc.)
 Status review meetings
 Design and code inspections
 Informal approaches (more personal)
 Interpersonal networking
 Sharing of ideas on ad hoc basis
 Seeking help from inside or outside the project team when
problem arises
 Electronic Communication
 E-mail, electronic bulletin boards
 video conferencing
The Product

 Product is any package that needs to be developed.


 Before a software project is planned, the product
objectives and scope should be established, technical
and management constraints should be identified
Focus on two points
1. Software scope
2. Problem decomposition
The Product

 Software Scope :The software scope clearly defines all


functionalities and artifacts to be delivered as a part of
the software. The scope identifies what the product will
do and what it will not do, what the end product will
contain and what it will not contain.
 Function and Performance
1. What function does the software system perform on i/p
to produce o/p
2. What level of performance is required
The Product

Problem Decomposition:
 Also called partitioning OR problem elaboration
 A complex problem is partitioned into smaller problems
that are more manageable
 Decomposition make planning easier.
Decomposition in 2 major areas
 Functionality that must be delivered
 Process that will be used to deliver product
Process

 Framework Activities
 Process Models
 Process Decomposition
The Process

 Project managers and team members should have a


methodology and plan that outlines their approach.
Without a clearly defined process, team members will
not know what to do and when to carry out project
activities.
 this problem can be avoided through comprehensive
early stage process planning.
 Using the right process will increase the project
execution success rate that meets its original goals
and objectives.
Common Process Framework
Activities

 Common process framework activities which are


applicable to all software projects are:
 Communication
 Planning
 Modeling
 Construction
 Deployment
The Process Models

 Assignment
 The way a process is decomposed depends on project
complexity
 Decomposition involves outlining of work tasks involved in
each process framework activity
 Example of decomposition for „communication‟ activity
for a simple project:
 Develop a list of issues
 Meet with customer to discuss issues
 Jointly develop solution
 Review the solution
 Modify the solution if require
The Project

 Project
 Signs of Projects Risk
 How to Avoid Project Risks
The Project

 The software projects must be planned and controlled


effectively to avoid complexities.
 The project managers and engineers must understand
the success factors and develop a common sense
approach for planning, monitoring and controlling the
project.
Signs of Projects Risk

 Software people don‟t understand customer needs


 Product scope is poorly defined
 Changes are managed poorly
 The chosen technology changes
 Business needs change
 Deadlines are unrealistic
 Team lacks skills
 Managers avoid best practices
How to avoid problems?

 Start on the right foot


 Involves detailed understanding of project
 setting realistic objectives & expectations
 Selecting the right team
 Facilitating the team
 Maintain Momentum
 Provide incentives
 Monthly or annually bonus
Cont..

 Track Progress
 Assess progress as work products are produced
 Make smart decisions
 Choose standard approaches and keep it simple
 Avoid risks and allocate more time than needed for complex/risky tasks
 When possible, use existing software components
 Conduct a postmortem analysis
 Compare planned and actual schedule
 Get feedback from team and customers
 Establish record of lessons learnt for each project

Vous aimerez peut-être aussi