“Can your system help us? We have two distinct groups.”
This is a remarkably common request here at HMS. In our case we’re talking about how to take care of timesheet collection for multiple groups using our TimeControl timesheet system but the request is common to many project management environments.
This comes up whenever we have multiple groups trying to use the same project control environment. From one perspective, there are many benefits to grouping data together. From a very different perspective, there may be many legitimate reasons to keep the data apart.
Some project systems have tackled this by using multiple project environments where independent projects are somehow linked together. Other systems use filtering to keep the data in one place but act as though it is distinct.
Let’s take a look at the benefits and challenges of each approach.
In a combined environment, all project management data is in one database. Some of the benefits of this include:
- Global reporting
- A single system for technical maintenance or licensing and;
- One set of standards
There are, however some immediate challenges:
- Difficulty supporting different system settings. This can be as simple as the number of working hours in a day or the time zone of one group vs. another
- Individual group reports
- Different forms of analysis by group
The decision to group data together can deliver some economies of scale that is often worth the challenges if, the distinct requirements of each group can be somehow met.
In a separated environment, each group maintains its data in a distinct database or instance of the system. There some benefits to this too:
- Each group’s setup is easier to define and deploy as there is no compromise to be made for the groups of other requirements
- Security can be wrapped around the entire environment instead of within the system.
- Standards are faster to determine as only this group must be accommodated
There are challenges to this environment also.
- Global reporting can be either impossible or, at least much more challenging than in a Combined environment.
- Multiple systems or instances must be maintained technically
- The lack of centralized standards will carry forward to process and procedure and this will make interpreting the combined data as much more challenging
So? Which is best?
There is no obvious answer to this question. But, as a system publisher, we have had to tackle this challenge. Our decision with TimeControl was to prefer Combined environments. But, even as we created the support for this, we have been faced with how to support the individual requirements to allow each group to enjoy their own individual settings while living in a single instance with other groups or divisions.
Our approach was to embrace flexibility across the spectrum of functionality within TimeControl. We put an emphasis on full-feature filters on every element of the system. You could display or hide table records from one user-profile to another. Profile security had to go to the field level so user defined fields could be displayed or hidden by role. Business Validation Rules could be global or could be specific to only one group. Languages could be adjusted by user profile so that terms that are appropriate to one group show up differently than another. Reporting would show only the data to which that user had access. This is all completely transparent to the user. After all, all they care about is finishing that timesheet as quickly as possible late on a Friday afternoon so they can go home and enjoy their weekend.
Virtually all parts of the system could appear to be independent yet in the background still be part of the same database.
From the publisher perspective it has been a lot more work but the payoff is in the eyes of the client. We have been able to support organizations with thousands and thousands of users, divided by division or group or geography without having to resort to separate instances of the system.
Being able to be the same but different is just the water we swim in around here.