Categories

Cool faces

Faces is a powerful, flexible and free project management tool.

I’m currently on the lookout for a new project management software (PMS). I can’t bear Microsoft Project anymore. For maybe ten years now Microsoft Project has consistently refused to support more than one level of undo. Suppose you have a nice project which is all balanced and tidy and cool. You make a little edit that breaks something, but you don’t notice yet. You make another edit. Duh, that’s when you notice your first mistake. You’re stuck, pal. Undoing will undo your last edit, and undoing again will redo your last edit. Sigh… So basically when I’m building a project schedule, I’m wasting a lot of time saving & commiting my work to a Subversion repository, so that I can roll back to a good state if I’ve broke something in the project. This, along with the fact that it’s very easy to break anything, due to the disastrous tendency of Project to letting default computation overwrite carefully hand-filled data, is too much. We’re in 2005, aren’t we ?

And I won’t write about the curious arithmetics and rouding behaviour that MS Project features. You know, the kind where 0.25 days + 0.75 days = 0.997754 days. How fun it is when you present your schedules to your boss or customer.

It seems like the limitation on undo levels is an industry standard, though. I imagine PMS designers, with totally uncool 80′s wool sweaters, checking features on a piece of punched paper : « Stubborn one-level undo, check ! ». The whole scene would take place in a neon-lit, windowless basement room. Indeed, Open Workbench, the free, open-sourced version of Computer Associate Clarity, is almost as good as Microsoft Project in this domain. I mean, they have the same one-level undo feature. How cool.

I don’t know how PS8.5 behaves in the undo departement, but I’m surely highly doubtful that PSNext, the new, web-based version has more than one level of undo. I wonder if it even has one level of undo. Heck, managing database consistency when multiple users are working simultaneously is difficult enough, with a set of pessimistic or optimistic locking strategy, but I can’t imagine what the problem becomes if you try to enter undoable actions in the process.

One of the funniest thing to do when you use a PMS is changing the project structure. For various reasons, on one of my biggest projects, I had to present three differents cost structure to my customer, all based on the same project. The first time, I structured the project phases and tasks the way I was used to do. Then my client requested that I divided the work another way to suit its comparison grids (that was during presales). Then once we won the project, my client requested another structure for the project, to suit its buying departement needs. Believe me, there isn’t any PMS out there that will be actually helpful while doing those various restructurations. Quite the contrary.

The end result was that I quit using MS Project and reverted to Excel, which has more than one level of undo, making sure that the project budget was the same berfore and after the restructuration. This was then that I discovered the weird rounding mistakes Project does. Unfortunately (or not), Excel does not do the same mistakes, so you have to manually alter some computations so that the final budget matches the previous one to the cent. Otherwise, it would not look serious enough, I mean, if you cannot rebalance your budget without changing the net result, you might as well drop the whole thing.

Using Excel for project management is not a bad choice, as Joel Spolsky demonstrated. But you know, PMS could provide an added value over doing everything manually with Excel, like computing critical paths, trying to schedule resources, and actually provide help when tens of tasks are changed, when new deadlines are introduced, when additional works appears and you have to justify elapsed & remaining time to your customer so that you may eventually charge him for the new features.

I’m writing all that because, you know, the project with three major budget restructurations ? I have to rebuild it a fourth time, taking into account elapsed time, new features, new deadlines and so on. It was difficult enough when the project wasn’t started and everything was pristine, but now, well, it’s quite overwhelming. Anyway, onward !

That’s why I find faces very cool : the editing interface is a text editor with a clever code completion engine (need I say that it supports multiple undo levels ?), and what you edit is Python code ! The code looks like that :

class Bob(Resource):
  pass

class Alice(Resource):
  pass

def My_Project():
  resource = Alice | Bob

  def Task1():
    start = "2005-1-16"

    def Foobar():
      effort = "5d"
    
    def Buffer():
      resource = Alice & Bob
      effort = "4d"

  def Task2():
    start = up.Task1.end
    effort = "1w"

  def Task3():
    start = up.Task1.Foobar.end
    effort = "5d"

project = BalancedProject(My_Project)

From this project description, faces computes a scheduling (there are multiple scheduling algorithms), and can show you various diagrams and reports, including of course Gantt charts. It can even generate HTML pages so that you boss/customer doesn’t have to learn Python to understand the project structure :) . Since the file format is Python, you can use a whole bunch of already existing tools, including Subversion which should be handy to compare two different version of a same project. And of course, you’ve got a built-in scripting language to edit your project structure (or is it a built-in mini-language to describe the structure ???) so you can easily work around missing things like recurrent tasks (just build them in a loop).

Of course, this is totally a tool for programmers or the kind of people that rather write code than enter data in Excel… Which is why I can’t use it professionnaly, not being the only one to have to edit the project. That’s too bad ! But I’d like to send Michael Reithinger a big thumbs up for his work on faces. It’s very cool, extremely well designed, and professionally packaged (including a standalone installer for Windows) !

  • http://http://www.interneer.com M. Steffen

    If Excel is running your business… a transition to project management software is worth the investment.

    Businesses small and large have been using MS Excel for years to run processes and manage projects. For small, simple projects Excel is a useful organizational tool. However, projects have a tendency to grow in complexity at a rate that Excel can not keep up with.

    Imagine that a business needs to track projects or processes and does not have the time or budget to put a sophisticated tracking system in place. An IT department does not exist or is busy handling other affairs. Excel often seems to be the obvious, quickest and easiest resource to get things started.

    Skip ahead a few months or a year later and those same Excel spreadsheets have now become a burden to the company. Many different versions are being passed around. No one knows who has the most up-to-date files saved on their computer. The project has evolved, making the spreadsheets so complex that only one person understands how to update them or even interpret them.

    It is now nearly impossible to generate reports from the spreadsheets or track progress and historical data. The data is also not searchable since Excel does not function as a database. The list goes on and on with all the limitations.

    It is very understandable why business professionals turn to Excel to run critical processes: most already own a license on their desktop and are familiar with enough to quickly get the project started. They can even bypass IT altogether and maintain the Excel files themselves. The problem is Excel was never intended to be used as project management tool. It is no surprise that collaborating via spreadsheets becomes unbearable rather quickly as projects and processes grow in complexity.

    Project Management software solutions such as Interneer Intellect provide business professionals with the same benefits they seek with Excel – ease of use, quick setup, ease of maintenance without IT – all with the full benefits and robustness of a database system, that is collaborative, web-based, multi-user and enterprise level. These systems even incorporated many other features that make it easier for the business users to manage documents, projects and process workflows.

    Excel is best for what it was designed to do – accounting and financial calculations.

    http://www.interneer.com