Basics of Software Project Management

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Basics of software project management

What is Project?

A project is a group of tasks that need to complete to reach a clear result. A project
also defines as a set of inputs and outputs which are required to achieve a goal.
Projects can vary from simple to difficult and can be operated by one person or a
hundred.

Projects usually described and approved by a project manager or team executive.


They go beyond their expectations and objects, and it's up to the team to handle
logistics and complete the project on time. For good project development, some
teams split the project into specific tasks so they can manage responsibility and
utilize team strengths.

What is software project management?

Software project management is an art and discipline of planning and supervising


software projects. It is a sub-discipline of software project management in which
software projects planned, implemented, monitored and controlled.

It is a procedure of managing, allocating and timing resources to develop computer


software that fulfills requirements.

In software Project Management, the client and the developers need to know the
length, period and cost of the project.

Prerequisite of software project management?

There are three needs for software project management. These are:

1. Time
2. Cost
3. Quality

It is an essential part of the software organization to deliver a quality product,


keeping the cost within the client?s budget and deliver the project as per schedule.
There are various factors, both external and internal, which may impact this triple
factor. Any of three-factor can severely affect the other two.
Project Manager

A project manager is a character who has the overall responsibility for the
planning, design, execution, monitoring, controlling and closure of a project. A
project manager represents an essential role in the achievement of the projects.

A project manager is a character who is responsible for giving decisions, both large
and small projects. The project manager is used to manage the risk and minimize
uncertainty. Every decision the project manager makes must directly profit their
project.

Role of a Project Manager:

1. Leader

A project manager must lead his team and should provide them direction to make
them understand what is expected from all of them.

2. Medium:

The Project manager is a medium between his clients and his team. He must
coordinate and transfer all the appropriate information from the clients to his team
and report to the senior management.

3. Mentor:

He should be there to guide his team at each step and make sure that the team has
an attachment. He provides a recommendation to his team and points them in the
right direction.

Responsibilities of a Project Manager:


1. Managing risks and issues.
2. Create the project team and assigns tasks to several team members.
3. Activity planning and sequencing.
4. Monitoring and reporting progress.
5. Modifies the project plan to deal with the situation.
Activities

Software Project Management consists of many activities, that includes planning of


the project, deciding the scope of product, estimation of cost in different terms,
scheduling of tasks, etc.

The list of activities are as follows:

1. Project planning and Tracking


2. Project Resource Management
3. Scope Management
4. Estimation Management
5. Project Risk Management
6. Scheduling Management
7. Project Communication Management
8. Configuration Management

Now we will discuss all these activities -

1. Project Planning: It is a set of multiple processes, or we can say that it a task


that performed before the construction of the product starts.

2. Scope Management: It describes the scope of the project. Scope management is


important because it clearly defines what would do and what would not. Scope
Management create the project to contain restricted and quantitative tasks, which
may merely be documented and successively avoids price and time overrun.

3. Estimation management: This is not only about cost estimation because


whenever we start to develop software, but we also figure out their size(line of
code), efforts, time as well as cost.

If we talk about the size, then Line of code depends upon user or software
requirement.

If we talk about effort, we should know about the size of the software, because
based on the size we can quickly estimate how big team required to produce the
software.

If we talk about time, when size and efforts are estimated, the time required to
develop the software can easily determine.
And if we talk about cost, it includes all the elements such as:

o Size of software
o Quality
o Hardware
o Communication
o Training
o Additional Software and tools
o Skilled manpower

4. Scheduling Management: Scheduling Management in software refers to all the


activities to complete in the specified order and within time slotted to each activity.
Project managers define multiple tasks and arrange them keeping various factors in
mind.

For scheduling, it is compulsory -

o Find out multiple tasks and correlate them.


o Divide time into units.
o Assign the respective number of work-units for every job.
o Calculate the total time from start to finish.
o Break down the project into modules.

5. Project Resource Management: In software Development, all the elements are


referred to as resources for the project. It can be a human resource, productive
tools, and libraries.

Resource management includes:

o Create a project team and assign responsibilities to every team member


o Developing a resource plan is derived from the project plan.
o Adjustment of resources.

6. Project Risk Management: Risk management consists of all the activities like
identification, analyzing and preparing the plan for predictable and unpredictable
risk in the project.

Several points show the risks in the project:


o The Experienced team leaves the project, and the new team joins it.
o Changes in requirement.
o Change in technologies and the environment.
o Market competition.

7. Project Communication Management: Communication is an essential factor


in the success of the project. It is a bridge between client, organization, team
members and as well as other stakeholders of the project such as hardware
suppliers.

From the planning to closure, communication plays a vital role. In all the phases,
communication must be clear and understood. Miscommunication can create a big
blunder in the project.

8. Project Configuration Management: Configuration management is about to


control the changes in software like requirements, design, and development of the
product.

The Primary goal is to increase productivity with fewer errors.

Some reasons show the need for configuration management:

o Several people work on software that is continually update.


o Help to build coordination among suppliers.
o Changes in requirement, budget, schedule need to accommodate.
o Software should run on multiple systems.

Tasks perform in Configuration management:

o Identification
o Baseline
o Change Control
o Configuration Status Accounting
o Configuration Audits and Reviews

People involved in Configuration Management:


Project Management Tools

To manage the Project management system adequately and efficiently, we use


Project management tools.

Here are some standard tools:

Gantt chart

Henry Gantt developed the Gantt Chart in 1917. Gantt chart is a handy tool when
you want to see the whole landscape of either one or multiple projects. It helps you
to view which functions are dependent on one another and which event is coming
up.

Gantt charts are primarily used to allocate resources to activities. The funds
allocated to activities include staff, hardware, and software. Gantt charts are useful
for resource planning. A Gantt chart is a particular type of bar chart where each bar
represents an activity. The bars are drawn along a timeline. The distance of each
bar is proportional to the duration of time planned for the corresponding event.
Gantt charts are used in software project management are an enlarged version of
the regular Gantt charts. In the Gantt charts used for software project management,
each bar subsists of a white part and a shaded section. The shaded part of the bar
displays the length of time every task is estimated to take. The white part displays
the slack time, that is, the current time by which a method must be completed. A
Gantt chart representation for the MIS problem, as shown in fig:

PERT chart

PERT (Project Evaluation and Review Technique) charts contain a network of


boxes and arrows. The boxes show activities, and the arrows represent function
dependencies. PERT chart represents the numerical variations in the plan estimates
assuming a normal distribution. Thus, in a PERT chart consist of making a single
estimate for each function, pessimistic, likely, and optimistic size is made. The
boxes of PERT charts are generally annotated with the pessimistic, likely, and
optimistic estimates for each method. Since all possible completion times between
the minimum and maximum period for each process has to be treated, there are not
one but many critical ways, depending on the permutations of the estimates for
each purpose. This makes the analytical path method in PERT charts very
complicated. A critical way in a PERT chart is shown by utilizing thicker arrows.
The PERT chart representation of the MIS problem as shown in fig. PERT charts
are a more sophisticated method of activity chart. Inactivity diagrams only the
estimated method durations are represented. Since the actual time might vary from
the estimated time, the utility of the activity diagrams is finite.

Gantt chart representation of a project record is useful in planning the usage of


resources, while PERT chart is useful for monitoring the proper progress of
activities. Also, it is easier to identify parallel operations in a project utilizing a
PERT chart. Project managers use to determine the parallel activities in a project
for assignment to various engineers.

Advantage of PERT

It forces the manager to plan.

It shows the interrelationships among the tasks in the project and, in particular,
clearly identifies the critical path of the project, thus helping to focus on it.
It exposes all possible parallelism in the activities and thus helps in allocating
resources.

It allows scheduling and stimulation of alternative schedules.

It enables the manager to monitor and control the project.

Logic Network

The Logic Network shows the order of activities over time. It shows the sequence
in which activities are to do. Distinguishing events and pinning down the project
are the two primary uses. Moreover, it will help with understanding task
dependencies, a timescale, and overall project workflow.

Product Breakdown Structure

Product Breakdown Structure (BBS) is a management tool and necessary a part of


the project designing. It's a task-oriented system for subdividing a project into
product parts. The product breakdown structure describes subtasks or work
packages and represents the connection between work packages. Within the
product breakdown Structure, the project work has diagrammatically pictured with
various types of lists. The product breakdown structure is just like the work
breakdown structure (WBS).

Work Breakdown Structure

Work Breakdown Structure (WBS) is used to decompose a given function set


recursively into small activities. WBS provides a notation for representing the
significant tasks that need to be carried out to solve a problem. The problem name
labels the root of the tree. Each node of the tree is destroyed down into smaller
activities that are building the children of the node. Each activity is recursively
decomposed into smaller sub-activities until at the leaf level; the activities require
approximately two weeks to develop, as shown in fig represents the WBS of MIS
(Management Information System) software. While breaking down a function into
smaller tasks, the manager has to make some hard decisions. If a task is broken
down into a large number of minimal activities, these can be carried out
independently. Thus, it becomes feasible to develop the product faster (with the
help of additional workforce). Therefore, to be able to do a project in the least
amount of time, the manager needs to break the vital function into smaller ones,
expecting to find more parallelism. However, it is not useful to subdivide tasks into
units which take less than a week or two to execute. Excellent subdivision measure
that a disproportionate amount of time must be spent on preparing and revising
various charts.

You might also like