Sunday, February 21, 2010

A Tale of Two PM Tools, the Sequel....

Last spring I wrote up a comparison of Basecamp and LiquidPlanner. I think I'm pretty open on this space about my feelings for LiquidPlanner but I think the comparison was pretty fair nonetheless. I started to realize even then that I'd need to do a followup post since there were so many new features in the LiquidPlanner pipeline. And, to Basecamp's credit, they have also launched new features since then.

In my opinion, the biggest features that LiquidPlanner released since May were the client portals, iPhone app, time-tracking and the treats in the December '09 holiday release.

Client Portals
This was huge! With Client Portals LiquidPlanner now has all of the client collaboration ability that Basecamp has, with more control over what elements are shared and what are kept internal. Because of LiquidPlanner's powerful scheduling engine, the client can see a quick view of how much work is actually left in the project, which can be a more valuable snapshot of things than the list of remaining milestones in the Basecamp schedule.

Clients can also collaborate on tasks with the main workspace users. Clients can see recently completed and upcoming tasks, and various reports (without any additional third party plug-in). There can be an unlimited number of client users on each project, and there is no additional charge for client users. Not only do client portals include Basecamp-style email collaboration, but also Twitter-like commenting and a detailed notes area that is much easier to use than the Basecamp Writeboards.

iPhone app
This was developed in-house (in the LiquidPlanner house that is...) so immediately separates itself from the Basecamp iPhone apps that are all developed by 3rd party vendors. The LiquidPlanner "Mobile Dashboard" is FREE and because it is maintained by the same team that builds the product, you know you're getting the best app possible (and you know who to go to if you find a bug...not that the LP programmers ever make bugs though). The iPhone app provides the following functionality:
  • Collaborate with team members and clients
  • See prioritized tasks and create new ones
  • View rich text comments (images, etc)
  • Log time and re-estimate tasks, set promise dates for tasks
Now, I confess I have not tried all of the iPhone apps for Basecamp. I did purchase Outpost at the suggestion of my coworkers but rarely use it because whenever I open it I need to wait anywhere from 15 to 50 mins for all of the projects to sync up. I don't use it often enough to have it sync up daily so I need to suffer whenever I do chose to open to app. Happy to hear reviews of other apps from other Basecamp iPhone app users.

LiquidPlanner launched integrated time sheets at the beginning of the summer, and what I LOVE most about their time sheets is that it is directly linked to the tasks in the project. So, gone are the days when a team member needs to sit and scratch their head, wondering what they did all of the week before and how they should log their time. The second best thing I love about LiquidPlanner's time tracking is that they have these handy little timers attached to each task, so you click them on when you start working on something and then let it run as long as you are working on the task. Whenever you finish or move onto something else just stop the timer and your time will be recorded (or you can edit the recorded time, to make sure all of those trips to the candy machine are subtracted from your billable time...). I use LiquidPlanner time tracking for the freelance work that I do and I find it to be incredibly useful when I'm watching actual vs. estimate, reporting hours and building invoices.

I've played around with the Basecamp time tracking system, but have never formally used it with an agency or on my own. I've used a few other time tracking systems and feel like I have an understanding of the critical features. I think the Basecamp time tracking system could be ok for a freelancer, but I think the most significant problem with it is that the description of the task is way too free-form. Yes, the time logged is automatically tied to a Basecamp project, but there is no way to gather more valuable information like what phase of the project, what type of activity, and which deliverables. This information will only be tracked if the team member decides to add all of that detail into the description area, and as we all know most people don't like spending too much time working on their timesheets.

December '09 Release
There's a whole pile of nice presents here, and rather than go through all of them, I'll pick out my favorites. First is the task calendar view, which gracefully plots out your team members tasks on a grid calendar view. And to add even more value to that calendar view, items at risk will be flagged red. Workload analysis is another really great new feature that I find extremely useful. It will show your team's availability, show periods of overload, and steady work. It's a great way to get a bird's eye view of what's going on over various blocks of time.

What's new in Basecamp?
Basecamp released a handful of improvements to it's collaboration & document sharing tools, among them stylized email notifications (which got a mix of praise and backlash), integrated accounts, quick date pickers for milestones, due dates on to-do's, thumbnail image previews, improved file uploads and new file icons, and enhanced private messages. Some nice features here and UI improvements, but nothing monumental in my opinion. I still find major project management tools lacking in Basecamp. Basecamp won't stop me from overloading my team members, building a schedule that's completely unrealistic, and gathering any knowledge about how good or bad my work estimates are.

I'm going to happily stay on the LiquidPlanner team, I still haven't been convinced otherwise.

Thursday, February 11, 2010

Keeping the Micro out of Manager

Was talking with someone a few days ago, and surprised to discover that we both took the same career path. He was also a front-end web developer for a number of years, then went into web project management. The only difference was after 2-3 years he dropped project management and went back to doing web programming. I asked him why he stopped and his answer was, "I was tired of getting on people to make sure they got their work done, and dealing with the frustration when they didn't. It was too much like babysitting." I nodded, thinking of my own struggles with team members over the years, trying to keep the micro out of manager. Of course, there are always legitimate reasons why something is not done when we originally think it will be. But this is more about how to make sure people are clear on their priorities and know where to go to find help, without having the Project Manager standing right behind them the whole time watching them do their work. Someone I used to work with suggested the 'walk around with a clipboard' technique, a variation of managing by walking around. But, to me it seemed more like I was getting too much in my team members faces, checking off what they have done and asking what was left to finish a task, etc. I prefer to let my team members report this on their own, and give them the tools to do so.

Then there was also the suggestion of putting a big dashboard on the wall, with a list of task and due dates and assignees. Of course this is very visible and a great way for everyone to see what everyone else is doing, but takes time to manage, and it didn't seem to make sense to me to lose time managing multiple tasks lists in different places. Of course, if I could have a projector that would take the team's task list right out of our web based tool and display it on a wall, now THAT would be awesome.

So, what is the best way to make sure work gets done, without breathing down that team member's back (and I'm sure we can all think of atleast one team member that needs this kind of 'help')?

1. Regular status or 'stand-up' meetings are good, keep them standing so that the meeting is quick and on track, and have each team member report:
  • What s/he just finished
  • What s/he will be working on next
  • If there are any issues holding him/her back

2. A strong web based project management and collaboration system, so that all team members can see the online dashboard that lists all critical deadlines and tasks with their assignees. The collaboration system will keep all details in one place so nothing will get lost in email folders or scribbled notes. Team members should be able to log into their personalized dashboard and see their upcoming tasks with due dates, and also get regular email reminders of their upcoming tasks and due dates.

3. And sure, a little bit of walking around is good. Don't get me wrong, I'm not against checking in one-on-one with team members, just having been micro-managed in the past I'd prefer to avoid creeping over to that dark side.

What have you done to keep your team members on track, especially the ones who need a little extra attention?

Wednesday, February 3, 2010

Time Tracking: Converting the Masses

I remember way back in 1999, when I was filling out my first time sheets as a web programmer. We filled them out on on excel and sent them to our boss at the end of each week. I didn't really see the full value of tracking time, and jokingly asked my coworkers if I should be recording time that I am in the bathroom, etc. Since then not only have I had an opportunity to use a few different time tracking systems, I've gotten a real appreciation for the whole idea of tracking time and understand how critical it is for an agency and it's clients.

And I've also had an opportunity to work with many people who don't like tracking their time, who feel like it's a waste of energy or forget to do it until weeks or a month has passed, or just don't know how to do it properly. It pains me to see people who just don't get it, and it's even more painful when it comes time to report on a project and the data is either not there or not reliable, then what is an honest project manager to do?

Well, rather then let things get that far, I wanted to talk about some of the anti-time-tracking personalities and what we can do to help them.

The Forgetful One: The person who just can't seem to get it into his routine that time needs to be logged regularly. This person is not necessarily opposed to tracking time, just gets caught up in other things and never remembers to do it. When it comes time to catch up on all the days that time hasn't been tracked, numbers or guessed or fudged and inevitably inaccurate.
How we can help:
  • Setup a daily calendar event to help remind him to track time. Send a reminder email each morning asking him if he logged his time from the day before.
  • Make sure the system is as easy to use and as accessible as possible (I love the LiquidPlanner task timer system, so easy!). Make sure logging to specific tasks is intuitive and can be done quickly and painlessly (better to get more detail on a task than just time logged as "programming").
  • Put a huge and really annoying alarm clock at his desk, set to go off at 5:30 every day to remind him to log time!
The "Ashamed" One: The person who puts in decent chunks of overtime, but is afraid to log his time for fear that it will look like he is too slow and it takes him too long to finish tasks. He knows what the target budget is, and doesn't want to make the project 'look bad' by adding more of his overtime hours to it.
How we can help:
Oh, how these people put gray hairs on my head...
  • Explain to him that he should never be embarrassed or afraid to report time worked on a task. The only way we can ever learn from a project and improve our estimates is to see actual time spent on each task and compare that with the original estimates made.
  • Yes, the budget might go over, but this is a fact of life and not only should he not be afraid or feel responsible, he should be comfortable (and proud) to show the rest of the team that he is committed enough to put in the extra time when needed to get the work done.
The Close-Minded One: This is the person who just doesn't see the point in logging time, she thinks it's a huge burden and can not find any benefit in doing it. Who cares how long she spent programming a little feature or sitting in an internal meeting? She's already wasting her time in the meeting, why lose more time recording it in her time sheet? She'll leave her time sheet empty for as long as possible and then just make rough guesses when time comes to fill in the blanks, sometimes many weeks later.
How we can help:
  • If you work at a client services agency and bill based on hours worked then explain the direct correlation between the hours she records, and the dollars we will be charging that client (which will then eventually get to her paycheck)
  • Show her the reports from the last few projects, and show her actual hours logged vs initial estimates made. If there is a striking difference between any of those totals (which, I'm sure there can be) then maybe she will see the importance of seeing how long things actually took and then using this information to make a better budget next time. If we can justify bigger budgets, than maybe she'll get a bigger bonus next time around!
  • Losing too much time in unnecessary meetings? The only way we'll be able to figure that out is by looking at people's time sheets and reporting on billable vs non-billable time. Not that all meetings are unnecessary of course, but we all know that some of them can run a little long at times...
What types of personalities have you encountered, and what have you done to show them the light?