Common Requirements Gathering Questions for SharePoint Solutions
The requirements gathering session is not an interview with a single stakeholder most of the time. It is, more often than not, a conversation with and an education for the client about the art of the possible. It is also an opportunity for the client to vent. Let them. You need to understand the real source of the client’s pain. Ensure the client understands you are the doctor and the client is a patient. Your clients should not tell you the solution any more than patients should search WebMD to self-diagnose and self-medicate before making demands of the doctor. Understanding the real source of the pain is important so you can treat the disease, not just the symptoms, whenever possible.
To properly build SharePoint solutions, one must plan a lot, but this does not require fluff documentation that no one is going to read. The audience to the build plan is not just your primary stakeholder but also your colleagues who work on solutions with you and those who will come work on your solutions long after you leave. These questions will help you with that planning, but you need to remember who your audience is.
General Questions
What prompted you to seek assistance?
Do you have a system in place that satisfies your requirements that is too manual? Is automation going to solve this problem?
Do you already know what you want, or are you thinking you don’t know what it is until you see it?
What is your level of understanding of the SharePoint platform? How well trained are you and your staff?
Do we need to fix something that is already in existence, to scale it for a larger audience, to create something similar to a solution someone else has, or to create something from scratch?
Are there regulations or laws that I must consider when creating the solution aside from Section 508?
Are you wanting a solution to track things in phases?
Are you wanting a solution that aids with scheduling things?
Are you needing to integrate the solution with Outlook in any way?
Is this solution a library or set of libraries to store a lot of documents?
Is this solution to solve something mission critical, improves efficiencies, or would be nice to have for cosmetic reasons?
How many people will the solution support? Your section, office, business unit, or the whole organization?
Is this for an organizational site discussion your office and only working with your office’s business, an application site where the content solves a particular issue for the whole organization, or a community site where groups of people get together to collaborate on small group of issues?
Permissions Questions
Who enters data into this system? In that group of people, are there individuals who should not be able to alter or see data entered by other people?
Who consumes the data? Do they consume all of the information, or do they consume a smaller set of the data or just aggregated numbers?
If this is a tracking system or an approval system that has phases to it, do permissions by the creator or anyone working on each phase need to not have permission from one phase to the next?
All of the people who will be working with this system should be considered stakeholders even if they are not necessarily decision makers on the design of the final solution. Have you sought input from them on what they would like or what they do not like about the system currently is use?
Who are the other stakeholders?
If this is a library or set of libraries to store documents, are there some documents that some people can see while other cannot?
Do any special groups of people—like an IG office—need to have view rights to the content, so we can add them and not allow others the ability to block their access?
Information Architecture Questions
Do you need to be able to aggregate data from multiple sites, lists, or libraries?
Do you need the Quick Launch, the menu of links on the left side of the page, to change with each page of content?
Pages are just what you see. They have structured and unstructured content and end with .aspx in the URL. Sites are all of your pages and supporting lists, libraries, surveys, and discussion boards. Do you believe you need a subsite to an existing site or multiple subsites, or do you want just new pages and whatever lists and libraries are needed to support them? This is where you really need to understand the implications of the answers and not just take down the answer because it is at this point where a lot of clients need an education on how this affects the solution development and the pros and cons of each.
How many subsites do you already have for your organization, office, section, or team?
How do you want your data to look in a year, two, or five from now?
SharePoint has limits on how many items can exist in a list or library view and in the list or library itself. What is the growth rate of items you will add to the lists or libraries involved in the solution?
If something in one of the lists or libraries change, do you want to see what the previous values were? SharePoint has version control, so you can roll back to previous versions, which is one option. We can also limit the number of versions. We can also do major and minor versions when dealing with documents. Only major versions are visible to those who received read permissions.
Do you want to archive your data somehow? How do you define archive? Is that just moving it out of the active list or library into a list or library that does not change? If it hits an archival stage in its lifecycle, does it need additional metadata to reflect that stage, a disposition of some kind?
Do you need a disposition on the lifespan of your data? Do you want to automatically move or delete the content after a certain period or after a certain event happens?
Do you want individuals the ability to delete any of the data, or do you want there to be a process to formally remove rejected items to another list or library for review by others in the future? Who can see the rejected/moved items?
Do you want any kind of audit log to allow users or any other audience the ability to see changes made on items over their lifecycle?
Data Definition Questions
If we are working with documents, do you understand the term metadata? You might need to define this for the client, and don’t confuse them by saying it is data about data. It doesn’t make you look like the smartest person in the room, just the most pompous.
Most documents will need some kind of metadata. You will probably need something like the security classification of the document. You might need to know the office where the author works. Using metadata means you don’t need to be as strict with naming conventions for your documents that you would never be able to get people to follow anyway. Over time, any convention used will often change because of personalities in the office as well, so it is best we use enough metadata so that those consuming the content will be able to easily find the documents. Can you think of anything you would like people to add so that things can be easily sorted, grouped, and filtered to aid in the retrieval of your documents?
If the libraries could contain Adobe PDF documents, do you know if optical character recognition (OCR) might have been run on the PDFs before saving them? If no one ran OCR, none of the text in that PDF is searchable by SharePoint. Metadata will be extra important for these files to be able to easily retrieve the right documents you need.
Are you looking to have metadata that applies to some documents in a library with other documents that would not have some of that metadata apply? We are talking about what Microsoft calls content types. You can think of them as types of content. Any content type would be a templated set of metadata for like items. For instance, project plans might need to have the names of the project as a piece of metadata where the flier for the last office picnic would not. By creating a content type for project plans we can specify unique metadata for those that are not optional or required by other content in the library. This is a good opportunity to pull out the solution planning worksheet and show the matrix of content types and their columns.
Are there columns—you can think of them as fields if that is easier—where you might need to calculate values from other columns or that need to be hidden from the user in different phases of a tracking or approval solution?
How would you like to see the data on the screen? Charts and graphs can be very complex or not something we can even do with the resources we have. We can group, sort, and filter the items in lists and libraries by their metadata much like you would do with a query if you have ever used MS Access. We can create many views for each list or library so that everyone sees the data they need to see. You might want to have a view for a group of people that is different than what another group of people should see. This isn’t about permissions. It is about removing the irrelevant data points so that one can evaluate the data more easily at a quick glance. Can you just say which columns you would like to see from left to right on the screen? Think about how you might want to view completed items, old items, things that are close to a suspense or have passed a suspense.
Would you like any instructions on the side of the list or on top of it to provide context for either those entering data or those consuming it?
Would you like to audience any part of a page? Audiences are not permissions. You can think of them as directed advertising. This helps to keep the pages as clean as possible with fewer distractions for those people who might not need to see certain pieces of content but would have access if they wanted to find it.
Workflow Questions
Can you already draw how your data moves and would work now?
Do you already have it drawn in some kind of SOP?
Are there exceptions that are not included on the drawing because the person is somehow special?
Do you want any kind of automated email message to go to people when things are added or changed in the list or library?
Do you know what alerts are? If we use alerts instead of a workflow, recipients can indicate the frequency of emails to a daily or weekly digest. If people get too many emails, they tend to stop opening them.
If we are using a special message for the email notification with a set of instructions, we will need to create a workflow. Do you need different messages for different groups of people? One message for the person who just entered the data and another for someone who needs to view it?
Wrap Up Questions
What would define success for you for this solution?
What kind of timeframe do you have to get a working solution available for your staff?
Is there anything else you might want that we didn’t address like colors, fonts, buttons, animations, etc? We would like to make the user interface pleasing and intuitive and make the user experience one that drives people back to the site, but ask what is purely cosmetic and what would actually achieve benefit for the users. Would you get the return on investment if I needed to spend a lot of time to achieve something more cosmetic?
What kind of training do we need to give to your staff? She we have other instructions available for someone to click on to see how they should use the solution?