Resource Management in Software Project Management - Part I

Written by:  • Edited by: Jean Scheid
Updated Jun 26, 2010

This article deals with management of resources in software project management. In part one of this three part series, we discuss classifications and skill sets.

Introduction

Resources are always limited, not just in software development projects, but for projects all over. Decisions to explore software development are taken only when business demands are not met by existing methods of working. Pressure mounts on resource management in software project management to complete the project ASAP. This pressure limits the time available for project execution. Human resources and computer resources are always limited as they service multiple projects. Therefore, the onus on a software project manager is to marshal his resources carefully, and use them diligently, to achieve the objectives set for the project. Second, the feasibility of deploying more resources to reduce the calendar time, has limited applicability in software development projects. Therefore we need to manage the available resources effectively.

Consider the use the following resources in software development:

  1. Time
  2. Human Resources – most crucial of all the resources
  3. Computer Resources
  4. Money

Classification of Resources

Resources can be viewed from four standpoints:

1. Availability

  • Recurring – such as human resources that are available in the same quantity day-after-day – spending these resources does not deplete them.
  • Depleting – like time and money – spending these resources depletes them.

2. Place of Availability

  • Immovable – available wherever they are situated – they can not be moved from place to place – such as computer resources.
  • Movable – these resources can be moved from place to place – such as human resources and money.

3. Elasticity

  • Elastic Resources – their supply can be increased or decreased – such as human resources and money.
  • Plastic Resources – their supply can not be extended, such as time.

4. Shared and Dedicated

  • Dedicated resources – these should be dedicated to the project for the required duration – such as computer systems, and programmers.
  • Shared resources – these are resources that are needed for short durations but would not be utilized for the entire duration of the project – such as DBAs (Database Administrators), programming language experts, functional specialists, etc.

Skill Sets Needed From the Resources

Use different skill sets for human resources required for software development projects, such as:

  1. Programmers – to develop the software programs needed for the project – experts in the chosen programming language.
  2. Graphic Designers – to design the graphics and the web pages / front-end required for the project.
  3. Database Administrator – to design the database and assist the programmers in optimizing data retrieval queries so that the response time is shorter.
  4. System Architects – to develop the software architecture for the project.
  5. System Integrators – to integrate various components of the project and ensure that the end product is built conforming to the specifications.
  6. Functional Experts – who are experts in the application domain of the project.

Next, perform the following resource management activities:

1. Planning Activities

2. Utilization Activities

  • Allocation of resources to various activities
  • Ensure the activities are performed

3. De-allocation and Release Activities

  • Performance appraisals for human resources
  • Reconciliation for monetary resources – planned vs. actual utilization
  • Document lessons learned in planning and utilization of resources including best and worst practices
  • Release resources

We'll look at each of these sections in detail throughout this three part series on resource management in project software management.


 
blog comments powered by Disqus
Email to a friend