Chapter 4
Chapter 4
Chapter 04
1
Job Pattern of Software Company
Software development can be seen in two parts:
Software Creation/Engineering
1.
❑ 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?
12
Team Leaders
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.
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.
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
25
Scheduling problems
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?
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
46
Cont.…
• The Constructive Cost Model (COCOMO) is a
formula-based method for estimating the total cost
of developing software .
47
Function Point Analysis
• Function Point Analysis(FPA) estimates the cost of a
project from the estimates of the delivered
functionality
48
Summery Note
• Good project management is essential for project success.
• 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.
52