How to use Resource management
Resource management is a tool for professional planning and assignment of work in Easy Redmine and Redmine. Managers plan work on projects with regard to real-time capacities of workers and estimated time for task realization. Resource management allows managers to balance the workload of the people while keeping schedules of the projects. You can easily look how are your people utilized in the future - whether and when they are overloaded or when they are available for unassigned tasks. Resource management is fully compliant with IPMA & PMI Project Management methodology standards.
Table of contents
Resource management is intended to be used mostly by:
- Project Managers
- Line Managers
- IT Managers
- Small Business Owners
- Project Portfolio Managers
- HR Managers
Why is Resource management important
Resource management is a key element to activity resource estimating and project human Resource management. Both are essential components of a comprehensive project management plan to execute and monitor a project successfully. As is the case with the larger discipline of project management, Resource management software tool helps automate and assist the process of resource allocation to projects and portfolio resource transparency including supply and demand of resources. The goal of the tool typically is to ensure that: (1) there are employees within our organization with required specific skill set and desired profile required for a project, (2) decide the number and skill sets of new employees to hire, and (3) allocate the workforce to various projects.
Resource management has an impact on schedules and budgets as well as resource leveling and smoothing. In order to effectively manage resources, organizations must have data on resource demands forecasted by time period into the future, the resource configurations that will be required to meet those demands and the supply of resources, again forecasted into the future. Forecasts should be as far out as is reasonable. Resource leveling, as it relates to inventory, is a Resource management technique aimed at keeping the stock of resources on hand level, reducing both excess inventories and shortages. In project management, resource leveling is scheduling decisions, which are driven by Resource management concerns, such as limited resource availability. As opposed to leveling, resource smoothing may not delay the project completion date, only particular activities within their float.
What are the main benefits of Resource management
- Increased revenue – Resource management will help you easily assess how well utilized your entire resource pool is on a daily, weekly or monthly basis, helping to ensure your most valuable resources are used to maximum effect, and your workload is balanced to avoid sustained periods of time on the bench.
- Conflict resolution – Resource conflicts can have a significant effect on revenue, at worst an unresolved resource conflict may result in an immediately missed revenue opportunity, along with a negative future impact on reduced customer satisfaction.
- Improve project delivery – Improving project delivery will help reduce costs and increase margins. Resource management enables resources to be allocated to work based on a number of specific criteria such as their availability, skills, and location so you will always be sure you have the right person allocated to the right job.
- Reduce administration costs – With a central, up to date view of your entire resource pool, you will reduce the administration costs associated with maintaining these out of date systems. What's more, you can improve revenue, maximize fee earning potential and nurture customer relationships. Only integrated Resource management software provides this visibility, control, and opportunity.
How to get Resource management for Easy Redmine and Redmine
Both for Easy Redmine and Redmine 3.2+, the functionality is available as a separate plugin to purchase via Client zone.
Installation and update of Resource management for generic Redmine
- Do NOT install plugins as a ROOT user
- First, delete all old Easy Gantt plugins if exists (plugins/easy_gantt*)
- Copy all unzipped plugins into REDMINE_ROOT/plugins
$ bundle install
(or bundle update)
$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
- Restart server
After first installation run bundle exec rake easy_gantt_resources:reallocate_resources RAILS_ENV=production. It will calculate allocations for all tasks. This command could take a long time.
Requirements for successful installation
- Redmine version: 3.2+
- Ruby version: 2.1+ (recommended 2.3.)
- Database type: MySQL (recommended), PostgreSQL
Follow installation procedure in #install. Verify whether the installation log doesn't contain any errors. If it does, try to solve it according to the description, or contact email@example.com with the error section of the log attached.
Installation on Bitnami
Bitnami is not tested nor guaranteed. If the installation fails, run manually:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Global level of Resource management
Resource management is available both on the global level and the project level. To access it from the global level, go to More » Resource management or type "/easy_gantt_resources" after your Easy Redmine domain address.
Resource management on the global level will most suit the users who need to have an overview of all available resources throughout Easy Redmine as well as all unassigned tasks on a single screen. The main advantage is, therefore, the unnecessity to switch between individual projects including their members and tasks when needed to manage resources for more projects at once. On the other hand, a certain disadvantage may be the complexity that may act to the detriment of clarity and speed so it's recommended to use the global view only when necessary.
How to define displayed time period on the global level
On the global level of Resource management, you have to define displayed time period (by default, the period is set to -30 +90 days). To do it, click on the Filters button and check the period under Allocations. When set, you can see the selected period is visualized lighter than the rest of the timeline so you have a better overview of the time you need to allocate resources within. No tasks with both start date and due date laying outside the period are displayed (tasks with either a start date or due date inside the period are displayed), therefore, it can improve loading performance as well .
Project level of Resource management
Now, let's have a look at Resource management on the project level. Before you can access it from a project, you need to activate Easy Gantt module (as RM is the part of Easy Gantt) in project's settings as shown on the image below.
Immediately after activating the module, Resource management tab will appear in the top menu of the particular project. Click on it and Resource management will open. Using the functionality on the project level is a better choice for the users who need to manage resources of the particular project only so there is no need to see them for all the projects as on the global level. Another difference is that Resource management on the project level is integrated with Easy Gantt so you can effectively work with both the modules together which is not possible on the global level. If you open a parent project in Resource management, only the selected project is displayed, not its subprojects and their tasks.
How to set up permissions for Resource management
The permissions for Easy Gantt and Resource management are common and they can be set up in More » Administration » Roles and permissions.
Please note that some permissions are dependent on others. For example, Edit button will only be available when permissions "View EasyGantt" and "Manage tasks relations" are enabled.
How to set up default filters for Resource management
Default filters are those set as system default and they are active every time for every user when no custom filters are active. To edit settings of default filters for global Resource management, go to More » Administration » Filter settings » Easy Gantt resource. There you find a settings form as shown in the picture below. Please note the default filters for project-level Resource management are the same as for Easy Gantt because Resource management is the part of Easy Gantt on the project level.
The available options are as follows:
- Add filter (select one or more filters that will be applied simultaneously)
- Default custom formatting (choose if a specific custom formatting scheme will activate along with the filter)
- Default columns (choose columns from the list that will show as default and move them to the right field)
- Show avatars (shows personal user avatars, i.e. little profile images)
Now, when you save the filters and go to Resource management, you will find the list of items filtered according to these criteria (if no custom filter is active). Default filters are valid for any other user as well.
How to display tasks of the workers in time with their total workload
On the left side, you find both unassigned tasks as well as members (resources) of the particular project (on the project level) or all projects' members (on the global level). By clicking on "+" symbol next to the name, it expands the list of tasks assigned to the particular user. Each task is visualized on the timeline. The length of the task on timeline indicates the estimated number of days for realization. The numbers inside particular days (squares in the table) represent the number of hours planned for work on the task.
The total estimated number of hours for the task is automatically distributed among working days of the task duration starting from the back (due date) by default. For example, when the total estimated time for a task is 20 hours and task duration is 4 days, it will be distributed the following way: 0 hours on day 1, 4 hours on day 2, 8 hours on day 3 and 8 hours on day 4. This shows you when is the latest possible time to start working on the task in order to complete it within the due date. If a task is missing one date (start date or due date), the allocations are then calculated in the direction from the fixed date per 8 hours (resp. max allocable hours per day) and the task stretches accordingly in order not to overload. For example, the <20) changes to <8|8|4) where angle bracket is a fixed date and round bracket is undefined.
The maximum number of allocable hours per day can be set up in Resource settings in the upper right corner. When the number of hours is negative, it means that really spent time on the task has been higher than estimated time for the task in a day. When the whole task is green, it indicates there is no problem. When it's red, there is some issue with the task, most typically task duration is too short for its estimated hours' count or the number of hours exceeds max allocable hours per day. When a task is gray, it's closed.
How to work with daily/weekly/monthly view of planned workload
The timeline offers types of view: days, weeks, months. Based on the project length and the necessary level of detail, they can be switched between from the top menu.
When you are on a week/month view, you can see a sort of resource allocation summary per each user in the respective period. The colors indicate the level of workload as described on the image below. After switching the view to weekly/monthly basis, all workload allocations are evenly spread over the respective period.
How to work with custom allocations
As was said previously, task's estimated time (hours) is automatically distributed throughout task duration (days) according to the allocation rules. If you don't like the way how the workload is allocated to individual days, you can personally reallocate it very easily. This is called custom allocation. By double-click on a particular day of the task duration, you can enter a custom number of hours. The number will turn purple then to indicate the custom allocation. The analogical way you can edit total estimated time (in brackets before the taskbar) and the daily workloads will recalculate automatically then. When a custom allocation is set, you can delete it via double-click and remove the value.
When you see two numbers in brackets before the taskbar, such as (30-10), the first number is total estimated time while the second one is time already spent on the task. Remember that any negative time value represents spent time.
When you move a task and drop it over weekend or vacation/holiday of the assignee, the number of working days in tasks' duration have to remain. Therefore, it automatically prolongs the due date of the task and allocated estimated time of the task is redistributed among working days only, skipping the days off.
Global resource settings
Global resource settings can be entered by clicking on the "Resource settings" button in the upper right corner of global Resource management.
The options are as follows:
- Hours per day: Max allocable hours per day for all users who have not set their individual daily working hours for allocations.
- Advance hours definition: With this option enabled, you can set the "Hours per day" limits for each day of week separately.
- Default zoom: Default zoom for global Resource management
Default allocator: How estimated hours on tasks will be allocated. For performance reasons, changing this option will not affect current existing default allocators on tasks. The options are as follows:
- From end - Hours are allocated from due date of a task.
- From start - Hours are allocated from start date of a task.
- Evenly (slow) - Hours are allocated evenly throughout duration of a task.
- Future from end - Hours are allocated from due date of a task towards today.
- Future from start - Hours are allocated from today towards due date of a task.
- Future evenly - Hours are allocated evenly from today towards the due date of the task. When hour limit per day is reached, all remaining hours are allocated to the due date of the task.
- Change allocator: Allow to change allocator on task edit
Show soonest start: Show lowest valid dates for tasks defined by relations or parent. As illustrated below, the square bracket indicates the lowest date you can move the task to, but not any further because it's related to another task that precedes it.
- Show latest due date: Show latest valid dates for tasks defined by relations or parent.
- Show free capacities: Enable toggling of display free capacities instead of allocated hours for assigned tasks on Resource management
- Show total project allocations: Show total allocated hours on project Resource management
Watchdog: Watch assigned user overloading during task creation and editing, i.e. when a task has too many estimated hours related to a user's allocation capacity, a warning alert shows up in the full-screen task detail after creating or editing a task as illustrated below. The feature doesn't work when a task is unassigned, assigned to a group or anonymous user. Also, it doesn't show any alert when you are not on a task detail, for example, when assigning a task using the drag-n-drop feature in Resource management.
- Show groups: Show groups on global Resource management
- Decimal allocation: Hours will by allocated by decimal numbers (0.1)
- Show project allocations by default: Turn on "With projects" option in Global RM by default.
Enable reservations: Enable hours reservation on users. No tasks can be allocated inside the reserved hours until the reservation is canceled. You can delete or edit your reservation by right clicking on it. Click the animation below.
- Enable holidays for groups: Allocations are reduced if members of the group have holidays.
- Hide planned tasks buttons: Show buttons "hide planned tasks" on Resource management
Individual user settings
- Estimated time ratio: Estimated time on tasks assigned to a user is multiplied by this constant in allocations. For example, if a task has estimated time 5 H and the ratio for assigned user is 8, he will be allocated with 40 H. This way, you can reflect different working speed of various people, such as new employee might be twice as slow compared to an experienced one.
- Hour limit per day: User daily working hours for allocations are limited by this value. Leave blank to use the default value. When working with resource allocation summary on week/month view, the colors indicating user's workload in the respective period take into account his current allocation time capacity. For example, if user A has capacity 40 hours a week, user B can work 30 hours a week while user C only 20 hours a week, then a weekly workload with estimated time 25 hours will color yellow for user A (user has free capacity - less than 70% workload), green for user B (user has optimal workload - more than 70% workload) and red for user C (user is overloaded - equal or more than 100% workload).
- Here you can set both "Estimated time ratio" and "Hour limit per day" for entire groups. The values can be entered either manually or let it count automatically from group members. If no values are set for individual users, they are evenly distributed among group members. If values are set both for users and groups, the group's settings take into account user's settings and thus distribute the values accordingly among group members.
How to work with competence planning by teams and trackers
Competence planning allows you to reduce your view to the resources (users) you actually need to work with. To do it, set up and save filters by tracker and user and then make them visible in the heading like on the animation below. If you don't know how to set up the filters, check out this tutorial. Resource management supports all standard filtering options already well-known from any kinds of lists in Easy Redmine. This way you can show only certain tasks or users according to your preferences. Resource management offers two groups of filters - for tasks and for users.
Filters above tasks affect the right side of the table - the grid where you allocate the tasks. While filtering above users affects the left side - list of users you are allocating the tasks to. Most useful for competence management, e. g. head of development views only development tasks and development team, while chief of sales works with a different set of users and tasks.
How to work with attendance records
Thanks to the communication link between Resource management and Attendance management, the days when a user is not available (due to vacation, sickness or any other reason) are displayed on Resource management timeline with "N" symbol as shown in the image below. This will prevent the user from getting tasks for these particular days.
How to work with task updates and assignment using a drag & drop feature
You can drag a task a move it to another date simply. When a user is overloaded you can move the task to another user in the same manner. When a user is not a member of a particular project, he cannot be assigned with any task of this project.
Integration with meeting calendar
Thanks to integration with Meeting Calendar, all planned events such as meetings, holidays etc. are taken into account in workers' capacities. A day with such an event is marked by a letter such as "m" (meeting) or "H" (holiday). The number following the letter "m" indicates the estimated amount of hours for the meeting.
By clicking on a cell including an event, a small information tooltip appears showing the summary of the events in the selected period. The tooltip works on a daily, weekly and monthly basis as well. If there is a continuous event (vacation, business trip), the event is shown counted in the tooltip.
A similar tooltip appears when you are on weekly/monthly view and click on any time allocation box on the timeline. This tooltip shows you the allocations of non-visible issues (tasks) which represent the total sum of hours for this particular week or month.
When you have defined a specific time period to be visible on the timeline, it may happen that some tasks have their estimated time allocated partially inside the period and partially outside. In such a case, the hours outside the period are marked "non visible" in allocation tooltip.
Drag & Drop Update of Tasks' timing (Start Date, Due Date, Duration, Completion)
Timing attributes of the tasks (issues) can also be edited just by using drag & drop functionality. Switch to edit mode, move cursor over a task and you have several choices to do: 1) move the task on the horizontal line to change its start date and due, 2) stretch or shrink the task to change its duration, or 3) move the rider of the task to change its % completion.
Step back button (Undo)
When you accidentally do anything wrong, simply take back an unlimited number of steps you have done just by clicking the "Back" button among the main controls.
How to use Problems button
The Problems button can be found among the main controls at the top right. The button is complemented with a number that represents the amount of problems identified as illustrated below. Clicking on the button expands the list of the problems including the names of affected tasks and short explanations. These list items are links so you can click on any and that will highlight the respective task on the timeline. Clicking again on the button collapses the list.
You can print your tables from Resource management or save them as PDF just by clicking on "Print" button in the lower left corner. Changing the export size format is possible via your browser print dialog or external PDF creator tool (such as Foxit Reader or PDFCreator).
Resource management on the personal home page
You can add either global or personal level Resource management as the module on your personal home page. To do it, click on "Personalize this page" button in the lower left corner and select the particular module from the list. Then customize your filters of the module and save it.
Tips and tricks
Cross-project relations cannot be visualized.
The only types of relations that can be visualized are predecessor/follower (green line) and related/blocked-by (blue line).
Start-to-start (SS) relation is correctly preserved only when the relation is created/changed in Easy Gantt, not from the task update window.
It's not allowed to add a relation between a parent task and its subtask.
Between two tasks can be no more than 2 relations (start-start, finish-finish).
Any combinations of relations leading to a cyclic sequence of tasks (looping) are not allowed. This includes attempting to create a relation with any task that has a parent.
A task on the timeline cannot be edited so that it starts or ends on the day of the public holiday according to the calendar of the currently logged-in user, even though the assignee of the given task does not have a holiday on that day.
There can be only one Gantt module on customizable pages (homepage, project overview, etc.). This includes modules: Easy Gantt, Resource management, Personal Resource management - if one of these is active, no other will be shown on the same page. This is due to page loading speed. A workaround is to put these modules on different tabs of customizable pages.
Only ruby 2.1+ is supported