Visualizing a complex project with ProjectLibre

Herding Cats

© Photo by Asim Z Kodappana on Unsplash

© Photo by Asim Z Kodappana on Unsplash

Article from Issue 236/2020

ProjectLibre helps you organize and optimize a complex project with lots of moving parts.

Project management is the instrument of choice for evil bosses who live to torment their teams with micromanagement and impossible deadlines. Stereotypes aside, project management and the software that supports it make almost any complex group project run more smoothly.

Managers of large projects don't even try to keep everything in their heads. Over the years, a system of custom data structures, algorithms, and charts has evolved for helping a manager visualize critical deadlines and tasks. Several commercial software tools use these charts to help managers track and optimize the workflow. One of the popular commercial tools for project managers is Microsoft Project. But there is nothing proprietary about the concepts and methodologies of the project management profession – many of which have been in development for decades. ProjectLibre [1] is a useful open source tool for managing projects.

This article describes how to get started with planning and diagramming a project using ProjectLibre. However, as you read this, keep in mind that experts recommend you not even start using the software until you have a good understanding of the project. Do as much brainstorming and planning as possible by hand: Draw sketches and lists with pen and paper and then revise. Once you are confident or feel you cannot further improve your plan without help, it's time to start using the software.

ProjectLibre is a tool for real-world project managers, and you'll need some familiarity with project management concepts to use it well. If you are new to the field, see the box entitled "Understanding Project Management Diagrams" for an introduction to the world of project management charts and concepts.

Understanding Project Management Diagrams

A network diagram [2] is the visual representation of all the elements that compose a network and how the elements are connected. In project management, a network diagram describes all of a project's activities, their dependencies, and the corresponding workflow, from beginning to end. Other information includes costs, risks, and responsibilities for each task. When done properly, network diagrams make it easier to make good decisions – and also to document why a decision is good.

Historically, there have been two main methods, often mixed together, for using network diagrams in project management: the arrow diagramming method (ADM) and the precedence diagramming method (PDM). ADM shows events as nodes and activities as arrows. In PDM, activities are boxes that contain several parameters, and the arrows that connect the boxes represent how they depend on each other. A "finish to start" (FS) arrow indicates that the second event cannot start before the first is finished. Similarly, "start to start" (SS) and "finish to finish" (FF) arrows connect activities that start, or end, at the same time. Finally, "start to finish" (SF) arrows indicate that one activity cannot finish until another activity starts. For example, the maintenance of an old website cannot end until the new website is 100 percent ready.

Today, PDM is more popular than ADM. Although PDM is more complicated, it is more accurate. PDM diagrams support probability calculations, as well as two other basic project management parameters: lead and lag times. Lead time is the time it takes to complete a task or the time saved by starting a task before the previous task is completed. Lag time is the unavoidable delay. Another metric called "slack" shows how long that task can be delayed without creating problems for the rest of the project.

The most common (and most important) way to use PDM network diagrams in project management is the Program Evaluation Review Technique (PERT) [3] [4]. PERT was created for large, one-time, very complex projects in the 1950s, but it is useful in every project. A PERT chart, which ProjectLibre calls a "network" (Figure 1), is a statistical, graphical representation of a project's timeline. PERT-capable software can automatically calculate a project's critical path (i.e., the longest time necessary to complete a project or some part of it). Consequently, a PERT chart helps develop a realistic time frame for the project.

Figure 1: The PERT diagram (called a network in ProjectLibre) shows all of a project's tasks. The critical (longest) path is marked in red.

A complement of every PERT chart is a Work Breakdown Structure (WBS) [5]. A WBS partitions a project's tasks into manageable chunks called Work Packages (WPs), which can then be assigned directly to specific individuals or teams. The order in which the tasks appear in a WBS is not necessarily the order in which they must happen. Figure 2 shows a ProjectLibre WBS chart.

Figure 2: The WBS of the PERT chart in Figure 1, showing the hierarchical structure of the work to be done.

The similar Resource Breakdown Structure (RBS) chart (Figure 3) displays a hierarchical list of human and material resources needed by the project to highlight where expenses occur.

Figure 3: The RBS chart shows the project costs for every human resource or piece of equipment.

The most familiar project management chart is a Gantt chart [6]. The Gantt chart in the two top quadrants of Figure 4 shows a table with a list of tasks on the left, each paired with a horizontal bar on the right. These two quadrants constitute the mix of a custom calendar, diary, and to-do list. The tasks shown in Figure 4 are the same ones shown in Figures 2 and 3. Each bar goes from start to finish of the corresponding task. In a complex project, each task could have many sub-tasks. The arrows represent dependencies between tasks.

Figure 4: ProjectLibre's user interface shows a Gantt chart in the top half and a chart plotting the commitment of a team member (Frank) over time in the bottom half.

A project's Gantt chart shows when tasks happen, including milestones and baseline dates. The same chart shows when inputs (e.g, data or documents) or human resources will be needed and when and where there will be problems.

In an ideal world, a PERT chart is the first thing to draw and validate, to decide if and how the project should start. Next, a WBS would partition the PERT workflow into blocks, to specify how many people and other resources should be allocated to each WP. The next step would be to produce a Gantt chart with concrete start and end dates, intermediate milestones, and checkpoints. A Gantt chart will let you easily see if certain tasks can be performed one after another or simultaneously. At the same time, an RBS chart gives a good overview of the total cost of the project and of each of its components.

Once the project has started, you will check and tweak your Gantt chart much more often than your PERT chart, because only the Gantt chart works as an editable calendar and running status report. You should still regularly check and update your PERT chart, if for no other reason than to learn how to make a better one next time.

Getting Started

ProjectLibre currently is available as a multiplatform desktop application, which seems oriented towards individuals or small groups. The soon to be released cloud version, ProjectLibre Cloud, promises to be "like Google Docs but replacing MS Project" [1]. It will be available as a monthly subscription service. ProjectLibre is written in Java and available under the Common Public Attribution License [7]. Both ProjectLibre and the forthcoming ProjectLibre Cloud can only read (not write) Microsoft Project 2003, 2007, and 2010 files.

Installing ProjectLibre on Ubuntu is relatively simple. Download a .deb package and install it with dpkg:

sudo dpkg -i projectlibre_1.9.1-1.deb

After that, you can launch the program from the Ubuntu menus or by typing projectlibre at the command prompt.

In this article, I show an example project that designs a new component for computer boards. To keep the figures (generated by ProjectLibre for this project) readable, the workflow shown here is much simpler with a shorter duration than a similar real project.

Design Flow and Interface

ProjectLibre's interface (Figure 4) works in a slightly different way than the theoretical workflow discussed in the "Understanding Project Management Diagrams" box. At the top of the interface, the command ribbon's (Figure 5) contents change depending on which of the four menu tabs you select. The four buttons (visible in the top right corner of Figure 4) control which charts appear in the lower half of the window.

Figure 5: Each entry in ProjectLibre's top menu has its own command ribbon.

When you select the File tab at the top of the interface, clicking the New button in the command ribbon creates a new project. Next, click on the Information button in the same ribbon to enter (or update at any time) the the current project's main information in the pop-up window shown in Figure 6. Among other things, there are several project categories, calendar settings, and financial parameters. Net Present Value, for example, is the difference between the present values of cash inflows and cash outflows over a period of time. Throughout the project, the Statistics tab shows current cost, number of hours worked, duration of the current baseline, and other high-level metrics.

Figure 6: When starting a new project, you should first add its high-level information.

After defining a new project, I find the next step the most tedious, at least in ProjectLibre: Click on the Resource tab and then on the Resources button on the left to enter all your project's resources, from people to equipment to facilities, into the spreadsheet shown in Figure 7. I say tedious, because it seems the only way you can enter this data is manually without autocompletion. It would be great to be able to load this full spreadsheet from a CSV file.

Despite the manual data entry, the spreadsheet is quite flexible. As shown in Figure 7, the pop-up window that appears when you click on a resource lets you define when it will be available, see which tasks it is assigned, and define up to five different cost rate tables, each with a different starting date. In this way, you can handle issues that may arise halfway through a project, like people retiring, moving to other offices, or receiving an automatic salary increase.

Figure 7: A crucial part of project planning is describing all of the involved resources and their costs.

Gantt: The Heart of ProjectLibre

Once all of a project's preliminary data has been entered into ProjectLibre, you can begin the actual planning in the Gantt chart view (Figure 4).

Assigning dependencies is a two-step process. First, you enter the name, duration, and start and finish date of each task in the left part of the window, ordering them in the way that most closely matches the project flow. Durations can be written as days, weeks, or months. To move a task to another row of the table, you must cut and paste it in the new position, since drag-and-drop does not work. To make a task a sub-task of another one, use the Indent button in the command ribbon. Instead of re-entering a task's dates in the chart, you can move tasks on the timeline by dragging and dropping the ends of the corresponding bar in the actual chart.

The second step is where the real fun happens and (hopefully) any scheduling errors become visible. To create dependencies between two tasks, click the Link button and then try to drag the first task onto the other. ProjectLibre will draw an arrow between the tasks. Clicking on the arrow will open the pop-up window shown in Figure 8, where you can specify which of the four PDM dependencies you want between the tasks, as well as a lag.

Figure 8: You can choose the dependency between tasks in the Gantt chart, as well as set a configurable lag.

Besides dependencies, the other crucial thing to do is assign resources to each task: For every task, you must fill out the Resources tab (Figure 9), specifying which percentage of every resource's capacity is reserved for that task. The Advanced tab in the same window contains settings like whether a task should have 24-hour shifts, fixed deadlines, or additional time constraints, such as Must start not earlier than… or As late as possible.

Figure 9: Besides dependencies, tasks must have adequate resources allocated to them.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Taskjuggler

    Taskjuggler is a handy project management tool for large or small projects. We’ll show you how to organize a simple remodeling job with Taskjuggler.

  • Mermaid

    Mermaid lets you create diagrams from simple text-based statements.

  • PlantUML Diagrams

    With PlantUML, you can quickly create all kinds of diagrams using human-readable text and reuse them anywhere.

  • Rethinking the Office Suite
  • Time Management

    If you need to accurately measure time spent on individual projects and tasks, you need something more sophisticated than yellow sticky notes. Fanurio helps you keep an eye on your time, your projects, and more.

comments powered by Disqus