Tips, tricks and shortcuts
- Double-click into nowhere
- to add a new task
- Shift-double-click into nowhere
- to add a new milestone
- Click on a task
- to select the task
- Double-click on a task
- to edit the task properties
- Ctrl-click, Shift-click
- to select multiple tasks
- Ctrl-drag into nowhere
- to span a selection rectangle and select multple tasks
- delete selected tasks
- Ctrl-c, Ctrl-v, Ctrl-x
- Copy, paste, cut tasks
- Ctrl-f, F3
- Find, find next
- Press Ctrl-z, Ctrl-y
- for undo / redo
- Drag a selected task and drop it on another task
- to create a dependency between this two tasks
drag and drop again to remove this dependency
- Double-click on a task to edit, goto Groups, assign it to a new group
- to create a new group and assign this task to it
- Drag and drop another task on a group
- to assign this task to this group
drag and drop again to remove it from the group
- Select a task and drag it
- to move the task to another date
- Select a task and drag the beginning or ending
- to resize the task
- Press ctrl while moving or resizing a task
- to align it to total days
- Mouse wheel
- zoom in/out
- Ctrl-Mouse wheel
- scroll up and down
- Drag from nowhere
- shift the calendar
- show context menu
- Ctrl-right-drag from nowhere
- shift the calendar without changing selected items
- Ctrl-(+), ctrl-(-)
- Expand / collapse all groups or resources
|Overdue, behind time|
|Estimated. Check the estimated checkbox in the task edit dialog. This has no effect on calculations. Mark tasks as estimated for later review.|
|As soon as possible (ASAP), this task will be aligned left most|
|Priorities from high to low. Normal priority has no symbol|
|Waiting (for input, for another task, for coffee is ready)|
|Some constraints could not be satisfied. Please check this task.|
|Everything is OK with this task|
|Current work or units differ from the proposed values. Please check these values.|
The Heart of Project Management
This is valid for every task:
Duration = Work / assigned Units
This equation is the heart of project management software.
So we have an equation with 3 variables:
|Duration||the size of the bar from StartDate to EndDate|
|Work||defined in the Task-Dialog under Work-Tab|
|Units||the percentage allocation of a resource in Task-Dialog, Resources-Tab as a number between 0 and 1.0 (which is 100%)|
Imagine: When there is one resource for this task, who works 100%, then Units are 1.0 and the equation says: Duration = Work / 1. If the work is defined 20 hours and there is one worker assigned, it will take him 20 hours to do the 20 hours work. Simple as that.
When we set him to work with half power (50% or Units = 0.5), then the task will run for the double duration, that's 40 hours.
When instead we add a second resource and both work 100%, Units will be 2.0 and the task can be done in half of the work: 10 hours.
Computing the task when something changes
Now think, that one of the 3 variables changes and we want to compute the other two. Unfortunately we can't do that because we can not solve an equation with two unknown values.
So what should we do to get this problem out of our way and to be able to calculate something ? We simply set one of them to a constant value! We fix it, so that it must not be changed by a calculation (it is still possible for us to change this value). This is not only an elegant solution to our little math problem, it's also very useful in real life.
This has been a brilliant idea long time ago, and long time before there were computers. And most modern computer programs today, that deal with project management, follow this scheme.
One variable is fixed, the second is changed, the third is calculated !
Duration = Work / Units
For this reason we have 3 Task-Types:
|Fixed Units||The assigned units are fixed. When changing the duration (by resizing a bar) the Work is calculated|
|Fixed Work||Work is fixed. A change of the duration will cause the assigned units to be recalculated|
|Fixed Duration||Duration is fixed. Updating the units in the Task-Dialog will recalculate the work. And vice versa.|
KS-ProjectPlanner knows a fourth Task-Type called Static Task. This is a special task type which does not respect the calendars. Static tasks can simply be placed anywhere.
You can set the default Task-Type in the Project Settings Dialog. In most cases, or if you are unsure, you should use Fixed Units.
Detailed Explanations for the different Task-Types
|Task-Type||Task Moved||Task Resized / Duration changed||Work Changed||Units Changed|
|Fixed Units||Current work is calculated. The program ensures, that the current work is not less than the proposed work and will update the duration if necessary.||Current work is calculated. The proposed work is set from the calculated current work.||Duration is calculated and rounded up if necessary, so that the current work is equal or greater than the proposed work.||Duration is calculated from proposed work and proposed units. Duration is rounded up if necessary, so that we have at least the proposed work. Then the actual work is calculated, that can differ from the proposed work because of the granularity setting.|
|Fixed Work||Current units are calculated. The program ensures, that no unit is above 100% and will update the duration if necessary.||Current units are calculated. The proposed units are set from the calculated current units. The program ensures, that no unit is above 100% and will update the duration if necessary.||Current units are calculated. Duration is updated if necessary, to ensure that the work is not less than the proposed work and no unit is above 100%||Duration is calculated. Current units are calculated. Duration and units are adjusted, to ensure that the work is not less than the proposed work and no unit is above 100%|
|Fixed Duration||Current units are calculated. The program ensures, that no uint is above 100%. Then, current actual work is calculated.||Current units are calculated. The program ensures, that no uint is above 100%. Then, current actual work is calculated. Proposed units and works are set.||Current units are calculated. The program ensures, that no unit is above 100% and will adjust the duration, if necessary. Current work is calculated for the actual duration.||Current work is calculated. Duration is not adjusted, because it is fixed. So current work might become less than the proposed work.|
|Static Task||Current work is calculated.||Current work is calculated. Proposed work is set from current work.||Current units are calculated. Current work is calculated.||Current work is calculated.|
The same in short words..
- the program calculates the depending values with the formula Duration = Work / Units
- the program ensures, that the current work is never less than the proposed work *)
- the program ensures, that units are never above 100% *)
- proposed values are only updated when a task is resized
- all this considering the granularity, the calendars and the calendar combination-modes.
*) not for static tasks
The same in even shorter words..
- The program ensures the consistency of all values *)
*) the software is provided "as is", without warranties of any kind.
Durations are entered in the form
days hours minutes
..d..h..m is supported in any language to enter a duration. Other languages also support their own abbreviations and use them for display.
KS-ProjectPlanner Pro knows two Duration-Types:
|Full Working Days||Humans want to say: A task should last 3 days (and 4 hours), regardless of the working hours in the underlaying calendar. e.g. 3d 4h|
|Working Hours||Durations are measured exactly in hours and minutes without considering the days. e.g. 48h 15m|
A duration of Full Working Days is not always exactly defined with crazy calendars. But we found it still usefull, because this is what humans want to say in many cases.
If you are depending on exact calculations without strange effects in combination with strange calendars, you should use Working Hours as the default Duration-Type.
When entering durations in the data-grid or for the delay of a Task-Dependency, the duration type is auto detected. Whenever you enter a value for days, it will be set to Full Working Days. When you only set hours and/or minutes, it is set to Working Hours.
You can set the Granularity for the project in the project settings dialog.
All dates are rounded to this granularity, which means the minimal resolution in time. Start-dates are always rounded to floor, end-dates are always rounded to ceiling.
You can set the following granularities:
- half day
- quarter day
- half hour
- quarter hour
- 10 minutes
- 5 minutes
So, when the smallest unit for all DateTimes is a day, set the Granularity to Day.
If you plan your project in a 15 miutes raster, set it to 15 minutes.
KS-ProjectPlanner Pro supports cascading calendars with inheritance and calendar exceptions. Task and resource-calendars can be combined with the project calendar.
Every project has a Default Calendar. All other calendars will inherit from the default calendar or one of it's children.
So the default calendar is a good place to enter common working times and exceptions for holidays. Adding a new holiday exception to the default calendar will let all child-calendars have this exception too, unless they define their own exception for this exception.
Use Menu Project Calendars to add more specialized calendars, e.g. Saturday Work or Night Shift
Resource and Task-Calendars
Every resource has it's own calendar, that is in the first place totally inherited from the default calendar. You find the resource's calendar in the edit dialog for this resource.
Tasks don't have their own calendars as resources, but you can select a defined calendar for a task.
Resource and task calendars can be combined with the default calendar. Resource calendars can also be combined with the calendar of the task, to which they are assigned to.
There are three calendar combination modes:
When you click on a task in the gantt-diagram or on a resource in the Resource-View, the calculated combined calendar for this last selected task or resource is displayed with the diagram.
Enter working-times in the format hh:mm
The program always uses 24-hour times, so please enter 13:00 for 1:00 pm.
Valid values are 00:00 to 24:00
Go to the Exceptions-Tab in the calendar edit-form to add or remove exceptions.
Add a new exception by changing the radio-button from Inherited to Exception.
Remove an existing exception by changing the radio-button from Exception to Inherited.
Check Working Day if this exception date is a working day.
Select Working Hours Exception and enter new working hours for this date.
Calendars on the MS-SQL Server
When storing your projects on a MS-SQL Server, all calendars will be managed globally and are available for all projects.
You should always remember, that when updating a calendar on the SQL-Server, this change will affect all projects in the database.
Tasks may depend on other tasks. This means, Task B must start not before Task A was finished, with a certain delay. Shifting Task A forward will shift Task B right after the end of Task A.
Drag and drop a task on another task to add a new dependency or to remove an existing dependency. The dependency is shown as a relation line with an arrow to the depending task.
Double-Click on the depending task to edit more options for the dependency.
There are four types of task dependencies:
|End-Start||Task B must start right after Task A ends.|
|Start-Start||Task B must start right after Task A starts.|
|End-End||Task B must end right after Task A ends.|
|Start-End||Task B must end right after Task A starts.|
A task can depend on different other tasks. Circular references are not allowed, the program will check for this.
When you want a dependency to be displayed with an arrow, but without moving the task automatically, set the Relation-Mode to Soft.
Tasks can depend on other tasks with a certain delay (in days or hours).
E.g.: Task B must not start earlier than one day after Task A was finished,
enter 1d for the delay. The program auto-detects the Duration-Type of this delay.
KS-ProjectPlanner Pro also supports negative delays. Select Direction=Backwards for negative delays.
Use menu Edit->Add Resource [F8] and add some resources to your project.
Assign Resources to Tasks
Double-click on a task to edit it's properties.
- Go to tab Resources and add one or more resources to this task.
- Set the assigned Units for each allocation, usually 100%.
- Select the desired Task-Type on the first tab, to define how work or units should be calculated.
Assigning resources to a task will enable some things:
- Work is calculated for this task
- The task and resource is shown in Resource-View
- The task and resource is shown in the Schedule for this project
- Project cost can be calculated
Resources, Work and Skills
You can assign more than one resource to a task.
When work is computed with the formula Work = Duration * Units, different resources are cumulated in one Work-Item called other/all.
But the work can be more differentiated and splitted into different skills. Each resource can have different skills, and work can be splitted into these skills.
For this case, you can enter different Work-Items and say, what skill is needed to do the work. Then you select (check) some resources with this skill as the preferred resources for this work/job. These resources should also be assigned and listed under the resources tab for that task. The programm then knows what resource should be associated with this work-item.
There is always one default work-item with the skill other/all, where all resources are bundled, that can't be assigned to a specific skill.
When you added one ore more work-items with specified skills, you can remove the other/all work-item. In this case, only resources with the needed skills can be added to the task.
Also give a hint to the solver, how many resources can be assigned to a work-item by setting Max Entities (Max. Ent.). Any other value than Zero will limit the number of resources, that can be assigned to this item.
In most cases it is good enough not to define differentiated work-items. This feature goes beyond of what most other project management applications offer.
Resources on the MS-SQL Server
When storing your projects on a MS-SQL Server, all resources and skills will be managed globally and are available for all projects.
You should always remember, that when updating a resource on the SQL-Server, this change will affect all projects in the database.
Resource allocations from other projects in the database are displayed ghosted in the Resource-View.
In the main-window tabs, click on Resource-View to activate the resource-view.
The resources are listed in alphabetical order.
Under each resource, the associated tasks are shown in chronological order.
Tasks with the status Done are excluded from the resource chart, the allocated resources are released again.
The resource bar is splitted and colored in three ways:
- Overloaded allocations are colored red
- Underloaded allocations are colored green
- 100% allocations are colored blue
In SQL-Server mode, allocations from other projects are displayed ghosted.
In the project settings, you can change these colors and enter a tolerance, so that e.g. allocations with 98% are still displayed as fully allocated. You can also configure by Resource-Filter, whether unused resources should be shown or not.
Tasks cannot be moved with the mouse in the Resource-View.
With all the task-dependencies and constraints it would be too dangerous to move tasks in the Resource-View. So go back to the gantt-chart to move tasks and see, how this affects the entire project plan.
Select menu Project->Project Cost to calculate the cost for the entire Project or for the selected tasks.
- When no task is selected, the cost for the entire project is calculated.
- When one or more tasks are selected, the cost is calculated for the selected tasks.
You must create some resources, define their cost per hour and assign them to some tasks. Otherwise the result will always be zero.
ASAP stands for as soon as possible.
In other words: Tasks are aligned to the left.
Where left means: The position of the left most task.
There are tree ways, to set tasks asap:
- No task is selected and the ASAP icon is clicked: All tasks in the project are aligned ASAP.
- Some tasks are selected and ASAP is clicked: The selected tasks are aligned ASAP.
- The ASAP checkbox is checked in the task-edit dialog: This task will always be aligned left.
We researched and found out, that there cannot be an opposite 'as late as possible'. This would conflict with other tasks, that are asap, in a forward planning application.
You can set different constraints for a task:
Start-Date / End-Date Constraints
here you set
- eraliest start-date
- latest start-date
- earliest end-date
- latest end-date
Latest end-date could be called the Deadline for the task.
Setting an eraliest start-date and a latest end-date together, will lock the task. It cannot be moved anymore.
These constraints are displayed as small screws or <> within the task bar.
Must start/end on .. Constraints
Must start or end on
- Any Day
- Working day
- Monday .. Sunday
If the selected constraints can't be satisfied, a small exclamation mark icon is displayed with the task-bar.
KS-ProjectPlanner Pro can store the data on a MS-SQL-Server.
Features and Benefits
- this allows multi-user and multi-project management.
- Resources, Calendars and Skills are managed globally and are accessible for all projects.
- in the Resource-View, the resource allocations are included from all projects. Allocations from other projects are displayed ghosted.
- the SQL-Server allows to report the data for other applications.
- incremental updates for better multi-user support: Only modified data is written to the server.
- very robust transaction-based data access.
- backup of your data in a centralized location.
- Microsoft SQL-Server 2005 or 2008 and SQL-Server Management Studio, the free Express-Version is enough
- The latest KS-ProjectPlanner Pro version
KS-ProjectPlanner Pro comes with new functions to easily create and drop ProjectManager Databases on the SQL-Server, see menu SQL-Server.
To create a new database, you need enough user-rights on the server. So login with an account, that has these rights and has access to the 'master' table.
Beside this, you could also manage your databases with the SQL-Server Management Studios. Please ask your system administrator for some support.
In the installation folder of the KS-ProjectPlanner Pro application, you will find a subfolder \sql.
See the file readme.txt for further information.
Resource Leveling by Genetic Algorithm Solver
The solver can optimize the project plan for you.
It prevents overlapping of resources and optimizes the project for duration and cost.
At any time call menu Project|Solver. Solving can be repeated as often as you like. If you don't like the results, press Undo to go back.
The solver will never stop running. Click on Stop or press Escape, if you think it's good enough. If the result is not good enough, call the solver again.
The solver considers the Preserved Resources from your defined work in the task. When there are preserved resources defined, the solver will allocate them first, before assigning any other resources.
You should also always set the Max. Ent. (Maximum Entities) for each work item, to limit the number of resources, that can be assigned to this work. Otherwise the solver tends to allocate all resources that are available, in order to get the shortest plan.
You can use the solver during project layout and later for project tracking, when the project is already running. The solver can shift all tasks forward, that are short of time, and will handle all impacts automatically for you.
On the SQL-Server, the solver incorporates the resource allocations from other projects as well.
The solver uses a Genetic Algorithm and is an innovative development.
Please tell us about your experiences.