Today on Software Project Management review of one of project management tool which gets pretty much attention these days – LiquidPlanner.
LiquidPlanner is yet another project management web-based application which helps you to deal with your projects. Nothing new under the sun you could say. Well, yes and no. LiquidPlanner doesn’t stun you with a range of features but personally I don’t expect that from project management software. However it focuses on at least one specific area which is usually either overlooked or designed in crappy way – work estimation.
With LiquidPlanner you get all the basic stuff. There are tasks organized in a structured way so you can easily see what’s next and what’s then. There’s history for each record in the system which is a must-have for every application used in a bit bigger than tiny team. Security is fine. Dashboard is actually industry standard so I’m not surprised it is here too. Reports show all needed information. There are timesheets which is nice since majority of companies use them anyway in this form of another. The only glitch for me is lack of bug tracking. I believe people need as few tools as possible and bug tracking is connected with task management, especially when it comes to development and QA teams.
LiquidPlanner does one thing particularly well – it forces users to change approach to task estimation. It’s not just one value anymore. For each task you fill a couple of them. A range of dates which shows when you plan to finish the task. This feature brings another thing to the table. Having a range of dates instead of a single one LiquidPlanner can generate reports which aren’t commonly seen in project management applications. You can see a “tunnel” of the most optimistic and most pessimistic deadlines and get an insight how they changes and how you perform between them. In other words you get the answer do you get better or worse and how fast you’re moving.
Usually task management is limited to fill out records manually one by one or import ready MS Project file. LiquidPlanner gives you another thing – you can easily fill out many tasks in a simple text interface. That’s spare you a lot of time since you don’t wait for page reload after filling each record – you just fill them all at once and then watch how they make their way to the project plan.
Well, this one is a mixed blessing. LiquidPlanner tries to resolve conflict with resources (yes, that’s a perfect name for people you work with) for you. Now, that can be great when your team works on many not interrelated tasks since the tool should build pretty reasonable work plan for each person. However when you try to build work plan for one big ugly and complex project with many task-related constraints (as an addition to people-related dependencies) project manager will have pretty tough time to set things up properly. It just depends on a way the team works.
Timesheets are integrated with task management so when people update tasks their timesheets are automatically filled. That’s nice since it takes one unpleasant duty off the people’s heads.
OK, maybe it should go to usability glitches but it’s such a pain in the ass it deserved its own paragraph. Creating and editing dependencies just suck. It’s unintuitive, slow and inconvenient. Actually LiquidPlanner approach is you shouldn’t need to set many dependencies because the tool would automatically set most of them but that’s way too optimistic point of view. Projects have many specific constraints and resource conflicts are the only type and sometimes not even the most important one. Editing dependencies should be considered as one of key features in project management application. Period.
This one was especially painful for me since I wasn’t actually working on project but just playing with LiquidPlanner. You can’t really fill the past data. Everything you do is done for now. My problem was I couldn’t fake some history of the project, but the issue is much more general. How the application deals with the situation when a developer forgets to update tasks for a couple of days (and yes, it happens virtually every day). While working with LiquidPlanner you have to keep pretty strict discipline, which often is neither easy nor necessary.
Small Usability Glitches
It wouldn’t be me if I didn’t rant on usability, right? Remember the problems I got when switched to netbook with low (1024×576) screen resolution? I caught several screens, including introductory video which doesn’t fit my computer. They’re just too big. There were problems with lists refreshing after something was changed. I know I can manually refresh the list but I’m just too lazy to be happy when I’m forced to do that. If I change the task in MS Project and save the changes it’s instantly changed on the list. In almost every other application data on the list somehow magically updates.
Usually first things I see when I start playing with an application are flaws. Quite often these are small glitches which are annoying until you get used to them
and don’t bother anymore. Something which stays in the long run are big things – features you need, ability to cover scenarios which happen in your team or lack of significant bugs. That’s exactly how it was with LiquidPlanner. At first I couldn’t just add a project since my screen isn’t good enough for the application, then I struggled with organizing a project in a way I wanted and hit a dependency problem. But then, because of problems with anti-dating, I started to work with LiquidPlanner everyday for a couple of weeks and it worked smoothly. And it got the job done.
The most important thing you should remember while thinking about LiquidPlanner is discipline. As far as tasks are updated exactly when they have changed or they’re done and data is filled on a daily basis almost everything works fine. The question is whether you need or want to implement such a discipline.
LiquidPlanner is pretty mature tool and it does great job in project estimation. I can think of only one other application which focuses so much on that aspect, which is FogBugz with its Evidence Based Scheduling.