Thursday, December 18, 2014

Bitnami Open Source Leaders Interview Series: Jan Niggemann from Redmine

If you're tired of sifting through email threads to surface information on project updates, then you'll love the game-changing project management features provided by Redmine. As a continuation of our Open Source Leaders Interview series, we interviewed Redmine Community Relationship Officer, Jan Niggeman, to learn more about the app. The bottom line? Redmine's solution is not only for software development teams, but for any group that needs a way to collaborate for projects both big or small.

In the interview you'll learn:
  • What Redmine is and how it's different from other project management tools
  • Who should use Redmine and suggested use cases
  • Where to find Redmine support 
  • What to expect from Redmine in the future 
Known for bug tracking management, Redmine has become a popular option for managing both issues and tasks for multiple projects. The application gives you one central place to create, maintain, and successfully follow all of your projects. Multiple project support, flexible roles, and based access control are among the many tools that will make your team's collaboration efforts easier.

Learn more about the project from Jan Niggeman and then try it for yourself. Launch Redmine to the cloud or deploy it locally with free installers, virtual machines and cloud templates from Bitnami. Get started in the cloud for free with a $200 credit from Microsoft Azure.

Read the full transcript here: 

Stuart Langridge:       These are the Bitnami Open Source Leaders interviews. I'm Stuart Langridge, and I'm talking to Jan Niggemann of Redmine. Jan is the Community Relations Officer for the Redmine project.

Jan Niggemann:          Hi, Stuart.

Stuart Langridge:       So tell us a little bit about what Redmine is.

Jan Niggemann:          Redmine is a web application that may be used for project management and online collaboration. We have focused on integrating different areas of project management to provide a platform that's easy to use for project managers as well as the project staff, so everybody can get together online.

Stuart Langridge:       Which types of organizations are currently using Redmine?

Jan Niggemann:          There are several well-known companies around the world. For example, Citrix, Seagate, and Qualcomm. Of course, there are minor organization and lots of universities around the world, and virtually countless open source projects using it. The projects range from everything in-between software development, like the Audacious Media Player, to manufacturing.  For example, there's a project called LAOS laser that tried to program free software for laser cutting machines.

Stuart Langridge:       Are there particular types of organizations that you would like to see using Redmine, or is the answer everyone in the whole world?

Jan Niggemann:          Probably the latter, we're not targeting a special market. We really think that Redmine lends itself very well to software development, but it's not limited to that use case. I've seen architects use Redmine as a central tool, with all the suppliers and craftsmen being tied into the different projects for building houses. So, no, I don’t really think we're going towards a certain niche. We're developing Redmine as an open source project, so everyone can participate in the community and suggest features or changes to better adapt Redmine to their needs or to their special-use cases.

Stuart Langridge:       Architects are using it, that's intriguing. So people who have nothing to do with software development at all are still finding it useful for project management as a whole.

Jan Niggemann:          Correct, as well as the company that I work for. We don't have anything to do with software development, and we're using it as well. We use it as a project management tool to keep a central repository, and to keep people from sending different cases in different places. Redmine helps us to get organized. You no longer need to keep exchanging Excel files with how to proceed and with timelines that are already a day old.

Stuart Langridge:       I think everyone knows the experience of having Excel documents or Word documents arriving in their e-mail and they're called something like "document brackets updated version two."

Jan Niggemann:          That's the thing that no one can really stand, in fact, because you don’t know which versions to edit and which versions everyone else has. In the end it leads to trouble within the project teams.

Stuart Langridge:       Excellent. There are lots of project management systems, either quite generic or focused more on software development. There is Redmine itself, Track, Bugzilla, etc., and there are many hosted options such as – Trello, Launchpad or GitHub issues. Are there particular areas where you think Redmine is a really good fit, and what questions should people ask if they're looking at the different alternatives to help them choose?

Jan Niggemann:          Redmine is especially suited for software development because we have all of the source control management systems like Subversion, Git, Bazaar, Mercurial, or Darcs. You can tie it into Redmine so you can see the commits and reference issues from the commits issues. Although, depending on your use case, other systems may also be interesting. We know that Bugzilla, for example, has a really cool feature that does automatic duplicate detection for issue tickets. I would not say that Redmine is better in a particular use case since it always depends on how you are going to run the project.

Stuart Langridge:       So, Redmine is a full stack system, and it manages everything that has to do with the project. Does it make sense to use Redmine for only one of its features? For example, imagine I wanted an issue tracker, but I didn't want to do any of the other project management features. Can I just use Redmine as my issue tracker, or does using Redmine really only make sense if I'm using all of its features?

Jan Niggemann:          No, it makes perfect sense if you just want to use Redmine as a normal issue tracker. We think that it's fairly good at that, and you can always add the other project modules later. I have seen some places that only use Redmine for issue tracking and for nothing else.

Stuart Langridge:       Imagine I'm running a small project, is there a project size that isn’t worth using Redmine? Could I use it to manage literally anything? For example, a small one or two person project with only a couple of issues. Or at that point, would you say it's not worth using Redmine?

Jan Niggemann:          It depends if you're familiar with the stack/installation or if you're just using an installation image like Bitnami. If so, I would say it makes sense to use it even if your team's very small or even if you're alone. Although, it becomes more useful if you have people working on a project together that are geographically distributed in the world and you don't meet up in person every now and then.  Regardless of the number of project participants, it makes more sense if you have a handful of developers.

Stuart Langridge:       You mentioned about one’s knowledge of the stack. What level of technical knowledge do you need to run a Redmine installation?  Obviously, if you're going to download the source code and compile it all yourself then that's complicated. And if you're running a huge installation, you may want to know about load balancing and so on, but you also mentioned Bitnami installers. Do you need a lot of system administration knowledge, or can someone who's not that experienced with running server software set up and run a small Redmine instance?

Jan Niggemann:          A good amount of the questions on our forums are about the installation process. It seems that most people that try to install Redmine have never had contact with the underlying stack, so “Ruby on Rails” or “application server” are entirely new terms for them.

                                    Our Wiki provides many installation how-tos for different platforms, but there are there are also ansible playbooks and Docker images. I think that it is fairly easy to install, even if you've never made contact with the whole Ruby on Rails stack. Overall, I'd say that Redmine is easy to set up and maintain, at least for non-rookies such as administrators.

Stuart Langridge:       I think that is the important point here, someone who's not a system administrator at all is gonna have difficulty setting up anything at all. However, if you've never experienced Redmine before and you're particularly ok with the Ruby on Rails application, you can still take one of your installer packages and bring it up relatively easily.

Jan Niggemann:          Yes, we have many installation how-tos for almost every platform possible. The part where people have the most issues is the integration of the application into the web server.

Stuart Langridge:       If lots of people are asking about integrating the application server into the web server, are you working on ways to make that easier in the future? Or is it more a question of understanding or having the system administrator understand how this stuff needs to work?

Jan Niggemann:          Definitely the latter because most people aren't comfortable with Nginx or Apache in the first place, and then they have difficulties in integrating Unicorn or Thin into their systems. We are not trying particularly hard to change anything in Redmine for this use case, and instead trying to provide better documentation for people using it.

Stuart Langridge:       Since we're talking about deployments, are you finding that most people deploy Redmine on a server inside their organization or are people moving to the cloud and deploying to Rackspace, EC2, HP Cloud, or Open Stack?

Jan Niggemann:          From all the forum posts, most people are deploying it on their own servers in their organizations or even at home.

Stuart Langridge:       If I've got a Redmine installation and I want to scale it up, what's the best way of doing that? Should I use Redmine setup for a wide deployment on a bunch of small cloud machines, or is it better to have one cloud machine and just put lots of RAM in it?

Jan Niggemann:          I think it's the latter. I tried to contact my fellow developers for information on that, but we do not have much experience with that. We believe that the latter is the case by installing Redmine on it with lots of RAM and some good processors. According to the forums, Redmine get very slow at 1.5 million issue tickets, and that's something we need to work out in development. Perhaps we can still improve some database queries, which will be something that we're trying to do.

Stuart Langridge:       You mentioned ongoing development, so what's the Redmine release strategy and the release cadence? How often do you put out new things? Do you have time-based releases?

Jan Niggemann:          We don't have a fixed release strategy. We are trying to do two feature releases a year, with maintenance releases every one or two months, or more if security fixes are involved. For now, we use an “it's ready when it's ready” strategy.

Stuart Langridge:       Given that you have maintenance releases every month or couple of months, how do upgrades work? How do I get the new version of Redmine and how long does my existing version stay supported?

Jan Niggemann:          It depends on how you installed Redmine in the first place. We have many users that use our Subversion repository and get the source from there, and those are probably the most experienced users. They just pull the new sources and update the database. Others are literally migrating to new machines by setting up a new instance, copying over the database, and then doing the upgrade in place.

Stuart Langridge:       If I've installed from a package, for example, is it best to set up a separate Redmine with the new version and then copy the data across? Or is there a kind of in-place upgrade?

Jan Niggemann:          There's also the possibility to do an in-place upgrade because we provide the scripts to do automated upgrades if you have new source in place. The only part that has to be taken care of is the database upgrade because you can always go back to the old version if you want, provided that you have a backup. Also, you can download the old versions from our web site.

                                    Most people install the new source to a different directory on the server and then connect them to the database, run the database upgrade scripts and then they are on the new version.

                                    If it’s a new feature version, some plug-ins break. It’s always advisable to check if all your plug-ins work with the new version first. It's not very often, but in some rare cases, that happens.

Stuart Langridge:       Redmine is primarily web-based, so how much work are you doing to take advantage of modern web browsers? Can I use Redmine from my mobile phone, Internet Explorer, and the new versions of Chrome as well? Or are you sticking to a very simple HTML approach?

Jan Niggemann:          We are trying to keep Redmine up to the standards. From time to time, we check if Redmine still works in every well-known browser, and if it does, we keep it on HTML. Redmine still runs in Internet Explorer 5.5, and in the recent Chrome Canary versions.  Recently, there was a problem with Chrome version 36, but it was fixed by Google.

Stuart Langridge:       What about mobile support? Are you working on a mobile view or mobile presentation for Redmine, or just the standard desktop approach?

Jan Niggemann:          At the moment, Redmine uses the standard desktop approach. It is usable for tablets, but not suitable for mobile devices. On mobile phones, where there are smaller screens, it gets quite finicky. It is something that we should really consider in terms of the user interface. But at the moment, we're not really doing anything in that direction. Maybe next year we'll do a user interface refresh and consider how we are dealing with different screen sizes.

Stuart Langridge:       Let's talk about the Redmine community. You have a reasonably active forum, IRC channels, and so on.  Who's involved in the community? Is there a company or companies backing up Redmine, or is it primarily people getting together to do the open source project on their own time?

Jan Niggemann:          There is a German company from Berlin, and also Bitnami. However, we don't get a lot of input into our issue tracker from certain companies. The community is based primarily of administrators that run Redmine for their companies or private people using it for the projects. We have about six or seven supporters that have donated money to run the web site and development, so the community mainly consists of individuals.

Stuart Langridge:       What about the user community rather than the developer community? Will other users help them if they have a problem with Redmine, or want to do something particular with it? Is there a vibrant support community provided by the community itself?

Jan Niggemann:          Yes, I'd say so. There are many people that are not part of the Redmine core team that answer questions for others. I'm very happy about that because we're a very small team, and don’t always have the time to correctly help people with their issues.

Stuart Langridge:       Where is Redmine going next?  What are your plans for the next release, the next six months, the next year, or the next five years?  What's going happen?

Jan Niggemann:          For the end of the year, we'll have the Rails 4.1 upgrade and probably some new features such as permissions on a project base, which has been requested over and over again. For next year, we don't have any special plans. Maybe we will plan for the user interface refresh next year, but we really haven't decided.

Stuart Langridge:       Where should people go if they want to find out more about using Redmine in their organization, contributing, or helping out?

Jan Niggemann:          They can go to, and read all the documents provided in the Wiki, or just ask on the forums. We are always happy to answer both non-code-related questions and technical questions. 

Stuart Langridge:       Thank you very much for your time, and thank you for talking about Redmine, Jan Niggemann.

Jan Niggemann:          Thank you, Stuart.