Software Project Management The Beginner's Guid

Software Project Management: The Beginner’s Guide

Software Project Management

What is Software Project?

A Software Project is the complete process of software development from requirement gathering to testing and maintenance, carried out according to the execution methodologies, in a specified time to carry out the intended software product.

A project is a well-defined task, which is a combination of many operations done to achieve a goal (for example, software development and delivery). A Project can be given the following features.

  • Every project may have a unique and distinct purpose.
  • The Project is not an accustomed pursuit or day-to-day actions.
  • The project ends when its aim is achieved therefore it is not a permanent phase in the lifetime of an organization.
  • The project comes with an initial time and end time.

Need for Software Project Management.

Software is said to be an unusable product. Software development is one of the latest trends in global business and has little experience creating software products. Most software products are designed to meet the needs of the client.

Most importantly, basic technology changes so frequently and so rapidly that the experience of one product cannot be applied to another. All such business and environmental barriers threaten the development of software, so it is important to manage software projects effectively.

Software is an integral part of the organization’s ability to deliver a standardized product, keep its price within the client’s budget, and deliver the product as per time. There are many factors, both internal and external, that can affect this triple barrier triangle. Any of the three factors can have a profound effect on the other two.

Software Project Manager

A software project manager is a person who is responsible for carrying out a software project. A software project manager is well versed in all the steps of SDLC that this software will go through. The project manager can never be directly involved in the production of the final product but he controls and manages the activities involved in the production.

A project manager closely monitors the development process, prepares and executes various projects, arranges necessary and appropriate resources, resolves cost, budget, resources, time, quality, and customer satisfaction, and maintains communication between all team members. Let’s take a look at some of the responsibilities that project managers shoulders

Managing People

  • Work as project leader
  • Liaison with stakeholders
  • Managing human resources
  • Setting up reporting hierarchy etc.

Managing Project

  • Defining the scope of the project
  • Monitoring progress and performance
  • Risk analysis at each stage 
  • Managing project management activities
  • Act as project spokesperson

Software Project Management Activities

Software project management includes several activities, including project planning, software product scope, cost estimation in various terms, scheduling of tasks and events, and resource management. The activities may include:

  • Project Planning
  • Scope Management
  • Project Estimation

Project Planning

Software project planning is a task that is done before software development begins. It exists for software development but does not involve any tangible activity that has anything to do with software development. Rather, it is a combination of multiple processes, which facilitates the development of software. Project planning may include

Scope Management

Explain the scope of the project; This includes all activities, a process that must be done to make the software product deliverable. During this stage its necessary to: 

  • Define the scope
  • Verify the scope
  • Decide its verification and control
  • Divide the project into several different smaller parts for ease of management.

Project Estimation

For effective management, it is necessary to accurately evaluate different measures. With accurate estimates, administrators can manage and control the project more efficiently and effectively. This stage involves the following:

  • Effort estimation
  • Software size estimation
  • Time estimation
  • Cost estimation

Project Estimation Techniques

We talk about different parameters including project estimates such as size, effort, time, and cost. It includes two types of project estimation techniques

Decomposition technique: This technique assumes the software produces a variety of composition

There are two basic models

Line of code: In this model, Estimation is done by several lines of code in a software product.

Function points: In this model, Estimates are done by the number of function points in software products.

Empirical Estimation Technique: This technique uses an experimentally derived formula for estimating. These formulae based on LOC and FPs

Putnam model: The aforementioned model is created by Lawrence H. Putnam, this model is based on Norden’s frequency distribution (Rayleigh curve). Putnam model plans time and efforts needed with Software Size

COCOMO: The full representation of the COCOMO abbreviation is “COnstructive COst MOdel”, created by Barry W. Boehm. It distributes the software product into three sections of software: organic, semi-detached and embedded.

Project Scheduling

Project scheduling is a process in which all project activities can be done within time slots and in a specified order. This is important for scheduling the project: 

  • Break down the project tasks into a smaller, easy form
  • Find out numerous tasks and correlate them
  • The expected time required for all task
  • Divide time into work-units
  • Calculate the whole time required for the project from beginning to end

Resource Management

  1. Resource request generating by resource managing when they are required and cancel them when they are not needed
  2. Defining proper organization project by forming a project team and assigning responsibilities to each member of the team
  3. Determine resources required at a specific stage and their availability

Project Risk Management

In this process, it identifies and manages that predictable and unpredictable risk that occurs during project execution. Following risk are include

  • Experience Staff leaving the project
  • New staff coming in the project
  • Organizational Management Change
  • Strong competition in business 
  • Requirement Changes
  • Technological changes, etc

The risk management process includes the following steps 

  1. Identification
  2. Categorize
  3. Manage
  4. Monitor

Project Execution

In this stage, all the activities and task of the project are executed to finalize Execution measure include activity monitoring, status report, and milestone checklist.

Project Communication Management

It is the most important stage in project management. It can remove the communication barriers between the employee and the organization and create a friendly workspace. It may have the following steps

  • Planing
  •  sharing
  •  feedback
  •  closure

Configuration Management

Configuration Management is a process that includes baseline and change control  According to IEEE “The method during which identifying and explaining the things within the system, controlling the change of those items throughout their life cycle stages, recording and reporting the condition of items and change requests, and verifying the accuracy of items”.

Project Management Tools

The tools which are effective for project management is following 

  1. Gantt Chart
  2. PERT chart
  3. Resource Histogram
  4. Critical Path Analysis

 

Leave a Reply