A few weeks back Patrick Conlan posted an overview of some of the Time Tracking investment areas for Project Server 2010. Today we are going to drill in on one such investment area, namely the Statusing feature area. This screenshots used for this example are taken from a post-Beta Build of Project Server 2010, so if you noticed differences from our November Beta release it could be because no one has seen some of this yet J
Time Tracking is where we focus our efforts on the “Team Member” experience. For those unfamiliar with Project terminology, “Team Members” are generally the set of individuals on a project responsible for task completion, or, put more simply, they are the “Project Team”. Sometimes referred to as “Resources”, organizations know that empowering Team Members to create, status and manage their own work reduces management overhead, increases transparency and encourages individuals to complete tasks in a timely manner. With Team Members as our focus in Project Server 2010 we identified a number of goals to improve the experience:
· Make Statusing easier to use
· Empower the Team Member to customize how they view/manage their own work.
· Help people complete tasks in a timely manner
Easier to Use - Making the Statusing of work easier to use was one of the primary goals of this release. Reporting task progress should not be a complex job that people have to be trained to do, but rather something that should be as easy as using any Microsoft Office product. To achieve this we invested in a number of enhancements, listed below:
Fluent UI: In 2007, Office received a UI makeover. This redesign made it even easier for end users to figure out what actions could be performed merely by glancing at the page. In Project Server 2010 this same user interface comes to the world of Statusing (shown below). Simply select your tasks and the available actions for that task will “light up” in the user interface.
We got a lot of feedback over the years that sometimes it was difficult to know what action a button will perform. In Project Server 2010 this is made much easier through the use of enhanced tooltips. The button tooltip will give a complete description of the button action making it easier to try new actions (shown below).
Keyboard Shortcuts: You will also notice in the tooltip screenshot above that we have added keyboard shortcuts to common actions. For an action like Save, it will improve the overall experience as well as allow keyboard-loving Team Members to spend less time reporting work and more time working.
Microsoft Excel-Like Interaction: We spent many weeks in the usability lab working on Statusing in Project Server 2010, with the goal of making input and task manipulation a seamless end user experience. What was striking throughout our studies were people’s affinity and familiarity with Excel. As such, we modeled much of Statusing’s interaction paradigms off of Excel. As users complete work they merely open the page and type in the cell and save, much like they would update an Excel spreadsheet (see below).
Sometimes the Team Member needs to do more than just enter text. Imagine I wanted to change the start date of the “Draft Due” task above. I could achieve this by focusing the Start cell and typing a date (like Excel) or by focusing the cell and selecting a date from a date picker (shown below).
This allows the user interface to provide for your expert users (who want speed), yet still support your novice users (who need more guidance).
Updated Left Navigation: In Project Server 2010 we have also updated the left navigation pane to help Team Members navigate around the server. We have provided visual feedback as to where you are in the left navigation menu. Since I am currently on the “Tasks” page viewing my work you will see the “Task” link highlighted in blue.
Another improvement that Team Members will notice (especially those on smaller display screens) is the ability to hide the left navigation menu to make more space for the main grid – just click on the “Nav button” (inside joke) to contract/expand the menu:
Error Handling: When Team Members make an error while trying to status their tasks we can usually catch the error before the tasks are saved. The experience is very similar to the underlining of misspelled words you have come to expect in Microsoft Word. For example, imagine I had worked 6 hours today on my “Draft Due” work item. I log into project server and want to mark two hours remaining. While doing so I mistype “hours”. Project Server 2010 immediately corrects me by outlining the cell in red. When I focus the cell it provides more information helping me resolve the issue.
Technical Note: this kind of validation is complex as Project supports many ways of entering duration, so we make a non-blocking server round trip to call a “textconv” routine. This is why you may occasionally see a slight lag between the edit and the error, especially over high-latency networks.
Empower the Team Member – Another important design goal of Statusing in Project 2010 is to empower the Team Member to manage their tasks, their way. During usability testing we discovered that people are very particular about how they track their work and we wanted to provide Team Members with the flexibility to view their tasks in many ways.
Multiple Layouts: One of the first big investments in this area was the ability to support multiple different layouts in the “Tasks” page in Project Server 2010. To demonstrate this I will walkthrough how I have customized my own PWA tasks page to better match how I work. I will start with the default PWA view. You will see it displays task work on a day by day basis on the right side of the screen (shown in red).
This view is great but there’s a bunch of information I don’t care about. We are not required to give a day by day breakdown of work at my company. Fortunately Project Server 2010 allows me to customize this view to better match the way I work. The first thing I do is I go to the layouts dropdown in the Ribbon and turn on the “Sheet” View. Here, I can enable a “Gantt Chart” View of my tasks as well. After turning on the sheet view you will see a much simpler user interface.
Custom Grouping: I made my view simpler but it still doesn’t match my needs. There’s information I am still not interested in. For example my tasks are grouped by “Project Name”. Fortunately even that is customizable in Project Server 2010. I simply go to the “Group By” dropdown in the ribbon and select “Custom Group By”. After doing this, a dialog pops up that shows I am grouped by “Planning Window” (discussed later in this post) and then by “Project Name”. I set Project Name to “None” and press ok. This results in a set of tasks no longer grouped by “Project Name”.
Hide/Remove: Another investment area was enabling users to “customize” the fields which they view on screen as well as placement of important fields. To demonstrate this I will continue with my customization of my tasks. First I will remove some fields that don’t matter to me. Work, Remaining Work, and Actual Work are largely ignored in my organization. In fact, I am primarily concerned with task finish dates and % complete. Project Server 2010 allows me to remove the columns that I don’t need. To do this first I need to hover my mouse over the “Remaining Work” column header. This will expose a dropdown. When I press it I will see a menu. From here I will select “Configure Columns”. This will allow me to hide/unhide the columns that I am currently seeing on screen (shown below).
After hiding the work columns the tasks page now looks even simpler.
Technical Note: when removing fields that no-one will use, it is best to do it in the administrative settings menu as this will improve performance as the data will then never move from the database to the page.
Sorting: In addition to simplifying the number of fields on the screen, I like to sort my task order based on the task finish date. I want tasks finishing soonest to be displayed at the top of the list. To do this I merely hover over the column header (just like above), except this time instead of “Configure Columns”, I will “Sort Ascending” on the Finish Date. Notice the updated column headers icon which now indicates I am sorted on finish date.
Units: For my next customization I want to change the way I see dates. Often I am interested in the day of the week a particular work item needs to be completed. Well I am in luck; the solution for this is just few, easy button clicks away. First I will click on the “Units” dropdown. Then I will highlight the Date item and select the format that matches the information I want displayed. The resulting page will now show dates in the format “Mon 12/14” instead of “12/14/2009”.
Reorganize/Resize Columns: The page looks almost perfect for how I want to view my work. As I mentioned earlier “Finish Date” is really the most important thing for me and I like to see it first when reading from left to right. That’s great because in Project Server 2010 I can simply mouse over the column header and then click and drag the column to the left side of the screen.
Finally I would like the “Finish” column to take up a bit less space on my screen. Since I change the date formatting I really don’t need such a wide column. This is flexible as well in Project Server 2010. I mouse back up to the column headers and pull and drag the right column divider to the left to achieve this affect.
View Persistence: Finally now that I have spent all this time getting just the right view of the work ahead of me, how do I save this view? This happens automatically in Project Server 2010 so there is no reason to save anything. The next time you return to the page your settings will be remembered auto-“magic”-ly on a per-view basis :)
Technical Note: What happens if the underlying view definition changes? If the view definition is no longer compatible then the user is given a dialog warning them to reset to the default.
Help people complete tasks – With the release of Project Server 2010 we really wanted to help Team Members accomplish their work goals. Obviously the interface changes already mentioned will help people spend less time “working” with Project Server and more time working on their work, but we wanted to go further this release and help people identify what they SHOULD be working on as well.
Totals Column: We heard frequently from customers that they wanted a way to determine at a glance how many hours they SHOULD be devoting to a particular work item within a specified time period and to have the option of entering work at the period level.
What was most interesting though was that the time period varied from customer to customer. Some worried about work “today”, others “this week”, even others “bi-weekly”, making it impossible to use the standard Timesheet periods.
In this case bi-weekly is actually what I am worried about, especially since my lead and I meet for our one-on-ones and he generally likes to review what I have been working on. With ease I was able to have Project Server give me totals for tasks on a bi-weekly basis. First I ensured that I had the sheet Timephased View enabled in layouts. Then I went to “Select Period” in the Ribbon. This brings up a dialog which can sync up with my company’s timesheet periods, or lets me define my own periods. I will set the periods to be two weeks long. After I commit the period length I will return to see my tasks and totals for the next 2 weeks. I see I only have 16h of planned work, better not tell my boss :)
Another nice feature of being able to select my own periods is that the Previous and Next buttons remember the setting when moving the view range.
Managing Overdue Tasks: With the release of Project Server 2010 we also wanted a way to bring to your attention all the work has been assigned to you that is already “late”. We had to really use our imagination to come up with this feature since Microsoft has never had any overdue work :) but we got creative and came up with an easy to use solution. For this you just need to go to the ribbon and dropdown the filter menu and select the predefined “Overdue Tasks” filter. The page will update and show you just your overdue work – things don’t get easier than that!
Technical Note: A custom filter can be very powerful when combined with an assignment level task custom field as the Team Member can set a value to hide or prioritize tasks and use the filter (or sorting) to further customize their view.
We really hope that you and your organization enjoy the easier to use user interface and get value our of Project Server 2010 by empowering Team Members to work the way that they WANT to work, within a system that helps them complete tasks.
So much for the Pro/Server version. What of the above can you offer in the Standard version?
The Task Statusing features discussed in the post are Project Server 2010 only.
I really like these improvements, great work. One minor thing...is it possible rename the caption of the fields on the task status view, e.g. Finish Date to Projected Finish or etc, this gives a lot of flexibility in terms of providing end users more organization friendly fields.
Absolutely! There were too many things to mention for one blog post but this is supported :) It is admin only functionality and is defined when the view is created. We have a field called "Custom Label" that allows you to change the column header text of any field in the Tasks Page.
Thanks, nice new features! One feature that there is still missing is the possibility to comment single assingment update in daily level. Like "Where I spend 6 hours on 1st of February in this task". It would help the pm to report actual hours to the customers and explain the difference between planned and reported. Is this feature something that is impossible to create?
Quick question relative to tasks in "My Work"
Does a team member have the ability to link tasks in this view? Trying to find a way to for a team member to identify a dependency that may have been missed during planning
Although the team member does not have the ability to link tasks in this view, they are able to comment while submitting an update that a dependency should be created by the project manager. Thats probably the best way to convey this information