Scheduling, Tools-Software Project Management-Lecture Notes, Study notes of Software Project Management

Project Management is the art of maximizing the probability that a project delivers its goals on Time, to Budget and at the required Quality. This lecture handout was provided by Sir Debashis Koppale. It includes: Scheduling, Tool, Gant, Project, Managment, Activity, Horizontal, Chart, Time, Allocation, Design, Critical

Typology: Study notes

2011/2012

Uploaded on 08/07/2012

angana
angana 🇮🇳

4.4

(52)

158 documents

1 / 15

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Project Management (CS615)
290
LECTURE # 38
8. Scheduling
8.3 Scheduling Tools
i. GANTT CHARTS
There are various tools that help you create a schedule. One of the simplest
project management tools used to represent the timeline of activities is the Gantt
chart.
Long before the advent of computers, Henry L. Gantt lent his name to a simple
and very useful graphical representation of a project development schedule.
The Gantt chart shows almost all of the information contained in the schedule
activity list, but in a much more digestible way. The schedule information is more
easily grasped and understood, and the activities can be easily compared. The
Gantt chart enables us to see at any given time, which activities should be
occurring in the project.
A Gantt chart has horizontal bars plotted on a chart to represent a schedule. In a
Gantt chart, you plot time on the horizontal axis and activities on the vertical axis.
You represent an activity by a horizontal bar on the Gantt chart. The position of a
horizontal bar shows the start and end time of an activity and the length of the bar
show its duration. You can have one look at the Gantt chart and make out the
progress of the project. Figure 1 displays a sample Gantt chart.
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Scheduling, Tools-Software Project Management-Lecture Notes and more Study notes Software Project Management in PDF only on Docsity!

LECTURE # 38

8. Scheduling

8.3 Scheduling Tools

i. GANTT CHARTS

There are various tools that help you create a schedule. One of the simplest project management tools used to represent the timeline of activities is the Gantt chart.

Long before the advent of computers, Henry L. Gantt lent his name to a simple and very useful graphical representation of a project development schedule.

The Gantt chart shows almost all of the information contained in the schedule activity list, but in a much more digestible way. The schedule information is more easily grasped and understood, and the activities can be easily compared. The Gantt chart enables us to see at any given time, which activities should be occurring in the project.

A Gantt chart has horizontal bars plotted on a chart to represent a schedule. In a Gantt chart, you plot time on the horizontal axis and activities on the vertical axis.

You represent an activity by a horizontal bar on the Gantt chart. The position of a horizontal bar shows the start and end time of an activity and the length of the bar show its duration. You can have one look at the Gantt chart and make out the progress of the project. Figure 1 displays a sample Gantt chart.

docsity.com

Figure 1 : Example Gantt Chart

In Figure 1, activity D starts on day 1 of the project. The planned duration of this activity is 20 days. The planned duration is shown in a lighter shade on the Gantt chart. This is done to differentiate planned duration from the current status of the activity. In the case of activity D, the current duration of the activity is 19 days. Therefore, activity D is still one day short of completion. This can be discerned from the length of the gray and black bars. Activity C, planned for completion on day 40, is much behind schedule. This can be observed from the smaller length of the black bar in the Gantt chart.

To understand how you can use a Gantt chart to schedule a project, consider an example. Table 1 display a set of activities in a software project and the start and end time for each activity.

D

C

B

A

Time (Person days)

Activities

PLANNED

ACTUAL

docsity.com

line indicates the status of the project on a specific day. The left side of the line indicates the tasks that are completed. On-going activities run across the line. The future activities lie completely to the right of the line. After drawing the Gantt chart you can extend the bars every week to a length proportional to the work completed during the week. Therefore, the bars describe the status of the-project at any point of time.

This process of creating a Gantt chart as discussed above is manual. Nowadays, automated tools are available for creating Gantt charts. For example, you can use Microsoft ®^ Project TM^ 2000 developed by Microsoft to create a project schedule automatically.

Figure 3 is another example of a Gantt chart. The symbols used in the chart are widely accepted, though not standardized. The inverted triangle, for example, is commonly used to represent a significant event, such as a major milestone.

The Gantt chart in Fig. 3 demonstrates the ease with which important schedule information can be quickly perceived. We can immediately see that, except for the maintenance phase, all phases overlap, and that from November to mid-December 1992 three high level activities overlap.

Major milestones

SRR = Software requirements review POR = Preliminary design review COR = Critical design review TRR = Test readiness review ATP = Acceptance test procedure

docsity.com

Figure 3: High level Gantt chart -project development schedule.

More detailed charts can also include the names of the engineers assigned to each activity, and the equipment that will be needed for each activity. This information can be added next to the activity time lines in the graph, or as an inserted reference table (similar to the list of major milestones in fig 10.1). Some variations of the Gantt chart do include this type of information on the chart, but this can cause clutter, which is contrary to the main objective of the chart; to enable important schedule information to be grasped quickly.

It is also important to understand what Gantt charts do not provide. In a Gantt chart, it is difficult to provide information on the amount of resources required to complete each activity. A common mistake is to conclude that if five engineers are assigned to integration, and the integration activity starts in mid-September 1992 and ends in mid-January 1993 (four months), then integration requires 20 work months. In fact, integration may start with only one engineer, with one more joining during the second month, and the remaining three engineers joining during the third month. The integration team may then be reduced to three engineers during the fourth integration month.

Figure 3 includes only seven activities. As more detail becomes available, lower level activities can be included on the chart. When the chart has more activities than it can reasonably carry (a subjective decision), additional charts may be

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun

SPR

CDR

ATP

TRR

PDR

1992 1993 Major milestones SRR = Software requirements review PDR = Preliminary design review CDR = Critical design review TRR = Test readiness review ATP = Acceptance test procedure

Requirements analysis

Top level design

Detailed design

Implementation

Integration

Testing

Maintenance

docsity.com

between activities is best presented in another type of chart, called a Network precedence chart or a PERT chart.

Network Scheduling Techniques

To plan the activities in a project, you can also use network-scheduling techniques. Network scheduling techniques use network schedules to trace the completion of predetermined activities.

There are two basic network-scheduling techniques:

  • PERT and
  • CPM

You can use either of these techniques to analyze a wide variety of projects. Each technique depicts a project as a sequence of activities. This helps you perform an analysis of individual activities or the complete project.

The network-scheduling techniques also enable you to analyze the dependencies that exist between the activities.

Using PERT and CPM, individually or in combination, helps you complete a project on time. By using these techniques, you can determine the latest time by when an activity should start to be completed on time.

Despite the different approaches followed by PERT and CPM, both techniques have some common components. These include:

a) Activities b) Nodes c) Network d) Critical path

a) Activities

Activities are the basic building blocks of network schedules. An activity is defined as a task that consumes time, effort, money, or any other resource. It is necessary to specify all the activities of a project by breaking down a project into several steps.

You need to define the steps in such a way that they are distinct, homogeneous tasks for which you can estimate resource requirements.

Each activity is represented on a network schedule by using an arrow with its head indicating the direction in which the project will progress. Each activity is identified by a description or an alphabet. In addition, the estimated duration of

docsity.com

each activity is placed below the activity. Figure 5 shows an activity with expected duration of 15 days.

A

15 Days

Figure 5 : An Activity

After identifying all the activities in a project, it is necessary to schedule them. This enables you to arrange the activities in the order of completion. You sequence the activities based on their types.

The different activities that are possible in a project are predecessor, successor, and concurrent activities.

Predecessor activities need to end before the next can begin. After a predecessor activity is completed, the successor activity becomes the predecessor for another activity. However, unlike the predecessor arid successor activities, the concurrent activities can be completed simultaneously with other activities.

Some activities in a project, irrespective of whether they are predecessor, successor, or concurrent, may depict a float period. Float is the amount of time by which an activity may be delayed without affecting the completion date of the entire project. However, the complex dependencies that exist between activities result in sequencing constraints for projects. To a large extent, these constraints limit the flexibility that you may otherwise have in project planning.

b) Nodes

A node on a network schedule is that point in time at which an activity either begins or ends. The point where an activity begins is called a tail node and the point where it end is called its head node. On a network schedule, a circle represents a node. A number identifies each node in a network schedule. Figure 6 represents the tail and head nodes for the activity of interviewing clients in a project.

Figure 6: An Activity Connecting Two Nodes

c) Network

docsity.com

Figure 8: Network Schedule with Critical Path Identified All the activities on the critical path are critical for a project. If an activity on the critical path is delayed, the entire project is delayed by the same amount of time. You need to monitor the activities on the critical path because the project depends on the successful completion of these activities. If required, additional resources can be applied to these activities to shorten the project duration. However, some of these activities may also depict a float period.

8.6 Rules for Creating a Network Schedule

There are a few basic rules that are followed while constructing a network schedule.

  1. Each activity has a preceding node and a succeeding node.
  2. Each node has a distinct number. As a convention, the number that is assigned to the head of the arrow is greater than the number that is assigned to the tail.
  3. The network schedule has no loops. For example, in Figure 9, activity 1 is the predecessor of both activity 2 and activity 3. This places activities l, 2, and 3 in a loop.

Fig 9: A loop is not permitted

  1. Each activity has a unique preceding and succeeding event associated with it. For example, in Figure 10, activities A and B have common preceding and succeeding events associated with them. This is not allowed in a network

schedule. docsity.com

Figure 10 : Activities with Common Preceding and Succeeding Events

At times, you need to introduce a dummy activity in a network schedule. This is an imaginary activity that enables the network schedule to display parallel activities. For example, in Figure 11, consider A and B as two parallel activities that can be executed simultaneously. Both A and B must end so that activity C can begin. A dummy activity is introduced as a dashed arrow to mark the start of activity C. The dummy activity is introduced to show the dependency between activities in the network schedule and does not have a description or duration.

B

A C

Figure 11: Dummy Activity

A

B

docsity.com

According to this equation, you calculate the expected time for an activity as a weighted mean of the optimistic, most likely, and pessimistic times. The weights attached to these times are 1, 4, and 1, respectively. Consider the example of the activities in a software project as given in Table

  1. The time estimates provided in Table 1 are the estimated times for each activity. Table 2 provides the break-up of the estimated times into the optimistic, pessimistic, and most likely times for each activity.

Table 2: Optimistic, Most Likely Time, and Pessimistic Estimates for Activities

Tasks

Optimistic Time Estimates (person days)

Most Likely Time Estimates (person days)

Pessimistic Time Estimates (person days)

Requirement analysis and project planning 7 10 13

Setting up the environment 3 6 9

Software construction 48 83 100

Unit testing 20 28 33

User training 4 5 6

System testing 10 15 20

User documentation 23 28 45

Data migration 18 18 30

Conducting user acceptance test 14 21 22

Using the formula for calculating estimated time for an activity, the estimated time for requirements analysis and project planning is:

T (^) e 60 / 6 10 persondays 6

Similarly, you can calculate the estimated times for all the activities in Table 2 using the above formula.

Figure 12 shows the PERT network schedule created using the time estimates.

docsity.com

Figure 12: PERT Network Schedule for Activities

ii. PERT packages and enhancements

Some enhanced versions of the PERT chart support additional planning activities, such as personnel assignment, resource allocation and cost analysis. The chart can then draw attention to situations where personnel are assigned more responsibilities than they can handle, or where allocation of resources conflicts.

An interesting adaptation of PERT, called flow graph representation, which was developed by Riggs and Jones (1990), uses precedence networks to perform project life cycle cost analysis. The flow graph technique analyzes project costs based on relationships between quantities, unit cost, time variables, staffing costs and learning etc., all of which are represented on the PERT- like chart.

The flow graph representation technique places a significant amount of information on the network graph. This information, just like the basic PERT information, must be kept constantly updated. A small change to a large PERT chart can require the complete redrawing of the chart and the recalculation of the critical path. The resulting tedium does not promote much enthusiasm for

User Documentation

User Acceptance Testing

Requirements Analysis and Project Planning

Software Construction Unit Testing

System Testing

User Training

Data Migration 20

Node Activity Number Dummy Activity

docsity.com