How We Developed Our Own Project Management Tool
Every business goes through a difficult and long way. At first, it is just some kind of idea and for its implementation any means can be useful. With time it can turn into something more significant and when your business is developing the tasks become more complex. One day you may realize that your friend’s garage and father’s saw are not enough for accepting new challenges. A novel tool is necessary for achieving great goals and working on large projects. But often it is not easy find such one. Sometimes, the tools currently available in the market are not appropriate for your company. They may be so complicated that you have to hire or outsource experts with necessary competencies to utilize them. It is possible that your desired gadget doesn’t exist at all or only a combination of many tools fits your goals. And what should you do about it?
When Sakichi Toyoda faced a problem of industrial automation, he invented the automatic power loom and succeeded tremendously in improving both productivity and work efficiency. To turn the idea of "a car is for everybody" into life, Henry Ford took a risk and went on to develop the assembly line mode of production, which revolutionized the industry. When our company needed a unique tool aimed at working on the projects with Agile Methodology and satisfying the internal needs of the company, we carefully analysed the existing resources in the area of project management software development and created our own Project Management Tool – Tracker.
The origins of the idea
The idea wasn’t new – at the time it emerged, there were already Redmine, Mingle and other solutions for project management. However, they were difficult to use with the set tools at our disposal. We’d had to rewrite and adapt them to the requirements of the company. But we wished to unify all components of business process in a single custom project management application that was the most convenient, both for developers and for clients. We wanted to produce the participation effect, the sense of involvement and full control over the development for remote clients. So that at anytime, anywhere and from any device he would be able to see how the project is progressing and contribute his suggestions right away, as it is practiced in Agile Methodology.
Previously we kept a task log on paper cards, wrote down the hours worked and later carried all data over to Wiki. When there were few data, the Wiki’s simplicity served ours goals well. However, as the company grew and developed, there came up a necessity to have the tool which would be able to work effectively with a large amount of data.
The genesis of Tracker
Since we are the supporters of Agile, our project management tool development was also carried out in agile methodology. The goal was to make release as soon as possible and provide developers with a tool which in the future would be updated with a new functionality. The first version of the Tracker was a hours meter. The next step was to add user stories and tasks. And when the user stories already existed, it was possible to transfer all data from Wiki, paper and electronic documents.
Tracker consists of four main modules: Planning, User Stories, Statistics and Billing. The user stories became the basis of the planning. There is a possibility to arrange the stories by weeks. Programmer can plan his work and break it up into tasks. The time used for working on the story is recorded and associated with the specific tasks. The system automatically counts the total time spent on the User Stories.
One of the stages of development was the realization of the statistics page, where the records that the programmer made could be seen by both, the client and the project manager. Apart from the fact that the client could observe all the project changes in Tracker in the real time, additionally he received a daily email-digest of all the latest developments: where a new story was created, where there is a question, which task was completed and so on.
Our team began to analyze all the existing project management tools at that time. The purpose was to identify the unique design and outline the set of required features. Wiki's design wasn't expressive enough, so in the beginning it was planned to find an interface that would allow clients and developers to work on the IT project in the most effective way and instantly see all project updates, questions and status of each story.
At that time a popular project management tools didn’t show the updates in the real time, and if information on the project was changed, user had to refresh the page to see the updates. However, we would like to make the app "alive" where all updates were immediately displayed to users. Modern programming technologies allow doing it, and we added support for web-sockets to play a planning game as a team. Now, if someone changes a story, the program sends a notification to everybody, and all updates are dynamically displayed on the screen of the story. It makes it easier to discuss and plan the project with the client.
We made it very easy for clients to do planning – by using the mouse to drag user stories to desired weeks (or "iterations"). The client writes stories, specifies their priority, determines the order of execution and sets plan for a week. The stories which are under discussion or pending go to the "Unscheduled" section. For each story, the client may see the expected time needed to get it done, which is stored as "estimated time" and later it can be compared with "actual time", that is, the real time worked on the story.
The user stories are a virtual version of the post-it notes, used for making notes of the plans for the day and attaching them to a monitor or planning board. In Tracker it looks like cards of different colour. By clicking on them, you can see the list of planned, processed and completed tasks and actually the results of work. The color of cards corresponds to the status of the story: gray for "estimated", blue for "in process", light green for "completed" and green for "accepted".
There is also a "history of versions" in Tracker that contains all updates from the creation of a story to its acceptance, as well as the records on who, how and when changed it.
The last module is Billing, where the client can see invoices, issued based on the actual time worked by the developers. Tracker is integrated with bookkeeping program and various systems involved in the payment processing. It allows to review the history of all transactions, such as payment through the Elance system or bank transfers. The user came, saw and paid – there is no other way to describe this section.
The results and prospects
Since the creation of Tracker, we never stopped improving, updating and adding new features to it. For instance, we have recently upgraded it to the Ruby on Rails 4 and PostgreSQL. So, the program keeps up with the times and now it can work even with large amounts of data.
As a result, Tracker has become an excellent assistant in the project management. It is a great tool for business, which simplified such aspects of work as documentation, communication, client's involvement in the development, operation of distributed development teams, payroll based on hours worked, invoicing, managing holidays, sick days and etc. The clients appreciated the convenience and simplicity of Tracker in comparison to other project management systems. Moreover, they wouldn’t mind using Tracker in their other business projects out of partnership with Anadea. This is how the idea to turn Tracker into the product emerged. Though, this story is only starting now.
As you can see, for every job a specific tool is required and having it is a halfway to success. Hopefully, the story of developing project management tool for our company that fully meets our requirements and needs may inspire you to take on a challenge. If it happened that you can’t find the software that suits your taste, capable to carry out tasks of your business, here in Anadea we are always ready to help you to create exactly what you are looking for.