Chapter01. Introduction to Software Project Management A project = collaborative set of actions that is carefully planned to meet certain objectives, mission or a goal. Every state of a project is indicated by an event:
Between two events is an edge = activity = task A project outline is an activity diagram over events.
Implying there are several ways to go from A to X.
Which one is the least costly?
The sequence of activities from start to finish on the least costly path is a project proposal.
Therefore,
A X
How to move from state A to state X at least cost?
A
■ A group of activities that need be done properly (in correct order and within its allotted time) to
accomplish a set of objectives at a minimum cost using a set of available resources is a project. Project Management.
■ What is it all about?
■ Why is it an important issue?
■ What happens if it is not managed properly? ■ What must be done to manage a project? Focus of PM is one item only: A PROJECT Extension: Collection of concurrent projects.
■ Every project proposal must be over a finite period of time
■ Every project proposal must begin at the starting point A and end up at the finishing point X.
■ At X, either the project objectives are realized, or project is abandoned.
■ The critical path of a project is that sequence of tasks from start to finish on which none of the task can be
delayed without extending the project schedule length. To determine a project’s CP is a crucial exercise.
■ Outcome is the project result.
● It could be a changed product, new product
● It could be an event, a process, a thing like budget, a signal, a research assignment
■ A project is a temporary endeavor. It is different from a business as usual which is repetitive, permanent or semi-permanent functional works to produce or deliver
something continuously. Therefore, a project management is different from business management.
■ Projects are different from repetitive operational activities.
An operational activity, OA (Business as usual)
Or, it could be OA:
project
1+
project
2+
...
+
project
i+
...
project
n■ A healthy project must have a finite outcome. ■ Key concepts:
Project goals, scope, activities, events, order of execution of activities, allotted time for an activity, cost of an activity, resources and milestones.
● Project goals: Specifying project goals and
objectives describes the project. Goals are high level
OA
i
event
j
event
k
event
statements that collectively provide a context always remaining in synch with business goals and objectives. Objectives are lower level statements that focus on the specifics, on the tangible products and deliveries. If a goal is at a high level, it may require several projects to accomplish it. Higher the goal more difficult it is to measure its accomplishment. Conversely, if it is easier to measure its
accomplishment probably it is an objective, not a goal. ● Scope of a project: The work that needs to be done to complete a project (to deliver a product, software, a result, a service, etc).
Project’s scope is work-centric view. Product’s scope is about its functionality – the two are different.
Scope creep: incremental expansion of the scope of the project. As a project evolves, its requirements may also evolve unseen at the time of initial project
planning. Allowing such expansions is costly to project budget.
A scope has two components at any time:
♦ Deliverables: What must be delivered and when?
♦ Boundaries: What is the boundary of a project? What are outside of its scope?
● Activity: An activity is a task with a beginning and an ending. The timings of an activity are crucial:
If s = activity,
T
(s
)
=
time of the event that represents the beginning, T(s)= time of the event representing its end. Duration of an activity:δ
(
s
)
=
T
(
s
)
−
T
(
s
)
.An event is the time-point when an activity begins or when it ends. The terminal points of a task s are:
T
(s
)
and T(s) Two activities s and 's are concurrent if they can begin atany arbitrary time, i.e.
T
(s
)
andT
(s
'
)
are not constrained in any manner.● Resources: Programmers, analysts, software,
workstations, information, time, communication links. Resources cost money, and therefore, should be used optimally. Resource planning is an important issue in project management.
concurrent
s s'
sequential
s
● Schedule: A project schedule is a list of tasks with their terminal dates, and their dependencies.
online.worcester.edu
This is a time-based plan or a schedule. It’s easy to understand what is being planned.
Scheduling is not an exact process. It involves
● estimation (which of the activities may take longer times)
● prediction (what are the pessimistic, optimistic and likely scenarios)
● educated guesses
Since it’s laden with uncertainties
● schedules should be reviewed regularly
● revise them if need be while the projects are in progress
● estimate and review risks, seek adjustments to schedules accordingly
● a schedule as it evolves moves a project from a vision to a time-based plan. Communicating this transformation on an on-going basis to corporate management is a must.
How does a schedule help on an on-going basis?
● It provides a framework to monitor and control a project.
● It shows us how to allocate resources to meet project goals.
● It can inform us how time-delays will affect a process.
● It can show us where underused resources are and how to allocate them where they are needed.
● Schedules provide a basis to track projects. ■ Milestones: A milestone is an end of a stage with a
completion of a specific phase often marked by a high-level event like signing a MOU, providing an endorsement,
signing of a derivable, etc. Reaching a milestone suggests
● how a project is evolving (is it on schedule?) ● if a project needs to be reviewed, altered, … Milestones are meaningful only on critical paths. Management of a project is about
► An application of a broad set of skills to ■ initiate (why, how, when, alternatives)
■ plan (likely outline with resources/cost + what if) ■ execute
■ review ■ control
■ closing a project ● Primary skills are:
■ scoping (outline, agree: Objectives, requirements) ■ scheduling
● Secondary skills are:
■ managing risk and uncertainty ■ managing quality
■ communicating ■ managing managers ■ collaboration with
♦ suppliers and labor
♦ stakeholders (people involved or interested) ♦ PR team
We take a systems approach (systemic) to a project management.
Systems approach: All parts and activities interact and affect others.
Also, some elements are self-referencing with feedback loops.
People
organizations
resources
processes External
Crucial feedback issue:
■ How’s the project evolving?
■ Project performance results: What do they say? ■ What can we do to stay on track? Any midway correction? How? When?
■ Idea is: Capability to predict systems evaluation from project performance sufficiently accurately.
View of a project management as a system.
element
Project Life Cycle:
● Project initiation phase:
Define project, its scope and limits. Allocate budgets and resources, and produce an attainable schedule to work with. ● Project planning phase:
Draw the schedule plan and resource allocation plan, & identify the milestones to be reached. The work within each milestone is broken down to tasks with beginning and ending times, dependencies and resource needs within the budget constraint. ♦ Milestone setting:
○ split the project into subprojects and further split them into activities or tasks.
○ identify the duration taken to complete a task. ○ identify the resources needed to complete a task. ○ identify dependencies on tasks..
○ ascertain for every task: the earliest time for the task and the later time for the task.
○ find an optimistic value for the duration of the
project and a pessimistic one. The most likely project duration would be in between these two.
Role of a Project Manager
A project manager begins to work from the planning phase, and continues till the end of project. Her primary goals are:
▬ to choose the team; ▬ to set milestones;
▬ to calculate the duration of the project;
▬ to arrive at an optimal project plan and to avoid resources conflicts;
▬ to ensure that the team members stay focused on the objectives and remain motivated during their work;
▬ to envision possible risks and their impacts on the project;
▬ to handle risks in a professional way when they appear;
▬ to interact with the customers and ensure that they are satisfied;
▬ to ensure the success of the project. ▬ to submit the final report
What have we learnt?
■ software project management is a crucial activity ■ software projects are different from other projects ■ software cost is controlled via a good PM approach ■ a superb team is needed to properly deliver it
■ an efficient project manager is needed to deliver it