0% found this document useful (0 votes)
11 views

Chapter 4

Software project management involves planning, implementing, monitoring, and controlling software projects. It aims to ensure software is delivered on time, on budget, and according to requirements. Key aspects of software project management include defining the project scope and goals, establishing a work breakdown structure and schedule, managing risks, and leading a software development team. Effective project managers motivate team members, facilitate collaboration, and apply best practices for planning, tracking progress, and delivering high-quality software.

Uploaded by

shimelis getu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Chapter 4

Software project management involves planning, implementing, monitoring, and controlling software projects. It aims to ensure software is delivered on time, on budget, and according to requirements. Key aspects of software project management include defining the project scope and goals, establishing a work breakdown structure and schedule, managing risks, and leading a software development team. Effective project managers motivate team members, facilitate collaboration, and apply best practices for planning, tracking progress, and delivering high-quality software.

Uploaded by

shimelis getu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Software Engineering

Chapter 04

Software Project Management

1
Job Pattern of Software Company
Software development can be seen in two parts:
Software Creation/Engineering
1.

Software Project Management


2.
What is a Project?
❑ A project is a temporary effort undertaken to create a
unique product with defined start and end dates to
achieve one or more objectives within the constraints
of cost, schedule/time, and quality performance.
❑ It is well-defined task, which is a collection of several
operations done in order to achieve a goal .
❑ Every project may has a unique and distinct goal.
❑ Project comes with a start time and end time.
❑ Project needs adequate resources in terms of time,
manpower, finance, material and knowledge-bank.
Software Project Management(SPM)

❑ SPM is a sub-discipline of PM in
which software projects are planned,
implemented, monitored and controlled.
❑ It is an art and science of planning and
leading software projects.
❑ So , concerned with activities involved in ensuring
that software is delivered on time/ schedule and on
budget accordioning to the requirements.
❑ Project management is needed because software
development is always subject to budget and schedule
constraints that are set by the organization. 4
Cont..

5
Project Management Framework/
Knowledge Areas
Software Project Manager
❑A software project manager is a person who undertakes
the responsibility of executing the software project.
❑Project manager may never directly involve in
producing the end product but he controls and
manages the activities involved in production.
❑But, closely monitors the development process,
prepares various plans, arranges necessary resources,
maintains communication among all team members in
order to address issues of cost, budget, resources, time,
quality and customer satisfaction.
Contt..
Suggested Skills for a Project Manager
❑ Communication skills: listening,…
❑ Organizational skills: planning, analyzing,…
❑Team Building skills: empathy, motivation, ….
❑Leadership skills: vision, positive,…
❑Coping skills: flexibility, creativity, patience
❑Technological skills: experience, project
knowledge,….
❑General management skills: like monitoring
❑Conflict resolution, conflict management skills,
(negotiating).
❑Critical thinking, problem solving skills and soon.
4P’s of SPM
Essentially, 4P’s refers to four critically important elements
of PM.
Embracing these elements in your project can help your team
meet its goals and objectives. This four P’s are :
1. People ( people who are play in PM includes project
manager, project team members, sponsors, stakeholders,
developers..)
2. Product (As the name implies, this is deliverable of the
project)/the software to be built.
3. Process ( appropriate methodology or process model)
4. Project (This is where the project manager’s roles and
responsibilities come into play).
Stakeholders
̶ Stakeholders are the people involved in or affected
by project activities.
❑ Senior managers who define the business issues that often have
significant influence on the project.
❑ Project (technical) managers who must plan, motivate, organize,
and control the practitioners who do software work.
❑ Practitioners/ project team who deliver the technical skills that
are necessary to engineer a product or application.
❑ Customers who specify the requirements for software to be
engineered and other stakeholders who have a peripheral interest in
the outcome.
❑ End-users who interact with the software once it is released for
11
production use.
Software Teams

How to lead?
How to organize?
How to collaborate?

How to motivate? How to create good ideas?

12
Team Leaders

• In an excellent book of technical leadership, suggests a


MOI model for effective leadership:
– Motivation. The ability to encourage (by “push or
pull”) technical people to produce to their best ability.
– Organization. The ability to mold existing processes
(or invent new ones) that will enable the initial
concept to be translated into a final product.
– Ideas or innovation. The ability to encourage
people to create and feel creative even when they
must work within bounds established for a particular
software product or application.
13
Cont…
❖ The following factors must be considered when selecting software
project team structure :-
❑ the difficulty of the problem to be solved.
❑ the size of the program(s) in lines of code or function points.
❑ the time that the team will stay together (team lifetime)
❑ the degree to which the problem can be modularized
❑ the required quality and reliability of the system to be built

❑the rigidity of the delivery date (fixed time table )


❑the degree of sociability (communication) required for the
project.
14
Software Management Distinctions
❑ The product is intangible(Software cannot be seen or
touched).
✓Software project managers cannot see progress by simply
looking at the artefact that is being constructed.

❑ The product is uniquely flexible.


✓ Software engineering is not recognized as an engineering
discipline with the same status as mechanical engineering,
etc.

15
Cont.
❑ We don’t have much experience.
✓ Software engineering is a new discipline, and so we
simply don’t have much understanding of how to
engineer large scale software projects.
❑ Many software projects are 'one-off' projects.
✓ Large software projects are usually different in some
ways from previous projects. Even managers who have
lots of previous experience may find it difficult to
anticipate the problems.
❑ The technology changes very quickly.
✓ Most large software projects employ new technology;
11
for many projects.
Activities in software project management

1) Project Planning

2) Project Scheduling

3) Risk Management

4) Managing people

12
1. Project Planning
❑ The biggest single problem that distresses software
developing is underestimating resources required for a
project.

❑ Developing accurate project plan is essential to gain


understanding of the resources required, and how these
should be applied.
❑ Project managers are responsible for planning ,estimating
and scheduling project development and assigning people to
13
tasks/activities .
Types of plan
• Software development plan.
– The central plan, which describes how the system
will be developed.
• Quality assurance plan.
– Specifies the quality procedures & standards to be
used.
• Validation plan.
– Defines how the client will validate the system that
has been developed.

14
Cont.
• Configuration management plan.
– Defines how the system will be configured
and installed.
• Maintenance plan.
– Defines how the system will be maintained.
• Staff development plan.
– Describes how the skills of the participants will
be developed.

15
Software Development Plan
➢A project plan is a document used to coordinate all project
planning documents (5-20 pages).
➢Specifies the order of work to be carried out, resources,
responsibilities, and so on.
➢Varies from small and relatively informal to large and very
formal.
➢Developing a project plan is as important as properly
designing code.
➢On the basis of a project plan, contracts will be signed and
careers made or broken. . .
➢Its main purpose is :
✓ To guide project execution.
✓ To support project manager for leading project team and assessing
21
project status.
Attributes of Project Plans
❑ Just as projects are unique, so are project plans
➢Plans should be dynamic (If anything changes, the project
plan must be updated and re-approved).
➢Plans should be flexible.
➢Plans should first and foremost to guide project execution.

❑ Not to:
– overestimate your team’s ability;
– simply tell clients what they want to hear;
– pressured by developers (“we can do that in an afternoon!”)
22
Structure of Development Plan
1. Introduction
– brief intro to project — references to
requirements spec.
2. Project organization
– intro to organizations, people, and their
roles.
– Description of how the project is
organized
3. Risk Analysis
– what are the key risks to the project? 23
Cont.
4. Hardware and software resources
– what h/ware and s/ware resources will be required
for the project and when?
5. Work breakdown
– the project divided into activities , milestones,
deliverables; dependencies between tasks etc
6. Project schedule
– actual time required — allocation of dates
7. Reporting and progress measurement : mechanisms to
monitor progress.
19
Work Breakdown Structure Structure
❑Subdividing major project deliverables and total
project scope/ work into smaller, more manageable
components.
❑WBS is an outcome-oriented analysis of work
involved in a project that defines hierarchical
decomposition of total scope of the project.

25
Cont….
❑For internal project, work is actually detailed in
work breakdown structure (WBS) and WBS
dictionary.
❑WBS is a document that break down all the work
which needs to be done in the project, then assigns all
tasks to the team members.
❑WBS dictionary is a document that provides detailed
deliverables, activity and scheduling info about each
component in the WBS.

26
Example….
Approaches to Developing WBSs
❑ The analogy approach: It often helps to review
WBSs of similar projects
❑ The top-down approach: Start with the largest
items of the project and keep breaking them down.
❑ The bottom-up approach: Start with the detailed
tasks and roll them up.
❑ By using approach above the activities in a project,
breakdown into: work packages; tasks; deliverables; and
milestones. 20
Cont.

• A work package is a task at the lowest level of the WBS.

– a large, logically distinct section of work:

– typically at least 12 months duration;

– may include multiple concurrent activities;

– independent of other activities;

– but may depend on, or feed into other activities;

– typically allocated to a single team.


21
Cont.

• A task is typically a much smaller piece of work

– A part of a work package.

– typically 3–6 person months effort;

– may be dependent on other concurrent


activities;

– typically allocated to a single person.

22
Cont.
❑ A deliverable is an output of the project that
can meaningfully be assessed.
❑ A deliverable is a product produced as part of
a project, such as hardware or software,
planning documents.
Examples: – report (e.g. requirements spec);
code (e.g., alpha tested product).
❑ A milestone is a point at which progress on the
project may be assessed.
•Typically a major turning point in the project.
EXAMPLES: – delivery of requirements spec;
delivery of alpha tested code. 24
2.Project scheduling/ Time Management
❑ Project time management involves the processes
required to ensure/manage timely completion of a
project.
❑ It also known as schedule management knowledge area.

32
Contt..
❑For scheduling a project ,it is necessary to:
➢Break down the project tasks into smaller ,
manageable form (WBS).
➢Find out various task and correlate them
➢Organize tasks concurrently to make optimal use of
workforce.
➢Minimize task dependencies to avoid delays caused
by one task waiting for another to complete.
➢Estimate time frame required for each task
➢Divide time into work units.
➢Assign adequate number of work units for each sub
task. 33

➢Calculate total start to finish time.


The project scheduling process

25
Scheduling problems

❑ Productivity is not proportional to the number


of people working on a task.
❑ Adding people to a late project makes it later
because of communication overheads.
❑ The unexpected always happens.
Always allow contingency in planning.
❑ Estimating the difficulty of problems
and hence the cost of developing a
solution is hard.
26
Bar charts and activity networks
• Graphical notations used to illustrate the project
schedule.
• Network diagrams are preferred technique for
showing activity sequencing/task dependencies and
critical path.
• Bar/ Gantt charts show schedule against calendar time.
• It represent project schedule with respect to time
periods.

27
Gantt Chart for Project X

37
Task durations and dependencies
Network Diagram

39
3. Risk Management
❑ Negative risk (threats) potential problems that might
occur in the project and impede/block project success.
❑ Positive risks are risks that result in good things
happening (it can result in good outcomes for a project),
sometimes called opportunities.
❑ i.e., general definition of project risk is, an uncertainty
that have a negative or positive effect on project
objectives.
❑ But, managing negative risks involves a number of
possible actions that project managers can take to avoid,
lessen, change, or accept the potential effects of risks on
projects.
40
Software Risks
❑ Experienced staff leaving the project and new staff
coming in/Staff turnover.
❑Changing in organizational managt.
❑Requirement change or misinterpreting.
❑Under estimation of required time and resources.
❑Technological changes: Underlying technology on
which the system is built is outdated by new techno.
❑Hardware unavailability :Hardware that is essential
for the project will not be delivered on schedule.
❑Product competition: A competitive product is
marketed before the system is completed.
❑Specification delays: Specifications of essential
interfaces are not available on product schedule.
41
What is Project Risk Management?

❑ Risk management is the systematic process of


identifying, analyzing, and responding to project risk.

❑ It involves all activities relating to identification


,analyzing and making provision for predictable as well
as non predictable risk in the project.
– Project risks affect schedule or resources;
– Product risks affect the quality or performance of
the software being developed;
– Business risks affect the organization developing
or procuring the software.
42
Risk Management Process
• Risk identification
– Identify project, product and business risks;
• Risk analysis
– Assess probability and seriousness of each risk.
– Risk effects might be catastrophic, serious, tolerable or
insignificant.
• Risk planning(Risk response strategies)
– Draw up plans to avoid or minimize the effects of the
risk.
– Consider each risk and develop a strategy to manage that
risk.
• Risk monitoring
43
– Monitor the risks throughout the project;
Cont…

44
4.Managing people
❑Poor people management contribute to project failures.
❑People management is a part of HRM, It describes how
project managers and team leaders manage their skilled
employees for successful delivery of projects.
❑It involves : Understanding People, Communication( using
appropriate channels), Collaboration(bringing all team
members collectively on a single platform using
collaboration tool), and analyzing employees’ knowledge
and skills(identify each person’s strengths and weaknesses).
45
Project Size Estimation Metrics
❑Size is one of the most important attributes of a software
product.
CODE-BASED SIZING METRICS

❑ Code-based sizing metrics measure the size or complexity of


software using the programmed source code.
✓ Because a significant amount of effort is devoted to
programming, it is believed that an appropriate measure
correctly quantifying the code can be a perceivable indicator of
software cost. 45
Cont..
• Source lines of code (SLOC) among others have
been proposed and used as code-based sizing
metrics.

• SLOC is the most popular and used as a primary


input by most major cost estimation models,
such COCOMO, SLIM, SEER-SEM, PRICE-S,
and Knowledge Plan.

46
Cont.…
• The Constructive Cost Model (COCOMO) is a
formula-based method for estimating the total cost
of developing software .

• The fundamental input for COCOMO is the


estimated number of LOC.

47
Function Point Analysis
• Function Point Analysis(FPA) estimates the cost of a
project from the estimates of the delivered
functionality

• FPAcan therefore be applied at the end of the


software requirements definition phase to make cost
estimates.

48
Summery Note
• Good project management is essential for project success.

• The intangible nature of software causes problems for management.

• Managers have diverse roles but their most significant activities are
planning, estimating and scheduling.
• Planning and estimating are iterative processes
which continue throughout the course of a
project.

49
Summery Note
• A project milestone is a predictable state where a formal
report of progress is presented to management.

• Project scheduling involves preparing various graphical


representations showing project activities, their durations
and staffing.

• Risk management is concerned with identifying risks


which may affect the project and planning to ensure that
these risks do not develop into major threats.
51
Thank
You!

52

You might also like