In the first part of this series of articles, we looked at open source desktop project management tools like MS Project. Part 2 discussed project servers like MS Project Server. In this third part, we will look at agile/Scrum software project management tools like Taiga and Tuleap. These open source solutions assist in keeping all the software team members on the same page, whether they are working in the office, from home, or offshore.
Software development is different from, say, building a house. A building can be designed by the architect and final approval given by the customer. The builder can prepare a work breakdown structure (WBS) consisting of all the tasks needed to complete the project and draw a Gantt chart based on this approved design. Software development, on the other hand, is different. Customers are able to say precisely what they want only when they see a feature being demonstrated to them interactively, or even more likely, when a functioning initial version of the application is delivered to them. Documenting requirements and attaching them to a contract leads to many change requests as the project progresses. These change requests are so pervasive that they have acquired a name — ‘scope creep’. Scope creep is well known as the number one cause of software project failures.
Of course, some changes in software are easy to make as against in a building. However, technology tends to change very fast. If software development projects take a deterministic approach, such creeping change requests tend to torpedo the original contracted scope of the work. It has been found that an empirical approach with an ‘inspect and adapt’ cycle results in more successful outcomes for software development projects. These empirical approaches fall under the umbrella of agile software development. Among these, Scrum is the leading agile software development framework.
Setting up a Web app for Scrum is complicated
In the second part of this series of articles (August 2021 issue of OSFY), we said that setting up a project server is more complicated than just installing a desktop application. All of those complexities are applicable to setting up a Web app for Scrum as well. Please go through the difficulties outlined in that article and ascertain that you have the in-house technical skills to take on this challenge. Also, make sure that your team pays attention to Web security and takes all necessary precautions.
Install instructions and getting started
As we mentioned previously, install instructions and getting started documents are indispensable to cross the ‘starting trouble’ stage of open source software successfully. The two open source tools that we feature here provide install instructions and getting started tips for the total newcomer.
Being open source, there is no cost to downloading these tools and trying them out. However, a technical resource has to spend some amount of time to install and configure them and import or enter some test data to see whether they will suit your needs. Fortunately, both Tuleap and Taiga have online demos. You can register, enter some data and try these out to see whether they will serve your needs. Tuleap has a ‘Guided Tour’ consisting of four tabs. Based on this initial limited evaluation you can decide whether further effort is warranted.
Basic features of Scrum
For a given product you should be able to create a backlog of stories. Often, you will start at a high-level with parent stories that are called epics in Scrum. When you get closer to starting work on these, you may want to split them into smaller manageable sized stories. The team will refine these stories during backlog refinement sessions by adding acceptance criteria and other details. You should be able to size these stories by assigning each a story point. Work is scheduled typically in two-week cycles called sprints. You should be able to pick a handful of the stories, as prioritised by the product owner (PO), that the team thinks can be completed in a sprint. This is the sprint backlog. During the sprint you should be able to take these stories through different statuses such as in progress, coding completed, code review done, tested, user acceptance and so on.
When each story has met the ‘Definition of Done’ as previously agreed by the team, the Scrum master (SM) will mark that as complete. At the end of the sprint, hopefully all stories would have been completed. If any are not yet complete, they get moved back to the product backlog for prioritising by the PO. And then the SM can close the sprint, run velocity and other reports, and gather metrics.
Burndown, burnup and velocity are some of the charts that are used in Scrum for planning and monitoring progress. In one of my projects, we maintained a cadence of three sprints followed by a release. In Tuleap and Taiga you can set the number of sprints for a release. Then, in addition to a sprint burndown chart, you can also see a release burndown chart.
Born agile versus added-on agility
When agile software project management became popular, many project management and issue tracking tools force-fitted this capability into their product. This is true of even the popular commercial software Jira. However, some software tools were developed from the get-go to support agile software development using Scrum. Unlike many other tools, including some leading commercial ones, Taiga and Tuleap were born agile.
Tuleap: Full open source model
Unlike Taiga, Tuleap offers a full open source model. It supports the open source version only on CentOS or Red Hat Linux. So, first check whether your in-house tech team has the necessary installation and maintenance experience on either of these OSs before opting for this software.
When the PO is working against deadlines to prioritise the stories, the drag-and-drop feature for changing priorities will come in very handy. }
Enalean – the French company that developed Tuleap: Tuleap is being used by very large enterprises such as Airbus, Ericsson, Orange, Renault and Eclipse Foundation. Enalean, the French company that has developed Tuleap, follows a business model that relies entirely on professional services and support to generate revenue. Many open source companies follow a business model known as ‘open core’ (also known as Freemium).
In this model, the core product is made available as open source, while premium features are reserved for the paid customers. The open source version of Tuleap, however, contains all the features.
Taiga: Open core model
Open core means that the core software is open sourced and the add-on modules are not. This is also known as the Freemium business model. This software was originally developed by Kaleidos of Madrid, Spain. Though the company open sourced it, it continues to sponsor this project. Taiga software is very widely used. The Docker package of the software has been downloaded over two million times. Taiga’s own informal estimated user base is over 20 million users. It supports the open source version only on Ubuntu 20.04 LTS (Long Term Support) version of Linux. So, first check whether your in-house tech team has the necessary installation and maintenance experience on this OS before opting for this software.
You can have parent stories, also known as epics, and child stories under them. You can have sub-tasks for each story. For example, a story may need design work, front-end work, back-end work and testing. Even though Scrum recommends that teams try to become cross-functional, you may have specifically skilled people who do each one of these sub-tasks.
You can import a project from GitHub, Jira or Trello. However, you must have admin access to the GitHub, Jira or Trello instance, and you need to follow the Taiga documentation and configure your Taiga instance.
Free trial on cloud is not the same as the open source version
Tuleap offers a 14-day free trial on its cloud hosted software. Taiga goes one step further and offers one private project free with up to three members. In addition, you can have free public projects as well. This is a very good way to try out these tools for your projects and verify that they will do the job for you. However, you need to keep in mind that some of the features in the cloud hosted software will not be available in the open source software. So, approach free trials with caution.
Other common features
Both tools offer the ability to set up one Wiki per project so that you can maintain project related documentation in an easily editable format. Taiga has a Google Groups forum, where you can browse questions and issues raised by users, as well as responses from other users and the vendor. Tuleap instead has Slack style chat where this user discussion takes place. You will have to register to get access.
Other open source tools in this space and why they are not recommended
IceScrum: Many modules (called Apps) and integrations are available only in the paid version.
Agilefant: On its website it’s claimed that, “While the open source version does not have all the latest features, it is under active development and enjoys steady progress.” However, I have not seen any commits in the open source code in the last six years
OpenProject: OpenProject, and also some of the other project servers, have back-fitted Scrum capability on an otherwise issue tracking or project management software. If you are already operating one of these, convenience may dictate that you try their Scrum features. However, if you are starting afresh, one of the born-agile software tools featured above is recommended.
Challenges and rewards of Web based apps
Installation, maintenance and security are the challenges for setting up Web based apps with your hosting provider or in the cloud. You need in-house technical resources which can handle these. However, if you take on this challenge and build in-house capability, you will enhance the productivity of your employees, regardless of whether they are in the office, work from home or are deputed offshore.