Last November, our Ring development team met with Enalean’s. This company develops Tuleap, the software development project management tool we use for Ring. Here is the story of our relationship with Tuleap.
I’m Guillaume Roguez, the Technical Manager of the Ring Project at Savoir-faire Linux HQ in Montreal. Savoir-faire Linux is an Information Systems’ (IS) solutions provider highly specialized in deploying, customizing, integrating, and strategizing the best-in-their-class free/libre and open source software (FLOSS) tools and projects to respond to unmet clients’ business needs. Our vision is to be the front-runner in the field of IS/IT technologies that are developed, extended, supported by, or connected to FLOSS underlying technologies. To realize this objective, it is our mandate to be and remain creative, innovative and continuously R&D-oriented. Ring is one among several other in-house R&D projects that we have launched and maintained.
In brief, Ring is a free, distributed and universal communication software published under the GNU General Public License version 3. Ring allows its users to communicate in multiple ways using it as a telephone (i.e., VoIP), a media sharing tool (i.e., exchanging videos), a messenger (i.e., exchanging texts) or as a building block for your Internet of Things (IoT) project. Ring can be seen as a FLOSS alternative for Skype.
My responsibilities are to manage all technical aspects of the Ring project, and coordinate the team members’ tasks. I also present Ring Project through giving public speeches at different universities in Montreal (e.g., Université du Québec à Montréal, Polytechnique -Université de Montréal, McGill University, École de Technologie Supérieure, etc.). We have also used Ring as a research subject, a living lab, for graduate students here in Montreal. Students have had the chance to hone their programing skills while contributing the the progress of the Ring (e.g., Google Summer of Code). In fact, it is very important for Savoir-faire Linux to collaborate with university-based research centers and student-researchers in order to expand the limits of the community around the project. .
To continue, I wish to take the opportunity to briefly touch upon the technical environment – Tuleap- that we have chosen to rely on. Put simply, Tuleap is the software development project management tool that I can recommend; It facilitates our collaborative work; it saves us a lot of time; and it helps us organize all our daily affairs.
Our Journey from Redmine to Tuleap: Challenges and Opportunities
At the beginning of the Ring project we used the same technical environment that we would use for most of our current projects at Savoir-faire Linux, i.e., Redmine. However, having used Redmine for the Ring, we soon realized that it was not the right environment. Redmine has a quite rigid design which does not allow the users to easily adapt the tracker fields to their specific usage. Overall, Redmine is quite limited and restrictive. Making modifications in the tracker, for instance, requires several manipulations and once they are done, you cannot easily change your mind. I always wanted something more flexible for my team.
For me, GitHub is oversimplified and a lot of features are missing; and again, it is too rigid. Although, from the design perspective, it is full of eye candy , it is still too expensive in the long run. It may be the right tool for a small or even a medium-sized project; nonetheless, GitHub’s restrictive design rapidly limits the capacity of an Agile-oriented management team. You have to adapt your work flow to the tool and not the opposite. Therefore, that’s a no-go for us.
If one uses Git in Tuleap environment, there is the possibility to force the work flow to perform a particular action. One may view this as a limitation, but in reality, such possibility can educate team members to adjust their actions towards the right direction in conformity with of the project. Tuleap is not a self-dependent tool. On the contrary, Tuleap’s underlying design – which is very plug-in oriented – provides the development team with the possibility to interact with other well-established free software tools such as Git and Gerrit. As an example, we can force Git commit messages to contain a reference to the related issues in Tuleap. Later, we can couple this functionality with Git to more easily browse and have a complete and customized tracking system.
These advantages of Tuleap have been clear from the onset to our Chief Technology Officer Jerome Oufella. He proposed adoption of Tuleap and explained his reasons. To be honest, when someone tries to implement a change so fundamental to a team’s work flow, some frictions are naturally expected. But, our past experiences have shown us that the flexibility level of team members slowly but steadily increases as they move along the learning curve. Indeed, there is always a price to pay for any change management.
Among other challenges, we faced the issue of missing documentations. This was a bump on the road as we could not easily set up our trackers and fix bugs as rapidly as we should have. Luckily, Tuleap’s core development team was receptive to our feedback. They helped us design a setup tailored to our needs and benefit from the flexibility that enabled us to add and change our tracking details. Tuleap’s setup has this quality that evolves with the user’s project. The more we used this flexibility and evolutionary nature of Tuleap, the more we gained confidence in the decision we made to adopt Tuleap.
Last but not least, Tuleap is an open source tool embedded in a very dynamic and vibrant community of developers. For instance, just last month (January 04, 2017), Tuleap released a new version (9.3) with the first steps of the brand new query language for the tracking system. This will enable developers to make advanced searches within the Tuleap trackers as it supports the “AND”, “OR” and “()” characters. We’ll be able to get all the tickets matching with complex queries such as : (summary = “tracker” OR summary = “query”) AND submission = “language”.
I think a frequent visit to Tuleap’s website is worth the try because: a) there are easy-to-understand video and text-based tutorials; b) all information regarding the newly added features and bug fixes are clearly delineated; and c) it is a window to connect to the Tuleap’s community, to ask questions and engage in a technological discussion.
Our Current Agile Experience with Tuleap
We have been developing Ring under the Agile Software Development Methodology. Using, the Tuleap Scrum planning release helps us to track and monitor bugs and enhancements, the wiki and the forums efficiently. We coupled it to Gerrit code review system for the patches management .
On the day-to-day, there are about 10 developers from Savoir-faire Linux using Tuleap to develop Ring. I will be there too- wearing several hats as: project/technical manager, developer, and the Scrum master. We can add to this group of motivated developers all the other community members (platform maintainers, users, followers, etc.) who are dispersed around the globe and help one another to progress of this innovative community-based project.
Keeping an Eye on Tuleap…
Quite recently, November 2016, I had the opportunity to personally meet with Manon Midy from the Tuleap core development team at the Paris Open Source Summit. Some of my colleagues and I had the chance to share our opinions about the things we wished to improve or be different in Tuleap. Perhaps the most important among all was the user interface. Right now, there are too many clicks to be made in order to get done what you intend to do. Furthermore, the User Interface (UI) is quite complex. Having heard from Manon that the team was already deeply engaged in the activity of “re-thinking the overall design” was absolutely heartwarming. Finally, as shown by the track record of Tuleap’s new versions and up-to-date releases (9.2 and 9.3), we trust that it is a highly promising and dependable project for generation of software developers to come.