The traditional scheduler in IBM Rational Team Concert 4.0
Sharoon Shetty Kuriyala, IBM
Last updated: May 18, 2012
Build basis: Rational Team Concert 4.0
This article describes the scheduling capability in Rational Team Concert 4.0 and factors that determine the automatic calculation of project schedule in a formal project (i.e., a project based on the Formal Project Management process template). The component that handles scheduling for formal projects is referred to as traditional scheduler. The traditional scheduler determines the start and end dates and sequence of the plan items in a formal project.
Schedules in traditional plansA schedule defines the timing and sequence of work items in a release or an iteration plan. As the plan progresses and you change the schedule information, the schedule is adjusted and recalculated. The schedule of a work item in a traditional plan is determined by the following factors:
- Estimated effort of the work item
- Schedule constraints
- Schedule dependencies on the work items
- Actual start date of the work item
- Resolution date of the work item
- Time spent value on the work item
- Project working days and hours
- Work time, absences, and project allocation dates and allocation percentages of the work item owner
- Ranking of the work item
- Create personal Virtual Classroom
- Add support for Group or 1-1 Classes
- Scheduling of classes
- Online collaboration tools to be supported
- Create personal web conference room
- Teach Live Over The Internet
- Share Whiteboards, Audio, Video …
- Record the classes
To schedule the work for the project, team members must add estimates, constraints, and dependencies to work items. They must also specify the hours and days that they will work on the project, and the availability of the people (resources), who will do the work. If team members are assigned work items with conflicting start dates, they can rank the work items to determine the order in which to complete them.
Work item estimates and the scheduleWhen you add estimates to the work items in a plan, the scheduler automatically calculates the schedule for the work items. In the example, the “Teach Live Over The Internet”” task has an estimate of 3 days. The start date of the work item is 18 June at 9 a.m. The finish date is 3 days after the start date and is calculated as 20 June at 5 p.m. When the start and finish dates are calculated, the interim non-working days are considered in the calculation.
Schedule constraints for work itemsSchedule constraints are boundaries that you impose on the start and finish dates of a work item. Formal projects support the following constraint types:
- As soon as possible: This constraint is the default constraint type. It schedules the work item at the earliest possible time it can start, based on the project schedule.
- Start no earlier than: This constraint restricts the work item to start on or after a specified constraint date.
- Finish no later than: This constraint restricts the work item to complete on or before a specified constraint date.
In the example, the Finish no later than constraint is added to the “Add support for Group or 1-1 Classes” task with the constraint date of 21 June. The conflict error is displayed with the following message: “The work item has a Finish No Later Than constraint for 6/21/12, but it is planned to finish on 6/22/12.”
Schedule dependencies on work itemsSchedule dependencies define the relationships between tasks that are dependent on each other for completion. You can define schedule dependencies by adding predecessor links for a work item.
Currently only one type of schedule dependency is supported:
- Finish-to-start: In this dependency, the start of the successor work item depends on the completion of a predecessor work item.
Before the dependency was added the successor task start date was Jun 18 and finish date was Jun 22.
Actual start and finish datesThe actual start and finish dates for a work item are determined by the dates when the state of the work item changes. The actual start date is when the state is changed to In Progress. The actual finish date is when the state is set to Resolved. If you change the status of a work item to In Progress on a non-working day, the non-working date is set as the actual start date. If you change the status of a work item to Resolved on a non-working day, the non-working date is set as the resolution date.
In the example, the “Create personal Virtual Classroom” task is initially scheduled to start on 20 June, with an estimate of 3 days and a finish date of 22 June. On 21 June, the state of the work item is set to In Progress. The actual start date of the work item is 21 June. The task is now scheduled to start on 21 June and finish on 25 June.
Time spent on work itemsWhen you enter a value for the time spent on a work item, the scheduled finish date for the work items is calculated by using the current date and the remaining estimate. The remaining estimate is the estimate minus the time spent value.
In the example, on 22 June the “Create personal Virtual Classroom” task has a finish date of 26 June because no value is entered for the time spent. The remaining estimate is still 3 days.
Project working days and hoursYou can specify the work hours per day, quitting time, and work days per week for a project in the Work Environment section of the Project Area editor. The scheduler uses the project work environment settings to determine the non-working days and time when the tasks are unassigned.
In the example, if Saturday is included as a working day in the project area work environment the start date for the “Add support for Group or 1-1 Classes” task is 27 June, and the finish date is 2 July instead of 3 July, since it includes 30 June which is a Saturday as a working day.
Resource availabilityIf a project requires resources, you can search for available resources and add them to the project. You can also allocate resources to a project on the Work Environment tab of the User editor. If a task in the plan is assigned to a resource who is not allocated to the project, an error message is displayed as illustrated below.
In the example, Alessandro Volta is allocated to the project from 25 June through 2 July.
Resources can be allocated to the project area with single, continuous allocation periods or multiple, discontinuous allocation periods. The scheduler considers the resource availability for the schedule calculation. In the example, Alessandro Volta is allocated to the project with two allocation periods. The first allocation period is 25 June through 29 June, and the second allocation period is 4 July through 13 July. The resource is unavailable for two working days: 2 and 3 July. As a result, the finish date of the “Scheduling of classes” task is scheduled to finish on 10 Jul instead of 6 Jul. Managing project resources.
The schedule is also influenced by the scheduled absences of resources and their work time, which is determined by their work hours per day, quitting time, and work days per week. The scheduler calculates the start and end dates of the work item such that no work is allocated during the scheduled absence or non-working time for the resource. Setting user work environments and Scheduling team member absences respectively.
Work item schedule conflictsOne challenge of the scheduling process is when a resource is assigned to multiple tasks that start at the same time. For example, a resource is allocated to a project for 8 hours a day. In the plan, three 8-hour tasks are assigned to the resource for the same day. This situation requires that the resource work 24 hours in one day. In this case, the scheduler reschedules simultaneous tasks with a delay so that they are scheduled sequentially.
The scheduler uses the Ranking attribute of the work item to generate the sequence. If the parallel tasks are not ranked, the scheduler uses the work item ID. The work item that was created earlier is scheduled first.
In the example, the parallel tasks with the IDs of 13, 14, and 15 are scheduled to start at the same time, 18 June.
Critical path of the planA critical path is the sequence of scheduled work items that determines the duration of the plan. The critical path is the longest path through an iteration or release, and determines the shortest time needed to close the work items in the plan. The traditional scheduler automatically calculates the critical path of the plan. You cannot disable the critical path. To determine the critical path, the following dates are calculated for the work items in a plan:
- Earliest start date (ES): The earliest start date for the work item plus the estimate that is required to complete the work item.
- Earliest finish date (EF): The earliest start date for the work item plus the estimate that is required to complete the work item.
- Latest finish date (LF) : The latest date when the work item can be completed without causing a delay to the plan, depending on the constraints and schedule dependencies on the work item.
- Latest start date (LS): The Latest finish date minus the estimate that is required to complete the work item.
If the slack is zero, the work item is on the critical path and cannot be delayed without impacting the original plan schedule. All work items that are on the critical path are highlighted in red in the Gantt chart. To bring a plan onto track, reduce the estimate that is required for the tasks on the critical path.
For more information
About the author
Sharoon Shetty Kuriyala is the component lead of the team developing the Planning capabilities for Rational Team Concert. She can be contacted at email@example.com.
© Copyright 2012 IBM