Acquia Professional Services and Redmine
by Chris Brown
As a Technical Architect on the Acquia Professional Services team I am responsible for architecting enterprise Drupal solutions for our Clients. I am also a contributor to the Project Management Office (PMO) for the Professional Services (PS) Team. As we continue to experience rapid growth, one area we are constantly fine tuning - with a goal to continually enhance delivery and collaboration - is our project management systems. We recently implemented Redmine (http://www.redmine.org/) as a project management tool for our projects. Since Acquia is an open source company it was within our charter to give support to other good open source projects. Redmine was actually a last minute entrant to our selection process, which included a number of other open source tools. Initially we were looking to implement a bug tracking tool and also one for handling project management tasks. Redmine was chosen because it can handle both.
Redmine is a web based project management system built in Ruby on Rails. The application is able to run on number of different operating systems and databases making it easy to work into existing company architectures. Some of the features of Redmine include:
- Multiple projects support
- Flexible role based access control
- Flexible issue tracking system
- Gantt chart and calendar
- News, documents & files management
- Feeds & email notifications
- Per project wiki
- Per project forums
- Time tracking
- Custom fields for issues, time-entries, projects and users
- SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
- Issue creation via email
As professional consultants we like to eat our own methodology dog food that we recommend to our Clients. The first steps in a successful technology selection project include the definition of your success criteria and usage requirements. There are a number of requirements we look for in a system that will the foundation for project delivery across our team. One of the most important requirements was ease of customization. We are involved in projects that cut across industries and government agencies, and each one has different information that needs to be tracked. In addition, given the nature of our client needs, the variant sizes of projects, and how we integrate with partners, the tool must allow for a flexible methodology that allows our teams to work to their strengths. In the end Redmine was a clear winner for us. Redmine provides a simple user interface for adding customized fields and modifying workflows within the system. Second, Redmine meets the important requirement of tracking multiple projects while at the same time allowing clients, partners and other internal Acquia employees access to specific projects. To accomplish this and keep data separate for each project Redmine provides a simple role based access control system and process manage what projects users are able to view. The final major requirement was document management. Redmine offers a robust document management system with the DMSF Plugin (http://www.redmine.org/plugins/dmsf). Using Redmine with DMSF has allowed us to move projects out of Basecamp and into our own tool. This allows us to scale to meet our project needs, provide a consistent process for our Project managers, Technical Architectures, Clients and Partners, while allowing us to host it ourselves.
There have been a number of benefits to using Redmine. First, it gives us a professional tool for tracking projects and their related requirements. This one feature alone was a good enough reason to implement the tool for our bigger projects. The team is now able to track when changes are made to requirements and more importantly allow for team member to ask and answer questions about the requirement and have the discussion attached to the requirement. This has allowed us to reference the original requirement and easily explain to our clients why we implemented it a certain way or explain our final understanding of the requirement. This feature alone saves a tremendous amount of time on the projects. Without a tool like Redmine, tracking a development schedule can often be challenging especially when it is separate from the requirements. Using the Version feature in Redmine we are able to see when each feature will be implemented and understand our progress towards completion. Having this reporting at our fingertips makes it much easier to plan sprints/iterations and track the progress along the release. There are many more benefits that could be discussed but those two help to alleviate two major pain points on most of our projects.
We have only begun to scratch the surface of the capabilities of Redmine because of its extensibility and ease of customization. There are many contributed plug-ins that make it quite the powerful tool to leverage on large-scale projects at a very low total cost of ownership. This essentially gives us a way to deliver professional projects while adhering to our fundamental open source beliefs. We look to get more benefits as we become more proficient in using the tool with our projects, finding ways to deliver better reporting, forecasting and project clarity for our Clients. For now, having a tool that allows us to collaborate effectively within projects and better manage the development cycle has saved enormous amounts of time and provided better communication. This is of great value as we continue to deliver enterprise class Drupal solutions to our Clients. With this accomplishment behind us we continue to focus on excelling at delivery of the most complex projects in collaboration with our Clients and Partners.