OnePlaceLive Scenarios Unleashed: Project Management
This article belongs to the "OnePlaceLive Scenarios Unleashed" series that looks at how OnePlaceLive can be used to solve common challenges and issues associated with building business solutions (systems) on SharePoint. Each article takes an in-depth look at a single realistic business solution (scenario) and how to apply OnePlaceLive to overcome the key challenges faced.
Before reading this article it is recommended that you have read the series introduction article that introduces the OnePlaceLive product and the Solution Profiles concept.
This article is structured into 3 main sections:
- Scenario – This section introduces the business system that will be used throughout the article and the information architecture used by the system.
- What is possible using OnePlaceLive Solution Profiles – This section identifies the key challenges or problems that the business system suffers from and then shows the result of using OnePlaceLive to overcome the challenges and problems.
- Deep dive into how to achieve these outcomes – This section provides step-by-step instructions on how to apply OnePlaceLive to achieve the results shown in the previous section.
Project Management, Engineering, Construction, Design
This scenario depicts a project centric engineering company. Projects are carried out for external customers and projects typically run for several months to several years in duration. Each project is appointed a single project manager who is responsible for the project, and also has a project team who are responsible for conducting some form of work during the life of the project.
The projects typically contain a lot of documentation (both internal and shared externally with customers). At the moment most sharing of documents outside the company happens via email.
The company has a single office and all staff and customers are located geographically close together.
The company is usually operating with 10 - 15 projects active in different phases (this is expected to increase as the company grows).
A SharePoint solution has been implemented in Office 365 to service the needs of the Project Management Office so that projects can be run in a consistent, controllable and governed manner.
The Project Management Office solution has been implemented in SharePoint/Office 365 with the following site structure.
The top level Project Management Office site is the navigational entry point into the system and contains a Project Register list. This is a list that defines every project within the system along with its important metadata such as Project Title, Customer, Status, Phase, Project Manager, Project Team, and Budget.
The Project Register list also includes project tracking information such as % Over Budget and % Behind Schedule which the Project Manager is responsible for keeping updated, allowing an efficient high level view across the health of all projects.
The projects are managed, and relevant documents and email stored, in individual project sites (which are created as sub-sites to the top level Project Management Office site). Each project site is created from a common site template which contains:
- Document library for storing all documentation/files related to the project. This library is provisioned with the following consistent folder structure across all projects:
- Scope (folder) - scope is set during project initiation and requests to change scope involve a formal process so any documentation related to scope and/or scope change is stored here.
- Resources (folder) - background information and resources used during project initiation are stored here
- Operations, Legal & Financial (folders) - these folders represent three different functional areas of the business. Operations is responsible for the actual work performed in delivering the project and generates the most documentation.
- Email library for storing all email sent and received that related to this project. This library has been created from the OnePlaceMail Email library template so that columns exist for all standard email properties and are automatically captured.
- Tasks list for tracking all project tasks and assignment to project team members
- Issues list for tracking any issues that arise during the project
- Calendar for tracking project milestone dates
Each project list item in the Project Register (of the top level Project Management Office site) contains a link to the relevant project sub-site. The following image shows the Project Register and links to the project sub-sites.
Business challenges faced in this scenario
- Delivering the solution to different user groups within the company
- The decline in useability of the solution as the number of project sites grows
- Presenting users with personalized views of projects that they are working on or that are relevant to them
- The time it takes to locate a project and then the appropriate location within a project when working with email and documents
What OnePlaceLive can deliver to overcome these challenges
- Provide users with a consistent experience from Outlook, Office, Adobe and Windows Explorer to interact with the Project Management Office solution.
Adobe Reader / Acrobat
Office (Word, Excel, PowerPoint)
- Provide an experience for users to interact with projects that can scale to a large number of projects
Active Projects – Work with just those projects that are currently active without old inactive projects cluttering up the navigation
All Projects – The number of active projects is relatively small and remains fairly constant. Over time however the number of inactive (closed) projects just keeps growing and search is a much more efficient method of locating these projects.
- Provide users with a personalized experience to capture and access content from the solution:
Projects I Manage – Give Project Managers a dynamic list of active projects where they are the project manager. This list will change as new projects are created, old projects completed and project management responsibility is reassigned.
My Projects – Give users a dynamic list of active projects where they are part of the project team. This list will change as new projects are created, old projects completed and project team membership changes.
- Streamline the capture process for saving into Email libraries within a project site. Rather than presenting the user with a list of project sites and the user having to navigate to the email library with the site each time, OnePlaceLive makes it possible to directly show the Email library from within each project site at the same level.
- Streamline access to the frequently used Operations folder within the Documents library of project sites. OnePlaceLive makes it possible to dynamically identify projects the user is working on and then present the user with the Operations folders (a subfolder within the Documents library) of each of the project sites.
1. Delivering the solution to different user groups
We have two fundamental groups of users:
- Operations Users - The Operations department are the main users of the solution. The project manager and entire project team all belong to the Operations department. These users are working on, or responsible for, specific projects.
- Non-Operations Users - These users don't belong to the Operations department but require access to the solution when needed for functional roles across all projects (e.g. Financial and Legal). These users are not specifically working on a set of projects for any length of time and may need to work on any project at any time.
To cater for the differing requirements of our two user groups we will create two solution profiles in the OnePlaceLive client.
- Project Management Office - this is for non-operations users
- Project Management Office (Ops) - this is for operations users
Let's tackle the non-operations users first. This user group needs to have the system readily available but we don't know ahead of time which projects they will want to access.
We will start by giving these users access to all projects, to do this let's create a Central Register profile item and configure it the use the Project Register list held in the top level Project Management Office site. We will leave the Central Register Query blank as we want all projects to be returned.
While we are here we will also setup a shortcut to the Online Help document library in the root Project Management Office site so users will always have it handy. For this we setup a Shortcut profile item, we are prompted to select the location in SharePoint we want to link to, here we have selected the Online Help library.
Since this Online Help library isn't a location we expect users to be saving to, we have left the Capture behavior settings as default.
Before we publish and save this solution profile, let's edit the solution profile itself and change its availability so that it is only available to our groups of non-operations users that need access to the solution (Legal and Finance). It is recommended that you use AD groups where possible.
We will now ensure the status of the profile is set to Published and save the changes, then flip over and take a look at how this looks for a user consuming this profile.
In Outlook the user can see the Project Management Office solution profile and the All Projects and Online Help items directly available from the Outlook navigation pane.
Dragging and dropping an email to the All Projects folder results in the OnePlaceMail Save Window appearing and allowing the user to select the appropriate project. As you can see the list of all projects is quite long, we will address this and other scalability issues in the next section.
The Solution Profile items within Outlook provide direct access to SharePoint content. By selecting the All Projects item, all projects from the Project Register are available in a tree view that can then be navigated and content previewed.
With OnePlaceDocs Explorer, the user enjoys the same consistent experience when navigating the Project Management Office solution profile.
This user experience is consistent across the entire OnePlace Solutions Product suite including insert and save operations from Outlook, Word, Excel, PowerPoint, Adobe Reader, Adobe Acrobat.
To complete this section we will return to the OnePlaceLive client and configure the visibility of our second solution profile so that it is only visible to our group of Operations users. In the example below I have just made it available to Tom and Sally who we will be using to demonstrate some of the personalization techniques later in this article. It is recommended to use AD groups rather than specific users.
We have achieved the objective of deploying the Project Management Office solution to different user groups by using multiple solution profiles and making them available to targeted groups of users. This allows the flexibility to now configure these profiles independently to best fit the different user groups of the solution.
2. Maintaining useability as the number of projects grows
Currently our profile is configured to show All Projects from the Project Register list. Already you can see that this presents the user with a long list of projects to select from. Over time this list will keep growing and the solution becomes more difficult and time consuming to navigate. We can address this challenge by replacing the All Projects item with an Active Projects item. Since the company is typically working on 10-15 projects at any one time, these active projects represents a much smaller subset that will be easier to navigate and removes all the old inactive projects from the list.
To create the Active Projects item we can simple rename our All Projects Central Register profile item, we then need to specify the Central Register Query to limit the projects to just those with an Active state of Yes. How do we achieve this? The OnePlaceLive client makes it super easy, as you can have it write the query for you based off any view that exists in the Central Register list. So let's go to the Project Register list in the Project Management Office site and create a view showing Active Projects.
Now in the OnePlaceLive client we can use the "Base query on Central Register view" button to select the Active Projects view we just created and the query is written for us.
Note that this is a one-time export of the query from the view. If you modify the view, the changes won't be automatically reflected in the solution profile item. You are free to then modify or extend the query, or you could enter the CAML query directly without basing it on an existing view.
Here's the result from the users perspective, we now see a much smaller and more relevant list of projects which over time shouldn't grow as the company typically has 10-15 active projects at any one time.
If the company grows and has capacity to have more active projects then we could look at using other project metadata to keep the list of projects manageable. Perhaps they expand their market into a different area, we could then split projects by area and have solution profile items per area such as Active Projects (Green Lake area) and Active Projects (Blue Hills area).
This partially solves our scalability challenge, but we still need to be able to get to those inactive projects if we need to. Unlike the active projects, the number of inactive projects is just going to keep growing. In time we will have hundreds or even thousands of inactive projects. Eventually (when we get up into the thousands of projects) we will start to hit SharePoint threshold limits and we simple can't show that many projects in a single list (not that it would be very useable anyway!). This is the perfect use of a Search Location profile item. The Search Location item allows us to use the SharePoint Search service to find SharePoint hierarchy (Site Collections, Sites, Lists, Libraries, Document Sets, Folders) and present these results to the user. So let's add an All Projects search location to our solution profile.
Here's the result from the users perspective. When they select the All Projects location an initial search is performed which executes the base search query we configured (all web sites), and returns the first 25 results.
The user can then enter a free text query to refine the search results and locate the project.
Now the user can drill into and navigate the site as they normally would.
When search locations are used in Outlook a drag/drop operation to save an email into SharePoint immediately opens the Save to SharePoint window with the initial search results presented ready for the user to refine.
We have now achieved the objective of keeping the solution useable as the number of projects grows over time. The user experience is now consistent and remains just as useable if there are 50 projects or 5,000 projects.
3. Personalized views of projects
We will continue by working on the Project Management Office solution profile for the Operations group of users who actively participate in projects as either project managers or members of project teams.
If we take a look at the Project Register list we can see that each project has a single project manager and one or more users listed in the project team.
In SharePoint the Project Manager column is configured as:
- Person or Group column
- Only allow single value
- Only allow people (not groups)
In SharePoint the Project Team column is configured as:
- Person or Group column
- Allow multiple values
- Allow people or groups
- Not required
We can use this information in our solution profiles to be able to personalize the projects that users are presented with.
Projects I Manage
The first item we will tackle is giving project managers the projects they are responsible for. We will use a Central Register profile item for this as we can use a query on the Projects Register list to locate all active projects where the current user is the project manager. In the image below I've created the Projects I Manage item within a category folder called My Work. We will create the personalized items under this category folder to keep a clear distinction.
Rather than writing the CAML query ourselves, we can base this one off a SharePoint view. We will now create a view in the Project Register list called Projects I Manage and set the filter on the Project Manager column to be [Me] which is a reserved token in view queries to represent the current user.
If we go to this view in SharePoint (logged in as Sally Jones) we can see the projects list has been filtered correctly.
We can now return to our OnePlaceLive solution profile item and base the Central Register Query on this new view by using the button. This results in the query being written for us, as shown below.
Here is the result from Sally's perspective when using OnePlaceDocs Explorer.
These projects are now self-maintaining as they are driven directly from metadata in the Project Register list and Sally will always have the active projects she is managing quickly available. As a project moves from active to inactive, or if a new project manager is assigned, the project will be automatically removed from this list that Sally sees.
Project Teams I Work On (My Projects)
In addition to managing projects, Sally will also be involved in other projects as a member of the project team. There are other operations users, such as our engineer Tom, that do not manage any projects but are on the project team of many projects. So we want to create a profile item that will display all projects a user is working on whether they are the project manager or member of the project team.
We will again create a Central Register profile item to address this, but this time we are going to have to write the query ourselves as it's not possible to create a SharePoint view that can handle all the membership conditions we need to cover. It's beyond the scope of this article to discuss CAML queries in depth so I'll just show the necessary query with some annotation to explain the different parts.
Using this query we are able to create the My Projects profile item
When Sally uses OnePlaceDocs Explorer, the My Projects item includes all the projects she manages plus any projects where she is a team member.
If we take a look at the same solution profile through the eyes of Tom Brown (an engineer involved in many project teams) we see the projects returned are personalized to Tom.
We have now achieved the objective of providing personalized views of the SharePoint system that are self-maintaining, and we've driven SharePoint locations directly to the users that need them. As a user I no longer have to go to SharePoint and find the Project Management System site, then find the project sites that are applicable to me or that I'm working on. They've found me and surfaced themselves inside the desktop applications I use (exactly where I need them), and because this is based on dynamic queries and search, my projects will keep finding me in future without any ongoing administrative overhead.
4. Streamlining access to locations within a project
Up to this point we have been focused on getting the right projects to the right users. Next we are going to take a look at the user experience navigating within a project and discuss some techniques for increasing efficiency in this area. We will continue looking at the My Projects items which we have already made personalized as these represent the projects that a user is going to be working with most of the time.
If a user expands a project under My Projects, they are presented with the structure of the site (as expected) and can then drill down to the location within the site that they want to access or save to. Since our solution profile has context and we know the user is working with projects with the Project Management Office, and we know the site structure of each project site, we are in a position to offer our users something better than just a generic SharePoint structure to navigate.
Let's look at this by taking two common actions that a user would be performing and see how we can make these more efficient.
Streamlining the email save process
By using the My Projects item in Outlook, this would be the user experience of transferring an email to SharePoint:
We are going to create add a new Central Register profile item to our solution profile in the OnePlaceLive client and call it My Projects - Email. The purpose of this item is to give users a direct link to the email library within the project sites. The configuration and query is exactly the same as for My Projects (so we are starting with a personalized list of project sites). Now we can use the Descendant Locations section to tell OnePlaceLive that it's not the project site (that the query returns) that we are interested in, rather it's a location within (descendant location) that we want. So we go ahead and add a descendant location providing the display name that we want to appear "Email", the URL of the Email library relative to the project site, and the type of SharePoint location that the Email library is.
Now back in Outlook we can see that we have simplified the process of transferring an email to a project by eliminating the need to navigate within a project.
Following a save operation a Recent Location is created to the email library. This Recent Location retains the name of the project to allow for one step drag/drop operations to transfer subsequent emails to recently used projects.
Streamlining the document access process
Each project contains a Documents library and has the same five top level folders. As described in the Information Architecture section at the top of this article, the Operations folder is where most of the documentation is created. As far as the Operations team is concerned this is where they store all of their documentation during the running of the project. Other functions of the business create content in the other folders.
As we did with saving an email, let's look at the number of steps it takes for a member of the project team to access content in a project's operations folder.
We are going to create add a new Central Register profile item to our solution profile in the OnePlaceLive client and call it My Projects - Operations Docs. The purpose of this item is to give users a direct link to the Operations subfolder (within the Documents library) within the project sites. The configuration and query is exactly the same as for My Projects. This time we use the Descendant Locations section to tell OnePlaceLive that it's the Operations folder within the Documents library that should be displayed instead of the project site returned by the Central Register query. So we go ahead and add a descendant location providing the display name that we want to appear "Operations", the URL of the Operations folder relative to the project site, and the type of SharePoint location that that the Operations folder is (LibraryFolder).
Now back in OnePlaceDocs Explorer we can see that we have simplified the process of accessing the Operations Documents folder from 3 steps to 1 step.
In this article we've seen the solution profiles in context of Outlook and OnePlaceDocs Explorer. The same consistent user experience extends to other core applications where the user works as well, including Word, Excel, PowerPoint, Adobe Reader, Adobe Acrobat, and Windows Explorer.
5. Hiding lists and libraries to remove clutter from Project sites
The project sites all contain a Site Assets library, this library could be considered a part of the design of the site and is not a location that end users should be storing documents in. For this scenario we also want to remove the Calendar list.
We can remove locations from the project site by modifying the Active Projects Central Register item adding multiple descendant locations. Add one location for each list/library we wish to show to the user, all other lists/libraries will be hidden. As you can see from the configurable Display Name, we have the flexibility using descendant location to rename or present the list/libraries with a different name if we want.
After making this change the appearance of the navigation is changed and we have been able to present a view of the site with the Calendar and Site Assets libraries filtered out.
This article has demonstrated how OnePlaceLive and Solution Profiles can be applied to overcome common challenges that are encountered building robust and scalable business solutions on SharePoint/Office 365 that keep end users engaged and productive.
Solution Profile features used in this article
- Publishing Solution Profiles
- Shortcut location items
- Search query location items
- Central register list items
About the Author
Senior Software Architect
Cameron is a founding architect and developer of the OnePlace Solutions suite of products (OnePlaceMail, OnePlaceDocs, OnePlaceLive) and has a continued focus on product development at OnePlace Solutions for existing products and bringing new products to the market.
Connect with Cameron
+61 2 99771312