This document discusses resource management for software development projects. It defines different types of resources like human, computer, time and money resources. It also categorizes resources based on availability, place, elasticity and whether they are shared or dedicated. The document outlines skill sets needed for human resources and key resource management activities like planning, utilization and deallocation. It describes resource leveling techniques to efficiently allocate limited resources across multiple projects.
2. Resource Management
• Resources are always limited-not just in software development projects, but
for projects all over.
• Pressure mounts on resource managers who work in software project
management to complete any given project ASAP.
• Human resources and computer resources are always limited as they service
multiple projects.
• The feasibility of deploying more resources to reduce the calendar time has
limited applicability in software development projects.
• What we really need to do is manage the available resources effectively
3. Resource Management
Consider the use the following resources in software development:
• Time
• Human Resources – the most crucial of all the resources
• Computer Resources
• Money
4. 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.
5. Classification of Resources
• Resources can be viewed from four standpoints:
2. Place of Availability
• Immovable – available wherever they are situated – they cannot 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.
6. Classification of Resources
• Resources can be viewed from four standpoints:
3. Elasticity:
• Elastic Resources – their supply can be increased or decreased – such
as human resources and money.
• Plastic Resources – their supply cannot be extended, such as time.
7. Classification of Resources
• Resources can be viewed from four standpoints:
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.
8. 1. Skill Sets Needed From the Resources
• Use different skill sets for human resources required for software development
projects, such as:
• Programmers – to develop the software programs needed for the project –
experts in the chosen programming language.
• Graphic Designers – to design the graphics and the web pages / front-end
required for the project.
• Database Administrator – to design the database and assist the programmers
in optimizing data retrieval queries so that the response time is shorter.
• System Architects – to develop the software architecture for the project.
• System Integrators – to integrate various components of the project and
ensure that the end product is built conforming to the specifications.
• Functional Experts – who are experts in the application domain of the project.
9. 2. Perform the following Resource
management activities:
1. Planning Activities:
• Estimate requirement of resources
• Request for requisite resources
• Schedule resource utilization
• Resource Leveling
10. 2. Perform the following Resource
management activities:
2. Utilization Activities:
• Allocation of resources to various activities
• Ensure the activities are performed
11. 2. Perform the following Resource
management activities:
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
12. Resource Leveling
• Resource leveling is a technique in project management that overlooks
resource allocation and resolves possible conflict arising from over-
allocation.
• This will benefit the organization without having to face conflicts and not
being able to deliver on time.
• Resource leveling is considered one of the key elements to resource
management in the organization.
• An organization starts to face problems if resources are not allocated
properly i.e., some resource may be over-allocated whilst others will be
under-allocated. Both will bring about a financial risk to the organization.
13. Two Key Elements of Resource
leveling
• As the main aim of resource leveling is to allocate resource efficiently,
so that the project can be completed in the given time period.
• Resource leveling can be broken down into two main areas:
1. Projects that can be completed by using up all resources
2. Projects that can be completed with limited resources
Projects, which use limited resources can be extended for over a period
of time until the resources required are available.
14. Structure of Resource leveling
Many organizations have a structured hierarchy of resource leveling. A work-
based structure is as follows:
• Stage/Phase
• Task/Deliverable
All of the above-mentioned layers will determine the scope of the project and
find ways to organize tasks across the team.
In addition, depending on the three parameters above, the level of the
resources required (seniority, experience, skills, etc.) may be different.
15. Establishing Dependencies
The main reason for a project manager to establish dependencies is to ensure
that tasks get executed properly.
By identifying correct dependencies from that of incorrect dependencies
allows the project to be completed within the set timeframe.
Here are some of the constraints that a project manager will come across
during the project execution cycle. The constraints a project manager will face
can be categorized into three categories.
• Mandatory - These constraints arise due to physical limitations such as
human strength.
• Discretionary - These are constraints based on preferences or decisions
taken by teams.
• External - Often based on needs or desires involving a third party.
16. Resource leveling Techniques
• Fast tracking - This performs critical path tasks. This buys time. The
prominent feature of this technique is that although the work is
completed for the moment, possibility of rework is higher.
• Crashing - This refers to assigning resources in addition to existing
resources to get work done faster, associated with additional cost
such as labor, equipment, etc.
17. Conclusion
• Resource leveling is aimed at increasing efficiency when undertaking
projects by utilizing the resources available at hand. Proper resource
leveling will not result in heavy expenditure.
• The project manager needs to take into account several factors and
identify critical to non-critical dependencies to avoid any last minute
delays of the project deliverables.