Visualizing a complex project with ProjectLibre
Herding Cats
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.
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.
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.
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.
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.
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.
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.
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.
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.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Gnome Fans Everywhere Rejoice for the Latest Release
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.