Seilevel
Seilevel Home
Back to Blog Home - Requirements Defined

Thursday, August 02, 2007

An issue of understanding (users)

We deploy Sharepoint as one of the ways to collaborate on software projects. The basic organization of Sharepoint is a hierarchy of sites. Within those sites are lists and document libraries. The lists take the form of announcements, calendar entries and tasks. One of the key functions that is missing is a way to roll-up these lists from lower levels in the hierarchy to the higher levels. Microsoft provides a roll-up web part that somehwat satisfies this need by creating tabs for each site. If I want to see my tasks I have to click in each tab. This is hardly better than the default functionality.




Various companies have now made web parts that they sell for thousands of dollars specifically to create these roll-ups. If they are so useful, why didn't Microsoft include them? Was it just an oversight? Well it turns out it was a conscious decision on the part of the product management (requirements) team. Venky (Sharepoint Product Manager) is a very smart guy so why the oversight? There is a discussion on his Sharepoint blog here.
Venky writes:

There are two reasons why we choose to break up by tabs:

1. User Experience: Users are very comfortable with the idea of sites, its context and content in them. The tabs help organize information by that and break up what could be a very large list of items that will need to be rolled-up. Yes, we could have chosen to show the site as a piece of metadata and grouped-by or sorted-by that column, but that doesn't show the containership of the sites and its docs nearly as explicitly.

2. Technical: Because sites can be in any farm (in North America, Japan, Singapore and Dublin, in MS' case), doing a cross-farm, cross-site collection, cross-list query is NOT going to be fast and responsive, as a user would expect. That said, we could have used client-side scripting to pull all this info asynchronously, but then they wouldn't act as a single list easily. We didn't have the resources to build a complete list interaction model in Ajax in this version.

What we have found is that if you search the internet, many people are clamoring for true roll-up functionality. In fact Coras Works sells a roll-up Web part for thousands of dollars to satisfy this need. Venky's heart is in the right place. That tabs help to organize information for what could be a really long list is absolutely a true statement. The real question is whether tabs make it easier for the users to accomplish their tasks.
Here are some use cases that we have run into while creating Sharepoint communities.


Scenario 1
Each functional area in a company has calendar events, we want to roll those up into a company calendar so everyone can see a unified company calendar of all events. These events could be expense payments from finance, last day to to enroll for changes to benefits etc. People naturally classify by date (i.e. what is important in the near future) then by functional area, not the other way around, by functional area and then by date.


Scenario 2
Each functional area owns announcements, we want those to roll up to the top level so everyone can see the running list of announcements from any functional area. If at any given time only one tab has an announcement am I really going to keep clicking all 12 tabs to see if there is anything new?


Scenario 3
I have tasks in multiple functional areas (12) I need to prioritize between them, but I have no way to do this because they are all in different tabs.

If I were to imagine what the requirement might look like for this functionality it might be

The system shall provide a consolidated view of all their documents and tasks.

The current implementation satisfies the requirement, but the requirement doesn't satisfy the actual user needs.


We constantly have this debate within the requirements community. How much do you specify? Ultimately the goal of every software team is to provide software that satisfies the users actual needs. Staying focused on understanding how the users will accomplish their tasks is just as vital to understanding the tasks themselves.




Requirements Defined Newsletter Bookmark and Share

2 Comments:

Anonymous Anonymous said...

From the post:
"The system shall provide a consolidated view of all their documents and tasks.

The current implementation satisfies the requirement, but the requirement doesn't satisfy the actual user needs."

I'd agree, the nonfunctional requirements are missing. How quickly does the user need to be able to review the consolidated list of tasks? How many click are acceptable to view the list of tasks?

8/03/2007 3:33 PM  
Blogger Anthony C. said...

This post is being discussed at http://www.seilevel.com/messageboard/showthread.php?t=645

8/16/2007 9:17 AM  

Post a Comment

<< Home