100% found this document useful (1 vote)
222 views

Lecture 9: Resource Allocation: Software Development Project Management (CSC4125)

This document discusses resource allocation for a software development project management course. It defines resource allocation as assigning resources like labor, equipment, materials, etc. to project tasks. The key steps are identifying resource needs for each task, allocating resource types to activities, and generating resource schedules and histograms. Resource allocation aims to complete tasks effectively and economically while balancing resource usage. It may require prioritizing tasks, resolving resource clashes, and considering the project's critical path.

Uploaded by

Kasuki Shihonara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
222 views

Lecture 9: Resource Allocation: Software Development Project Management (CSC4125)

This document discusses resource allocation for a software development project management course. It defines resource allocation as assigning resources like labor, equipment, materials, etc. to project tasks. The key steps are identifying resource needs for each task, allocating resource types to activities, and generating resource schedules and histograms. Resource allocation aims to complete tasks effectively and economically while balancing resource usage. It may require prioritizing tasks, resolving resource clashes, and considering the project's critical path.

Uploaded by

Kasuki Shihonara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

SOFTWARE DEVELOPMENT PROJECT

MANAGEMENT
(CSC4125)

Lecture 9: Resource Allocation

1
What is Resource Allocation?
• Resource allocation is the process of assigning and
scheduling resources to project tasks.
– Should be done in the most effective and economical
manner
• After the activities have been identified using
various techniques and tabulated into a Work-
Breakdown, the resources need to be allocated to
complete the identified tasks. This process is
considered resource allocation.

2
Resource Allocation
• Allocation of resources to activities leads to –
– Review and modify the activity plan
– Revise stages
– Revise project completion dates

3
Schedules
 The final result of resource allocation will normally be a
number of schedules. These schedules will provide the basis
for the day-to-day control and management of the project.
• Activity schedule
– Indicating planned start and completion dates for each
activity
• Resource schedule
– Showing the dates on which each resource will be
required and the level of that requirement
• Cost schedule
– Showing planned cumulative expenditure incurred by
the use of resources over time

4
The Nature of Resources
• A resource is any item or person required for the
execution of the project.
• Some resources will be required for the duration of
the project (e.g. project manager) whereas others
might be required for a single activity (e.g. a specific
software developer).
• The project manager must concentrate on those
resources which, without planning, might not be
available when required.

5
Resource Categories
• In general, resources fall into one of the seven
categories –
1) Labor
2) Equipment
3) Materials
4) Space
5) Services
6) Time
7) Money

6
(1) Labor
• Members of the development project team; to
perform project activities.
– Project manager
– Systems analysts
– Software developers
– Test engineers
– Other support staff
– Any employee of the client organization who might be
required to undertake/participate in specific activities

7
(2) Equipment
• Used to permit the work of labor
• Workstations and other computing and office
equipment.

• Note: We must not forget that staff also need basic


equipment such as desks and chairs!

8
(3) Materials
• Materials are items that are consumed (rather than
equipment that is used) during the project.
– Consumed items , e.g. floppy disks
• They are of little consequence in most software
projects but can be important for some – software
that is to be widely distributed might require supplies
of disks to be specially obtained.

9
(4) Space
• Office space
– Room, cubicles
• For projects that are undertaken with existing staff,
space is normally readily available.
• However, if any additional staff (recruited/contracted)
should be needed then office space will need to be
found.

10
(5) Services
• Some specialist services –
– Telecommunication services
– Cleaning services

11
(6) Time
• Time is the resource that is being offset
against the other primary resources.
– Project timescales can sometimes be reduced by
increasing other resources and will almost
certainly be extended if they are unexpectedly
reduced
– Elapsed time can often be reduced by adding
more staff
– The most rigid item of all

12
(7) Money
• Money is a secondary resource – it is used to
buy other resources and will be consumed as
other resources are used.
– Money is the means by which one resource can be
converted to another. However, in practice this
may be problematic because of resource
constraints e.g. staff need time to become expert
in a new technology regardless of the amount of
money that might be available to buy expertise.

13
Resource Allocation

• Identify the resources needed for each activity


• Identify resource types - individuals are interchangeable
within the group
• Allocate resource types to activities and examine the
resource histogram

14
Resource Scheduling
• After all the required resources have been identified,
they need to be scheduled effectively.
• The earliest start dates, the latest start dates will
need to be taken into account to schedule resources
efficiently.
• Resources should be balanced throughout the
project.

15
Resource Allocation
• Note: At this point we have to assume that we are
dealing with, for example, ‘standard’ software
developers who have an average productivity. When
we allocate actual people we may find that we have a
trainee or a super-expert and this will affect
productivity. A short-coming in productivity in an
individual might be compensated for by a lower cost
(as would be expected with trainees).

16
Resource Histogram
• Resource histogram is specifically a bar chart that is
used for the purposes of displaying the specific
amounts of time that a particular resource is
scheduled to be worked on over a predetermined
and specific time period.
• The resource histogram helps us identify where the
demand for a resource exceeds the supply.
• If we use a tool such as MS Project, the tool will
generate the resource histograms for us.

17
Resource Histogram
 Commonly used during planning to indicate
possible problem areas.
• # of People (by category) vs. Week Number
• For each individual – estimated number of tasks
(including complexity) over weeks
• This helps in reducing work load sometimes to help the
individual recover from any heavy load

18
Resource Histogram for Systems Analysts
5

1 2 3 4 5 6 7
WEEK

• The resource histogram helps us identify where the demand for a


resource exceeds the supply

19
Resource Clashes
Resource clashes can be resolved by:
• Delaying one of the activities
– taking advantage of float to change start date
– delaying start of one activity until finish of the
other activity that resource is being used on
==> puts back project completion
• Moving resource from a non-critical activity
• Bringing in additional resource ==> increases costs

20
Prioritizing Activities
• Where more than one activity is competing for the same
limited resource at the same time then those activities
need to be prioritized.
• There are two main ways of doing this:
1) Total float priority – those with the smallest float have the
highest priority
2) Ordered list priority – this takes account of the duration of
the activity as well as the float

21
Prioritizing Activities
• Total Float Priority
– Activities are ordered according to their total float
– Activity with the smallest total float has the highest priority
– Activities are allocated resources in ascending order of total
float
– As scheduling proceeds, activities will be delayed (if resources
are not available at their earliest start dates) and total floats will
be reduced
– It is desirable to recalculate floats (and hence reorder the list)
each time an activity is delayed
– Changes to plan will require re-calculation of floats
Note: Float time = Slack time

22
Prioritizing Activities
 Ordered List Priority
• Activities that can proceed at the same time are
ordered according to a set of simple criteria.
• An example of this is Burman’s priority list, which
takes into account activity duration as well as total
float.

23
Burman’s priority list
Give priority to:
1. Shortest critical activity
2. Other critical activities
3. Shortest non-critical activity
4. Non-critical activity with least float
5. Non-critical activities

24
Resource Usage
• Need to maximize % usage of resources, i.e. reduce
idle periods between tasks.

• Need to balance costs against early completion date.

• Need to allow for contingency.

25
Critical path
• Resource scheduling will almost always change the activity network.
– Scheduling resources can create new critical path
• Scheduling resources can create new dependencies between activities –
recall critical chains
• It is best not to add dependencies to the activity network to reflect
resource constraints
– Makes network very messy
– A resource constraint may disappear during the project, but link
remains on network
• Instead, amend dates on schedule to reflect resource constraints

26
Allocating individuals to activities
• The initial ‘resource types’ for a task have to be
replaced by actual individuals.
• When allocating laborers to activities, we need to be
specific among individuals –
– Nature of software development
– Skill and experience influence
• Time taken
• Quality of the product

27
Resource Allocation Issues
 Factors to be considered in allocating individuals to
tasks:
• Availability
• Criticality
• Risk
• Training
• Team building

28
Factors to be considered in allocating individuals to tasks

• Availability – Is he/she available when required?


• Criticality – Allocation of experienced personnel to activities on the critical
path. (i.e. You would want to put your more experienced, ‘safer’, staff on
the critical activities).
• Risk –Allocating the most experienced staff to the highest-risk activities is
likely to have the greatest effect in reducing overall project uncertainties.
• Training – Allocate junior staff to appropriate non-critical activities where
there will be sufficient slack for them to train and develop skills.
• Team building – The selection of individuals must also take account of the
final shape of the project team and the way they will work together.
Identifying people who work well together can pay dividends; chopping
and changing plans all the time may in theory optimize project
performance, but can in practice be de-motivating for staff

29
Cost Schedules
• Calculating cost is straightforward where the organization has
standard cost figures for staff and other resources. Where this
is not the case, the project manager will have to calculate the
costs.
• After having allocated the resources to activities and having
defined a schedule it is possible to derive the cost schedule
for the project on a weekly or monthly basis.
• In general, costs are categorized as –
– Staff costs
– Overheads
– Usage charges

30
Cost Categories
• Staff costs
– Staff salaries, employers contribution to social security, pension, holiday pay, sickness
benefit
– Contract staff is charged by the week/month (even if they are idle)
• Overheads
– Expenditures that organization incurs, which can not be directly related to individual
projects or jobs
– Space rent, interest charges, travel cost, insurance, costs of service departments (e.g.
human resources)
– These can equal or even exceed the direct employment costs
• Usage charges
– For external resources or contractors, leased/rental equipment
– Charged directly for use of resources, e.g. computer time
– Some charges can be on a ‘pay as you go’/ ‘as used’ basis, e.g. telephone charges,
postage, car mileage – at the planning stage an estimate of these may have to be
made
31
Cost Profile: Weekly Project Costs

This shows how much is going to be spent in each week. This could be
important where an organization allocates project budgets by financial year or
quarter and the project straddles more than one of these financial periods

32
Cumulative Project Costs

The project manager will also be concerned about planned accumulative


costs. This chart can be compared to the actual accumulative costs when
controlling the project to assess whether the project is likely to meet its
cost targets.

33
Balancing Concerns

• Successful project scheduling is not a simple sequence.


• Because of the inter-linking of different concerns, project planning
will need to be iterative. The consequences of decisions will need
to carefully assessed and plans adjusted accordingly.
34
Summary
• Identify all the resources needed.
• Arrange activity start/end dates to minimize
variations in resource levels over the duration of the
project.
• Allocate resources to competing activities in a
rational order of priority.
• Critical/high-risk activities should be backed up by
experienced staff.

35

You might also like