Software Project Management - Software Engineering

What is Software Project Management?

The development of software by an IT professional is basically divided into two parts -

  • Software Creation
  • Software Project Management

A collection of several operations for a well-defined task for the purpose of achieving a goal is known as a project. The characteristics of a project are:

  • Each project has its own unique and distinct goal.
  • Project is not considered as day-to-day operations.
  • Every project has its own start and end time.
  • As the goal is achieved, the project ends and hence is considered as temporary in the organization.
  • Adequate resources such as time, manpower, finance, material and knowledge are essential for a project.

What is Software Project?

The complete process of development of the software starting from gathering of the requirement till testing and maintenance, which is carried out in accordance with the available methodologies of execution in a mentioned time frame for achieving the desired software product in known as software project.

What is the need of software project management?

Development of software is new concept in the present business world and hence there is no much experience in producing the software products. The software products are developed as per the requirements of the clients. The experience of one product becomes outdated to other products because of the rapidly changing environment and technological advances. This may increase the risk in development of the software and hence the software projects need to be managed efficiently.

Time Cost Quality

Software project is accompanied by many constraints. The triple constraints concept of the software project is shown in the image above. A quality product needs to be delivered by lowering and maintaining the cost within the specified constraints and the project need to be delivered within the promised time. These constraints are impacted by several internal and external factors. Among these three also, any one of them can have major impact on the other two.

Hence it is very important that the software project management has to incorporate the requirements of the user within the estimated budget and within the specified time.

Who is a Software Project Manager?

A person who is responsible for executing the software project is known as software project manager. Software project manager has complete information and knowledge about the different phases of SDLC which the software will go through. The activities that are involved in the production are controlled and managed by the software project manager but he never directly involves in software production.

The process of development is monitored by the project manager, different plans and prepared and executed, resources are arranged, communication among the team members is maintained and the issues with respect to cost, budget, resources, quality etc are addressed.

Software Project manager have a wide range of responsibilities to be carried out. Some of such responsibilities are -

Managing People

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

Managing Project

  • Defining and setting up project scope
  • Managing project management activities
  • Monitoring progress and performance
  • Risk analysis at every phase
  • Take necessary step to avoid or come out of problems
  • Act as project spokesperson

What are the different Software Management Activities?

A variety of activities come under the umbrella of Software project management. Some of such activities include project planning, defining the scope of software product, cost estimation, tasks and event scheduling and management of resources. The activities of project management include -

  • Project Planning
  • Scope Management
  • Project Estimation

Project Planning

Before staring the production of software, the task of project planning is performed. Planning includes the set of multiple processes, facilitating software production. It is only a task and not an activity which has direct impact on the production of software.

Scope Management

The scope of the project is defined by scope management. The scope of the project includes all the activities involved in the project, the required process for making a deliverable software product. The scope creates the boundaries of the project as it defined what is done and what is not done in the project and hence scope management is very crucial. The time and cost overrun can be avoided and the tasks are made quantifiable and enable to easily document the tasks.

During Project Scope management, it is essential to -

  • Define the scope
  • Decide its verification and control
  • Divide the project into various smaller parts for ease of management.
  • Verify the scope
  • Control the scope by incorporating changes to the scope

Project Estimation

Various measures need to be estimated accurately for an effective project management. A project can be managed and controlled efficiently and effectively by using correct estimations.

Project estimation may involve the estimation of the following:

Software size estimation

The size of the software is estimated either in terms of KLOC (Kilo Line of Code) or can also be estimated by calculating the function points included in the software. As per the requirement of the user or the software, the function points vary and the Lines of code depend on the coding practices.

Effort estimation

In accordance with the requirement of the personnel and man-hour for producing the software, the efforts are estimated by the managers. The size of the software is very essential for estimating the efforts. The efforts can be estimated either using the historical data of the organization or by applying some of the formula, the size of the software can be converted into efforts.

Time estimation

It is also essential to estimate the time required for producing the software. By using the Work Breakthrough Structure (WBS) the software tasks are divided into smaller tasks and which are being scheduled on a day-to-day basis or monthly basis.

The time required for completing all the tasks is added together for obtaining the total time required for completing the project.

Cost estimation

Estimation of costs depends on many elements and hence is considered difficult that estimation of other factors. The following elements need to be considered for estimating the cost.

  • Size of software
  • Software quality
  • Hardware
  • Additional software or tools, licenses etc.
  • Skilled personnel with task-specific skills
  • Travel involved
  • Communication
  • Training and support

What are the different Project Estimation Techniques?

Project estimation is done in terms of various parameters such as size, effort, time and cost.

The above mentioned factors can be estimated by using two different techniques by a project manager. They are -

Decomposition Technique

Under this technique, the software is assumed to be a composition of various components. The main models of this technique are -

  • Line of Code – Depending on the number of line of codes in the software product, estimation is carried out.
  • Function Points – Depending on the number of function points in th software product, estimation is carried out.

Empirical Estimation Technique

Under this technique, estimation is done by using the empirical formula. The formulae are based on LOC or FPs. The models of this technique are -

Putnam Model

The model is based on the frequency distribution of Norden. Under this model, the effort and time required are mapped with the size of the software.

COCOMO

COCOMO stands for COnstructive COst Model. Under this model the product is divided into three different categories - organic, semi-detached and embedded.

What is Project Scheduling?

The roadmap of all the project activities that are carried out within the specified time and within the specified order is known as project scheduling. Various tasks and milestones of the project are defined by the project managers and accordingly they are arranged. They mainly concentrate on the tasks that are in the critical path of the schedule that are to be completed in a specified time and specified manner. The tasks that lie out of the critical path do not impact the project schedule.

It is essential that some of the points need to be considered while scheduling a project. They are -

  • The tasks of the project are broken down into smaller form which can be comfortably managed.
  • Different tasks are identified and are correlated.
  • The time frame required for each of the task is estimated.
  • The time is divided into work-units.
  • Each task need to be assigned with adequate number of work-units.
  • The total time of the project from start to finish is calculated.

What is Resource management?

The resources of a project constitute all the elements that are essential for developing a software product including software libraries, human resource and productive tools.

The resources remain in the organization and are considered as a pool of assets. The availability of the resources is in limited quantity and hence the project development is hampered by the shortage of resources. If extra resources are allocated that may lead to increase in the development cost. Hence adequate resources need to be estimated and allocated for the project.

Resource management includes -

  • A project team is created and each member of the team are allocated with the responsibilities and thus an organization project is properly defined.
  • The resources required at a particular stage are determined.
  • When resources are required, resource request is generated and the resources are de-allocated when they are not needed.

What is Project Risk Management?

The activities related to the project such as identifying and analyzing the predictable and non-predictable project risk is known as project risk management. The following are associated Risk.

  • Experienced staff leaving the project and new staff coming in.
  • Change in organizational management.
  • Requirement change or misinterpreting requirement.
  • Under-estimation of required time and resources.
  • Technological changes, environmental changes, business competition.

What is Risk Management Process?

The risk management process involves the following activities. They are -

  • Identification – All the possible risks that are likely to occur in the project are noted.
  • Categorize – The risks thus identified are categorized into high, medium and low risk with respect to their impact on the project.
  • Manage – The chances of occurrence of the risk at different phase of the project is analyzed. The side-effects are minimized and the risks are avoided by planning.
  • Monitor – The potential risk and the symptoms are monitored.

What is Project Execution & Monitoring?

In the project plans the tasks are described and the described tasks are executed as scheduled.

To check if everything is going as per the plan, monitoring is required. The risk probability is monitored and measures are taken for addressing the risk and the status of the different tasks is reported.

Some of such measures include -

  • Activity Monitoring – On a daily basis, the activities that are being scheduled with some task ate monitored. The task is considered to be complete, when all the activities of the task are completed.
  • Status Reports – For a specific given time frame, the status of all the activities and tasks that are completed is provided in the status report. The status is presented in three different forms – finished, pending or work-in-progress.
  • Milestones Checklist – The project is divided into different phases and on the basis of SDL phases, major tasks are performed. Once in every few weeks the milestone checklist is prepared.

What is Project Communication Management?

The success of the project depends on effective communication. The gap between the organization and the client is bridged by communication. Also the gap between the project stake holders and the team members is bridged by communication.

The process of communication management has the following steps -

  • Planning – All the project stakeholders are identified and the communication mode is identified. The requirement of any additional facilities of communication is considered.
  • Sharing – The correct information need to be shared with the correct person on correct time. This facilitates in updating about the progress and status of the project.
  • Feedback – The status and performance reports are created by using different feedback mechanism. This facilitates in passing the stakeholders inputs as feedback to the project managers.
  • Closure – The administrative closure is announced for updating by the stakeholders through emails, at the end of each of the event or at the end of each of the phase of SDLC or at the end of the project.

The team is moved to next phase or next project after closure.

What is Configuration Management?

The changes in the software with respect to design, functions, requirements, functions and product development are tracked and controlled by a process known as configuration management.

Configuration management as defined by IEEE is a process by which the item of the system is identified and defined and the changes of these items are controlled during its life cycle, the status of the item and the requests for change are recorded and item completeness and correctness is verified is known as configuration management.

Baseline

The completeness of the phase is defined by a measurement known as baseline. When all the activities belonging to a particular phase are completed and well documented, that particular phase is baselined. If the activity is not in the final phase, then the output of that phase is used in the next phase.

After a phase is baselined, if any change occurs, the occurrence is managed by configuration management. The changes in the software are checked by CM.

Change Control

The changes that are made to the software system are ensured that they are as per the rules and regulations of the organization. This is ensured by a function of configuration management known as change control.

The steps for a change in configuration are as follows -

  • Identification – The change request from either internal source or external source is a formal one, the change is documented.
  • Validation – Check for the validity of the change request and confirm the handling procedure.
  • Analysis – Analyze the impact of the change request. The analysis is done in terms of required cost and efforts and the schedule. Also analyze the overall impact of the prospective change on the system.
  • Control – Prior to incorporating the change in the system, approval from higher authorities need to be taken. The authority decided on whether the change is worth incorporating or not. And if the authorities feel that it is not that worthy, the change is formally refused.
  • Execution – For the change request that is decided to execute, the change is executed by taking appropriate actions at this phase by performing a thorough revision.
  • Close request – The implementation of the change along with its merging with the system is verified. The new change that is incorporated in the system is documented and the request is closed.

What are Project Management Tools?

Some tools are made available which facilitate in effective project management. They are as follows -

Gantt Chart

The schedule of the project is represented with respect to the time periods by Gantt charts which are developed by Henry Gantt (1917). It is usually represented by using horizontal bar charts. The bars represent the activities and the scheduled time for the activities of the project.

Gantt Chart

PERT Chart

The tool by which the project is depicted as a network diagram is PERT (Program Evaluation & Review Technique) chart. The main events of the project are graphically represented in parallel as well as in consecutive way. The dependency of the events resemble that events occur one after the other.

PERT Chart

The nodes with numbers are events and labelled arrows are used for connecting the nodes. The sequence of the tasks is depicted by arrows.

Resource Histogram

For a project event the number of resources required for a specific period of time is graphically represented either in bars of charts by the graphical tool known as Resource Histogram. For staff planning and coordination, resource histogram proves to be an effective tool.

Histogram Table

Histogram Chart

Critical Path Analysis

The interdependent tasks of the project are recognized by the tool known as critical path analysis. For the successful completion of a project, the shortest or the critical path is identified by this tool. A specific time frame is assigned to each of the event. The events are assumed to proceed only when the previous is completed and the dependency of the event is displayed by this analysis.

In accordance with the earliest possible start time, the events are arranged. Here critical path is the path between the start and the end node implying that all the events are to be executed in the specified order.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Software Engineering Topics