6 PMO productivity pointers for Microsoft® SharePoint® Team sites: Libraries

Top tips drawn from experience

SharePoint tips - Libraries

To create an project or programme information hub, you could do a lot worse than setting up a SharePoint team site as suggested by Dux Raymond Sy’s definitive book on the subject. If SharePoint is already used in your organisation, it’s virtually a no-brainer.

SharePoint document libraries represent a great way to share documents across teams, giving you features like metadata classification, automatic version control, and more efficient document management. Julian Maynard-Smith outlines the benefits of a proper document management system in this great post.

However, there are some things that I have discovered for myself over several years of creating and using project management libraries on SharePoint sites that I would like to share with you.

1. Set up document libraries using reference data and standardised views.

  • Set up lists of reference data you want to be available throughout your site (e.g. project name, project stage, document type, document status, etc.).
  • Create a customised document library template containing fields that “look up” this reference data
  • Create a consistent “family” of useful library views that use this data, such as:
    • All documents (grouped by project, then document type)
    • Draft documents (grouped by project, then document type)
    • All documents grouped by Governance body and then status, sorted by review/issue date (for when you want to check what was reported three SteerCos ago)
    • All issued documents, by project and then document type
  • For more on how these approaches are useful, see my tips post on SharePoint Registers

2. Set up views based on metadata (and maybe folders)

  • People are used to storing files in a shared network drive using nested folders. This works, but locks you into categorising your documents by just one hierarchy. Consider a document library containing contact details could be organised like a paper telephone directory, with folders arranged in counties, then towns, then business/residential, then sorted alphanumerically by name.
  • This is fine if you want to see records for all the businesses in Bedfordshire, as this complies with the filing structure’s hierarchy.
  • But what if I want to see all the residential records across Bedfordshire and Buckinghamshire, sorted alphanumerically by name but excluding those beginning with Z and P?
  • That’s where metadata comes in. By assigning document metadata (information about the documents, aka “tags”) you can:
    • Filter documents, much as you would in Excel®. So you can “slice and dice” the documents any way you like.
    • Group documents by expandable/collapsible category headings that behave and look a bit like folders.
    • Set up and save your own views, and look at documents differently from other users at the same time.
  • Disadvantages include:
    • Users often don’t tag files with metadata on uploading, even though they subconsciously do it in a file share by choosing which folder to put a file in. This could lead to many unclassified documents. The Programme Office (PgMO) could tag documents of course, but to do it all is a lot of admin and the document owner usually knows the document content better than the PgMO. You can of course require users to add metadata, but this can cause problems when the available tags don’t quite fit (so the PgMO needs to add new values to the field list), or a user is unsure of what metadata to add (PgMO needs to educate users).
    • File grouping can only go two layers deep, so you have to apply grouping thoughtfully, and use sorting or filtering below that.
  • An option that works for both philosophies (kind of) is to set up libraries with a standard set of folders, but also set up views that ignore the folder structure, using metadata instead. That way, people can find information using the approach they are the most comfortable with. And the point of a document library is to enable people find the information they seek, faster.

3. Use check-out and versioning

  • OK, so this is covered in Dux Raymond Sy’s book, but its so important, I want to highlight it here.
  • Using this feature:
    • Prevents the absurdity of “who saves last wins” (when two people are working on the same document, making competing changes, and saving the document with the same name)
    • Enables you to “permalink” to the latest version of a document (so that the URL you issue for a document always points to the latest version)
    • Enables you to see all the previous versions of a document (along with who created them when) and reinstate any one of them as the current version.

And why wouldn’t you want all that?

4. Create document libraries from your template

  • To determine how many libraries to create, think about how people will use the documents you store in them.
  • One library per project might make sense; a separate library for sensitive documents (e.g. contracts, quotes, invoices, resourcing plans, etc.) definitely makes sense (to appropriately manage access to sensitive content).
  • Creating new libraries created from your template means that the new libraries will already contain all the document fields and views that you put into the template.

5. Set access permissions at library level

  • Although you can assign permissions at folder and even document level, this can cause confusion as it is possible to assign access to a document, but not the folder that contains it.
  • This means the user can access the document if they are directed to it (e.g. from a hyperlink). However they cannot browse to the document location, so they have no sense of “where” it is.
  • There is effectively a permission “wormhole” to the document that doesn’t pass through any intermediate locations. So the poor user will know the document exists, but it will be virtually impossible for them to find it again without the hyperlink(!). To get an idea of what that looks like, take a look at this.
  • Also, SharePoint is not great at showing you how you have set these exceptional permissions, so it is hard to know who has access to what.
  • Setting access at library level with inherited permissions makes this much easier to handle.

6. Set access permissions using groups

  • Name groups according to who they contain rather than the type of permissions assigned to them. A group created to assign read permissions to library X and called “Lib_X_read” may later be used for another purpose for which that name would become confusing. It would be better to call the group something like “Project Managers” or “Business Analysts”, and assign appropriate access permissions to the group.
  • Although you can assign permissions to individuals, it is better if you assign permissions to groups, and manage permissions by amending the users in these groups.
  • If you accidentally delete all users from a document library, sub-site or (heaven forbid) an entire site collection, then it is much quicker to restore access if users are already in a group such as “<SiteName> All Members” than it is to manually restore access for each and every user or to put each and every user into a group as they really should have been in the first place. Trust me. I know.

So that’s my list of productivity top tips for SharePoint document libraries, learned through the experience of getting it wrong and coming up with a better way.

This article covers only the document library tips that I could explain in a compact form without the need for diagrams or examples. It doesn’t include many other conventions that I use when creating and managing SharePoint team sites to improve efficiency or usability, otherwise this article would have been more like a book (it’s already pretty long)!

If you would like to have the benefits of a document management approach like this but prefer not to have to worry about this sort of techy stuff, why not talk to us about taking care of it all for you on your next big project or programme?


® Microsoft, SharePoint and Excel are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Image “Trinity College Library (1 of 2)” by brett jordan, https://www.flickr.com/photos/x1brett/6382651341, Licence at https://creativecommons.org/licenses/by/2.0

6 PMO productivity pointers for Microsoft® SharePoint® Team sites: Registers

Top tips drawn from experience

SharePoint tips - Registers

To create an project or programme information hub, you could do a lot worse than setting up a SharePoint team site as suggested by Dux Raymond Sy‘s definitive book on the subject. If SharePoint is already used in your organisation, it’s virtually a no-brainer.

Project management “RAID” registers are prioritised lists of things like Risks, Issues, Actions, Decisions and so on. Keeping registers helps you to keep track of the factors affecting your project, and the things going on within it, so that the whole thing ticks along more smoothly.

Microsoft SharePoint offers some facilities that can be used for this quite effectively, However, there are some things that I have discovered for myself in several years of creating and using project management registers on SharePoint team, sites that I would like to share with you.

1. Plan reference data

  • Decide what data you want to be available throughout your site – the sort of thing you might set up in Excel using data validation to populate drop-down menus from lists.
  • These lists could contain information such as the programme’s projects, locations, project stages, governance bodies, etc.
  • It may sound odd to consider this at the outset, but you need it in place before you set up the RAID registers. It is far quicker and easier to create registers from a template that refers to pre-existing data lists than to reconfigure registers once you have realised it would be neater for them to use reference data.
  • Set up any governance bodies (such as SteerCos) as SharePoint groups. You can use these anywhere you might use a person, e.g. for things like “assigned to”, “raised by”, and “escalated to”
  • Set up your other reference data as SharePoint lists. This means:
    • Changes in the source list automatically become available for use across the site, including in registers.
    • You can “hide” reference data lists by preventing them from displaying on the main site navigation bar. You will know where to find them for editing (in “site contents”) but most users won’t.

2. Create a custom RAID register template

  •  You will probably want to create a “family” of registers (for Risks, Actions, Issues, Decisions, etc.), that share many fields (Date raised, assigned to, Title, Description, Score, Progress, etc.)
  • I recommend that you first create a risk register (by augmenting SharePoint’s built-in “Issue Tracker” template)
  • Set up relevant fields to “look up” reference data from the lists you created earlier, (e.g. project name, project stage, document status, etc.)
  • Save the risk register as a list template, to use when creating other registers. Of all the registers, the risk register has the most fields, so in order to create other registers you will either be removing unwanted fields from the template or repurposing them slightly. This is quicker and easier than creating registers from scratch, and ensures that reused fields are set up consistently across registers.

3. Create a consistent “family” of RAID register views

  • Most people don’t want to view all the items in a RAID register; they are mostly interested in their items, or open items, or their open items.
  • So, create a core “family” of consistent register views (All items, Open items, My items, My open items), all sorted by due / review date and priority.
  • These can be outline views (containing only a few columns) as their main purpose is to enable quick review and finding of RAID items for updating.
  • Create an “Open and recently closed” items view, which is good for reporting to governance bodies as it shows live items and those that have been closed since the last report / meeting (Date closed >= [Today] -28)
  • If you create these views before saving the risk register as a template, then they will appear in any register you create from it.
  • This means that users see the same logical “family” of views whichever register they are in, so they can find information faster and more easily.

4. Use Excel® for reporting on RAID registers

  • For easy and attractive presentation of RAID data (e.g. top 10 risks, issues, etc.), export the register of interest to Excel (SharePoint Classic view –> Lists –> Export to Excel).
  • Do this from a view that shows all the fields. In Excel, hide the ones you don’t want (for now) using data grouping or by hiding columns, then apply any formatting, filters, and summarisation formulae you need.
  • You can create a workbook containing one worksheet like this for each RAID register.
  • This approach gives you data tables (with detail that you can easily unhide) that can be refreshed with live SharePoint data at the click of a button (“Refresh all” in Excel).

5. How to tell which list item number you’re editing

  • If you’re reviewing a list of items in a filtered view of a RAID register, it’s useful to know the number of the item you’re working on (e.g. “Risk 45” or “Action 199”) so that when you go back to the list you know which ones you’ve updated, and which still need updating. But nothing on the SharePoint editing page gives you the number of the item (maybe because this is not an editable field?)
  • However, the number is there if you know where to look; up in the browser address bar, the item reference number is embedded in the URL, e.g. https://[SharePointServerName]/sites/[SiteName]/Lists/[RegisterName]/EditForm.aspx?ID=##&Source=VeryLongTextString
  • Incidentally, you can resolve this problem by creating a view that shows items that are assigned to [Me], AND of which the Status = Open, AND for which the Modified date is not equal to [Today]; this will only show your open items that you haven’t just updated. But the tip is still true 🙂

6. Link items across registers

  • It can be useful to understand where register items came from, e.g. that the action “Recruit developers” came from the issue “Development behind schedule”
  • For this reason it can be useful to add lookup columns to each register enabling users to link to items in other registers (most helpfully via the item title); this cannot be done in a list template as the other registers need to exist first.

So that’s my list of productivity top tips for SharePoint RAID registers, learned through the experience of getting it wrong and coming up with a better way.

This article covers only the RAID register tips that I could explain in a compact form without the need for diagrams or examples. It doesn’t include many other conventions that I use when creating and managing SharePoint team sites to improve efficiency or usability, otherwise this article would have been more like a book (it’s already pretty long)!

If you would like to have the benefits of an approach like this but prefer not to have to worry about this sort of techy stuff, why not talk to us about taking care of it all for you on your next big project or programme?


® Microsoft, SharePoint and Excel are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Image “Sub Cash Register” by Franck BLAIS, https://www.flickr.com/photos/66971402@N04/7569786950/
Licence at https://creativecommons.org/licenses/by-sa/2.0/

SharePoint for Project Management – How to Create a Project Management Information System (PMIS) with SharePoint (Book Review)

by Dux Raymond Sy, O’Reilly Media Inc, 232 pages, £25 RRP
Pragmatic PMO Rating: ****

This book is intended as a “how to” guide for setting up a Project Management Information System, aimed at the practising Project Manager (PM) or Project Management Office (PMO) Manager. In this it is completely successful. The book (safely in my view) assumes a reasonable level of familiarity with both standard office use of computers, and a reasonable level of familiarity with PM principles and techniques, taking this to build a PMIS, so often referred to in PM textbooks as an essential resource but rarely explained or explored in any depth.

Chapter 1 deals with what SharePoint is (a system that enables individuals in an organisation to easily create and manage their own collaborative websites), what a PMIS is (a standardised set of PM tools available within an organisation and integrated into a system), and whether you need one (if you are running anything more than the smallest and simplest projects then you probably do).

Chapter 2 deals with the structure and hierarchy of SharePoint sites, and takes the reader through the creation and customisation of the most basic elements of a SharePoint site (as a practical exercise if you have the necessary resources handy).

Chapter 3 builds on this foundation by adding PMIS elements such as a shared calendar, contacts list, risk list, and document library, using these as opportunities to explain how these SharePoint features work.

Chapter 4 covers the introduction of stakeholders, managing their access to information using groups with varying permissions.

Chapter 5 gets into the use of SharePoint’s document and collaboration features, with a good description of how document check out / check in saves us from playing “whoever saves last keeps their content”, and an overview of SharePoint’s native version controlling approach and whether you need it (you probably do!). This chapter also covers wikis, document workspaces, and discussion boards (with examples you can try out), all of which are intended to promote team collaboration.

Chapter 6 goes into the use of SharePoint’s built-in features to track project progress, with a warning against using the too-basic Project Task list as your only Gantt chart tool. There is a good detailed section on customising lists to use as fairly well-featured Risks and Issues Registers, and a section showing how to manage the items in these lists with SharePoint’s built-in Workflow capabilities. This chapter even goes so far as to show you how to build a pretty serviceable Change Control system using the workflow feature with a customised list.

Chapter 7 takes a look at the Reporting options available. This chapter helps the reader to learn how to set up special views and web parts to create a Project Dashboard, and how to set up alerts to stay informed about what’s happening in the PMIS.

Chapter 8 deals with the integration of Excel with SharePoint, showing how to achieve bidirectional information exchange. Unfortunately direct synchronisation with MS-Project is not possible, but the book suggests an alternative approach to minimise the pain (keeping the management of the MSP plan in the hands of the PM, but allowing the Project team to report updates using a task list).

Chapter 9 rounds off the book by explaining how to shut down a project and its associated SharePoint site, even capitalising on what you have learned from your experience by saving your site as a template.

The issue of how to get users to interact with and properly use a SharePoint site is dealt with in just two pages right at the end of the book. I guess that is not surprising in a book that is really aimed at the technical rather than people aspects of creating a PMIS in SharePoint, but I still found it a little disappointing as this is crucial to adoption and uptake.

Overall, if you implement all the practical exercises in this book then you will end up with a very usable PMIS for very little outlay. You will still need to convince your team members that this is a Good Thing and that using the PMIS facilities is better than storing copies of documents on their Desktop before emailing them to multiple reviewers for comment, but you will have the tools for them to pick up and use.

In a PMO role on a Programme of over 100 team members that uses SharePoint as its document repository, I have referred to this book as my SharePoint ”Bible” most days; as a result it has quickly become well-thumbed! I would recommend this guide to anyone wanting to set up a low-cost, practical PMIS and who wants guidance on how to do this without getting bogged down in technical minutiae.

Related articles