ShvetsGroup Infrastructure: Organizational Tools
Project management at a web studio requires a number of tools for:
- Communications
- Project management system (planning, tasking)
- Bug tracker (development and bug accounting)
- Source code management system (repository administration)
- Workflow system (storage of general and project documentation)
- Time billing system (tracking time spent on performing tasks)
- Calculation and Accounting System
There are lots of specific products and solutions for each of these categories, and I will not dwell on each of them. Instead, I'll describe what we used, how our choice has evolved and what our final picks were.
Present: Google Apps
• Mail
• Calendar
• Collaborative work on documents
Google Apps is a special version of Google services for companies and organizations. The benefits of Google services have been described thousands of times, so I'll just summarize the ones we find the most important.
Pros
Perhaps the most important advantage is the availability of Google services no matter where you are.
Gmail is the most widely used Google service for us (no wonder). We also use Google Docs almost every day.
Our managers successfully use Google calendar. Its synchronization on cell phones and text message notifications about events make this service very convenient for mobile use.
Google Wave has become the discovery of the year for us and quickly occupied a niche somewhere between the documentation system, e-mail, bugtracker and CRM. We strongly recommend you to try it out at least once.
Cons
Business version of Google Apps will cost a studio of 25 people about $1250/year. Still you can use the Standard-version limited to 50 users, which should be enough for the first stages.
Past: Active Collab
• Project Management System
• Bugtracker
• Workflow system
• Time billing system
Pros
For a long time this product was successfully solving almost all of our problems related to managing projects, development, documentation, SVN integration, time billing and company’s accounting. I can still recommend it to small teams (2-5 people).
We should also mention its convenience and usability, as well as tons of Ajax features that together make this product excellent.
Cons
Nevertheless, eventually we had to replace it with other tools because of the following problems:
- Weak categorization of bugtracker tasks, absence of time estimation and project/task budgeting.
- Inability to customize workflow processes for the tasks.
- Lack of flexibility when distributing rights (only two states present - "on" and "off").
In theory these problems could be fixed, because of the PHP code availability, but the product is paid, so there was no motivation for us to do that. Hence the decision to replace it with something else, but because Active Collab was performing many tasks simultaneously, we had to migrate on several products and solutions.
Present: Atlassian Jira
• Project Management System
• Bugtracker
• Time billing system (with plug-ins)
This is a quite famous and powerful tool written in Java. Its main purpose is bugtracking and task management. It solved all our problems Active Collab couldn’t handle.
Pros
Jira allows you to fully customize the process of solving problems, define the right field types, customize your task processes, monitor the estimates and the time spent and much more - in a word, it’s a multipurpose bugtracker. In addition, there are lots of plug-ins for Jira (both good and bad), and using the API, in theory, you can write something on your own.
Moreover, there’s a special Greenhopper addon for Jira, which adds a whole lot of goodies for managing Agile-projects.
Cons
In our reality, the greatest disadvantage of this product is its high price. For a studio of 25 people, the product will cost $1800. There is also a SaaS version (hosted on Atlassian servers with a $400 monthly fee), but its huge drawback is the inability to install non-standard plug-ins.
If you’re a Drupaller and have never worked with Java, Jira installation, configuration and bug fixing may take you a few days. Compared to it Drupal installation will seem like a piece of cake.
Present: Atlassian Fisheye + Crucible
• Code Management System
• Code-Review System
I want to mention these products, because they’ve made a significant contribution to improving our processes. Fisheye is a repository browser that supports CVS, SVN, GIT and other systems. Crucible is a code review system.
Pros
Both products are integrated with Jira tickets, allowing to see commits on the tasks right in the tickets and review code in the process of completing the task.
Cons
Again, the price. For a studio of up to 25 people it’s gonna cost $2200.
In addition, we noticed a striking difference in approach to the administration of all the three products, suggesting that they were written by different people who had trouble integrating them.
Past: Codesion
• Repository control system
At the beginning of our journey, we had one physical server at a data center in Kiev, which hosted SVN server. After the server went down and there was a three-day SVN downtime, we decided that something had to change and moved all our SVN repositories to an external SaaS service of Codesion repository hosting (former CVSdude).
Pros
In the beginning we were impressed by the simplicity of creating, configuring and distributing rights in the repository directly from the interface. Prior to that, everything was done manually in the console. In addition, the service guarantees a constant uptime of servers and three-tier backup system.
This service is also perfect for recommending to customers who, for whatever reasons, don’t yet have their own repository (I hope you understand why it’s necessary).
Cons
The reason why we migrated from this service was the inability to connect our SVN commit locking hooks (for example, for locking commits without a ticket number), although it is worth mentioning that the basic system of commit notification exists.
In addition, the price of the service is a bit upsetting too – $69 to $538 (PRO version) per month for a studio of up to 25 people.
Present: Amazon EC2 + USVN
• Repository control system
For the above reasons, we transferred our repositories back to our own server.
The problem of server reliability and availability was solved by making hourly and daily snapshots of the SVN server. Thus, whenever the server goes down, the new one can be restored in minutes, by taking a new one at Amazon and assigning old IPs.
Preserving the simplicity of administration was also our requirement and it was solved by installing a free USVN repository control panel. It's quite easy to install, and it truly simplifies the administration of all repositories.
A separate aspect that’s largely ignored when working with repository servers is the security of storing code. I have seen many examples when a company stores the whole project tree in one repository, and all the developers have access to all the projects. It is obvious that the increase in the number of employees makes this scheme very dangerous in terms of code leaks and the subsequent problems. Each of our projects has its own repository with a clear delimitation of rights. In addition, all our repositories are protected by SSL certificate.
Present: Open Atrium
• Documentation system
Introduction for Site Administrators from Development Seed on Vimeo.
Pros
Open Atrium is a great system for storing information about the projects, staff and processes. We create groups in it for every project, and handle the rest of the documentation in one large group. Because this is good old Drupal, it’s easy for us to write any additional functionality and install existing modules.
Naturally, this product is free.
Cons
Drupal is no wiki. Simultaneous cooperative work on documents in Drupal turns into a big headache, so we use Open Atrium more like a document archive, and perform active operations in Google Docs and Google Wave.
Present: FreshBooks
• Time billing system
• Calculation and accounting system
I gave a detailed description of working with FreshBooks in my article called Civilized ways to receive payments or "screw WesternUnion, Webmoney, Bpochta and Yandex.Money"
Pros
The system for billing the time spent is a necessary tool for almost every consulting company. Such a system should provide the developers with a convenient way of time billing, the management with a way to monitor these records and correct them if necessary, the accounting staff with a tool for issuing invoices to customers based on these records.
We made our choice in favor of FreshBooks SaaS service that easily handles all these problems.
Cons
So far we haven’t noticed any negative sides of the service, although the FreshBooks prices may seem a bit too high. For a studio of 25 people, the monthly fee would be about $280.
Got anything to add?