Sunday, August 1, 2010

Google Calendar as a Scheduling Tool

In my never-ending quest for a better way to view schedules, I have found that Google Calendar has some really useful features. I was looking for something better than scribbling in a weekly planner, but less cumbersome and more available than MS Project. Outlook is great for daily scheduling but becomes too cluttered from a month overview.

In Google Calendar, tasks can be entered as multi-day events, and show up as a clearly labeled colored bar in day, week, or most useful, month view. (You can enter appointments, but granularity of a day is most useful for scheduling across a release.) These tasks can be imported from a simple .csv file, output from MS Project or Excel.

One of the most powerful features of Google Calendar is that you can have events/tasks organized into multiple, color-coded calendars, which can be viewed individually or layered together. For example, you can create a calendar for each person you supervise or work closely with, for easier coordination. I would also recommend you create a calendar for your schedule tasks separate from your default calendar (where you might have appointments, holidays, etc.). You can create a calendar for the given release timeline. You might even create a personal calendar for items you wish to recall but don’t want showing up in a public calendar. Individual calendars can be modified, shared with other users, and deleted when no longer needed.

These individual calendars can now be viewed in any combination. Below is an example showing my schedule tasks for a given month overloaded with the tasks of two people I was supervising.

Here are the steps to import a calendar from an Excel task list, as you might get from Project. I assume there are columns at least for the task or milestone name, owner, start date and finish date.

1. Sign up for a google/gmail account if you don’t already have one. This will give you access to Google Apps.
2. In Excel, sort the task by owner.
3. Highlight all the rows for a given owner. Copy and paste them into a new worksheet.
4. In this worksheet, eliminate any columns besides task name, start date and finish date.
5. Add a header row with the following for column names – Subject, Start Date, End Date
6. Make sure the dates are in the format  “mm/dd/yyyy” and save the file as a CSV; for convenience, use a name signifying the person and period covered.
7. Go to Google Calendar, and on the left bar, My Calendars, select Create. Use a name indicating the person and period.
8. Below that, Other Calendars, select Add, Import Calendar. Browse for the CSV file created above, and for the Calendar field choose the one you just created.

Note that a quirk (bug) in the system is that the event created from an import is not inclusive of the last day, whereas it is if you create it manually. This creates a one day gap between tasks – no big deal.

Happy Scheduling!

Update: Here is how I output the information from Microsoft Project that I then import into Excel to reshuffle so I can import it into Google Calendar as an Excel task list.

1. Viewing the project in MS Project, select Save As..., choose CSV (Comma delimited)(*.csv)
2. This brings up the Project Export Wizard. Next.
3. Create new or existing map? Select New map, Next.
4. Select the types of data you want to export. Accept defaults Tasks, Export includes headers, Text delimiter ','. Next.
5. Map Tasks Data. First Field, Select Name in the From column, Subject in the To.
Second Field, From field is Start, To field is Start Date.
Third Field, From field is Finish, To field is End Date.
Fourth field, From field is Resource_Names, To Resource_Names (anything).
6. Finish
Now you have a .csv file with the Excel task list to use for the procedure above.