software project management

Introduction –: A project is well defined task which is a collection of several operations done in order to achieve a goal. Like software development and delivery. A project has many character as like..

  1. Every project may have a unique and distinct goal
  2. Project is not a routine activity or day to day operation.
  3. project comes with start and end time.
  4. Project ends when its goal is achieved. Hence it is a temporary phase in the lifetime or an organization.
  5. project needs adequate resources in terms of time manpower finance material and knowledge bank.

Software project -: A software project is the complete procedure of software development from requirement gathering to testing and maintenance carried out according to the execution methodologies in a specified period of time to achieve intended software product.

Need of software project management-: Software development is a kind of all new stream in world business and there is very little experience in building software product. Most software product are tailor made to fit client ‘s requirements. The most important is that the underlying technology changes and advances so frequently and rapidly that the experience on one product may not be applied to the other one. All such business and environmental constraint bring risk in software development hence it is essential to manage software project efficiently.

Software Project Manger-: This is a person who undertakes the responsibility of executing the software project. It is thoroughly aware of all the phases of SDLC that the software would go through. The project manager may never directly involve in producing the end product but he control and manages the activities involved in production.

A project manager closely monitors the development process prepares and execute various plan arrange necessary and adequate resources maintains communication among all team member in order to address issues of cost budget,resources,time,quality and customer satisfaction.

The responsibility that a project manager..

Managing the People

  1. Act as project leader
  2. Lesion with stakeholder
  3. Managing human resources
  4. Setting up reporting hierarchy etc

Managing Project

  1. Defining and setting up project scope
  2. Managing project management activities
  3. Monitoring progress and perform
  4. Risk analysis at every phase
  5. Take necessary step to avoid or come out of problems
  6. Act as project spokesperson

Software project management activity-: There are number of activities which contains planning of project,decoding scope of software product,estimation of cost in various terms,scheduling of tasks and events and resources management. Project management activity are included

  1. Project Planning
  2. Scope Management
  3. Project Estimation

Project Planning-: Software project planning is a task which is performed before the production of software actually starts. It is there for the software production but involves no concentrate activity that has any direct connection with the software production rather it is a set of multiple process which facilitates software production project planning may include the following.

Scope Management-: It defines scope of the project this includes all the activities process need to be done in order to make a deliverable software product.Some management is essential because its creates boundaries of the project by clearly defining what would be done in the project and what would not be done.This makes project to contain limited and quantifiable tasks which can easily be documented and in turn avoid cost and time overrun. During the project scope management there are some requirement as like

  1. it is necessary to define the scope,
  2. decide its verification and control
  3. Divide the project into various into various smaller part for ease of management
  4. Verify the scope
  5. Control the scope by incorporating changes to the scope

Project Estimation -: For an effective management accurate of various measures is a must. With the correct estimation managers can manage and control the project more efficiently and effectively. project estimation may involve the following…

  • Software size estimation-: Software size may be estimated either in terms of Kilo Line of code(KLOC) or by calculating number of function points in the software. Line of code depend upon coding practices.Function points vary according to the user or software requirement.
  • Effort estimation -: The manager estimates efforts in terms of personnel requirement and man hour requirement to produce the software. For efforts estimation software size should be known. This can either be derived be manager experience historical data of organization or software size can be converted into efforts by using some standard formula.
  • Time estimation -: Once size and efforts are estimated the time require to produce the software can be estimated.Efforts required is segregated into sub categories as per the requirement specification and inter-dependency of various components of software.Software tasks are divided into smaller tasks activities or events by work breakthrough structure. The tasks are scheduled on day to day basis or in calendar months.
  • Cost estimation-: This might be considered as the most difficult of all because it depends on more elements than any of the previous ones. For estimating project cost it is require to consider ..as like Size of the software,software quality,hardware, additional software or tools, licence , skilled personnel with task specific skills,travel involved, communication and training support etc.

Project Estimation Techniques -: There are two type project estimation techniques. These are the ..

  1. Decomposition Technique
  2. Empirical estimation Technique

Decomposition Technique-: This technique assumes the software as a product of various compositions. There are two main model of this technique

  • Line of code-: The estimation is done on behalf of number of line of codes in the software product.
  • Function points-: Here the estimation is done on behalf of number of function points in the software product.

Empirical estimation Technique-: This technique uses empirically derived formula to make estimation.These formula are based on LOC or FPs.

  • Putnam Model-: This model is made by LawrenceH.putname which is based one Norden’s frequency distribution. putnam model maps time and efforts required with software size.
  • COCOMO model -: Its full name Constructive Cost Model developed by Barry W. Bohem. It divides the software product into three categories of software: First is the organic,second is semi-detached and last three is embedded.

Project Scheduling -: It’s refers to road-map of all activities to be done with specified order and within time slot allotted to each activity. Project managers tend to define various task and project milestone and then arrange them keeping various factors in mind. They look for tasks like in critical path in the schedule which are necessary to complete in specific manner and strictly within the time allocated. Arrangement of tasks which lies out of critical path are less likely to impact over all schedule of the project. For scheduling a project these are necessary

  • Break down the project tasks into smaller manageable form
  • find out various tasks and correlate them
  • estimate time frame require for each task
  • divide time into work units
  • assign adequate number of work units for each task
  • calculate total time required for the project from start to finish

Resource Management -: All element used to develop a software product may be assumed as resources for that project. This may include human resource, productive tools and software libraries.

The resource are available in limited quantity and stay in the organization as a pool of assets. The shortage of resources hampers development of the project and it can lag behind the schedule. Allocation extra resources increase development cost in the end.It is therefore necessary to estimate and allocate adequate resources for the project. Resources management include are..

  • Defining proper organization project be creating a project team and allocating responsibilities to each team member.
  • Determining resources required at a particular stage and their availability.
  • Manage Resources be generating resources request when they are required and de-allocating them when they are no more needed.

Project Risk Management -: Risk management involve all activities pertaining to identification,analyzing and making provision for predictable and non predictable risk in the project. Risk are involve following reason….

  • Experience 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, environment changes,business competition.

Risk Management Process -: There are following activities are involve the risk management…

Identification -: Make not of all possible risk which may occur in the project.

Categorize –categorize known risk into high ,medium and low risk intensity as per their possible impact on the project.

Manage-: Analyze the probability of occurrence of the risk at various phases. Make plan to avoid or face risks. Attempt to minimize their side effects.

Monitor-: Closely monitor the potential risks and their early symptoms. Also monitor the effective steps taken to mitigate or avoid them.

Project Execution and Monitoring -: In this phase the task describe in project plans are execute according to their schedules. Execution needs monitoring in order to check whether everything is going according to the plan. Monitoring is observing to check the probability of risk and taking measures to address the risk or report the status of various task. The task are ..

  • Activity Monitoring –: All activities schedule within some task can monitored on day to day basis. when all activities in a task are completed it s is considered as completed.
  • Status Report -: The report contain status of activities and tasks completed within a given time frame, generally a week. Status can be marked as finished pending or work in progress etc.
  • Milestone checklist -: Every project is divide into multiple phases where major tasks are performed based on the phase of SDLC. This milestone checklist is prepared once every few weeks and reports the status of milestone.

Project Communication Management -: Communication play a very important role in the success of any project. It bridges gaps between client and the organization, among the team member as well as other stake holder in the project such as hardware suppliers. Communication can be oral or written

Configuration Management -: It is a process of tracking and controlling the changes in software in terms of the requirement, design, function and development of the product.

IEEE define it as “the process of identifying and define the terms in the system controlling the change of these items throughout their life cycle recording and reporting the status of items and change request and verifying the completeness and correctness of items.

Once the SRS is finalized there is less chance of requirement of changes from user. If they occur the changes are addressed only with prior approval of higher management as there is a possibility of cost and time overrun.

Baseline-: A phase of SDLC is assumed over if it baseline. for example baseline is a measurement that define completeness of a phase. A phase is baselined when all activities pertaining to it are finished and well documented .If it was not the final phase it’s output would be used in next immediate phase.

Configuration management is a discipline of organization administration which takes care of occurrence can any changes as like process,requirement,technological strategical etc. after a phase is baselined.

Change Control-: It is function of configuration management which ensures that all change made to software system are consistent and made as per organizational rules and regulation. A change in the configuration of product goes through following steps…

  • Identification-: A change request arrives from either internal or external source.When change request is identified formally it is properly documented
  • Validation-: Validity of the change request is checked and its handling procedure is confirmed
  • Analysis-: The impact of change request is analyzes in terms of schedule cost and require efforts. Overall impact of the prospective change on system is analyzed.
  • Control-: If the prospective change either impacts too many entities in the system or it is unavoidable it is mandatory to take approval of high authorities before change is incorporation or not.If it is not change request is refused formally.
  • Execution -: If the previous phase determines to execute the change request this phase takes appropriate action to execute the change through a thorough revision if necessary.
  • Close request-: The change is verified fro correct implementation and merging with the rest of the system. this newly incorporated change in the software is documented properly and the request is formally closed.

Project Management Tools-: There are many tools available in project management. These are ..

1-Gantt Chart -: It was devised by Henry Gantt in 1917. It represent project schedule with respect to time periods. It is a horizontal bar chart with bars representing activities and time scheduled for the project activities.

2-Pert chart -: Program evaluation and review technique chart is a tool that depicts project as network diagram. It is capable of graphically representation main events of project in both parallel and consecutive ways. Events which occur one after another show dependency of the later event over the previous one.

3-Resource Histogram -: It is a graphical tool that contains bar or chart representing number of resources required over time for a project event. Resource histogram is an effective tool for staff planning and coordination.

4-Critical path analysis -: This tools is useful in recognizing interdependent tasks in the project. It also helps to find out the shortest path or critical path to complete the project successfully.

Leave a Comment