As we are more of technical experts at Studio theYANG, we keep in mind that a successful project needs the collaboration of client and us on its management. We do our best to measure every detail, and thus help our clients follow the budget and planning of their projects.
Estimation
Estimation is an important task before the start of a new project or a new development. First, we try to figure out all the resources needed and their dependencies, to determine if we need to split the mandate into different parts that are more self-contained and thus more measurable.
Here at Studio theYANG, we bill most of our jobs by hour, and an estimation of hours is directly related to the budget needed from clients. The estimation of hours also helps with the planning and gives an expectation of the project completion date.
We use two tools to foresee the total hours as accurately as we can. One is Fibonacci numbers, 1, 2, 3, 5, 8, 13, 21, … Information theory says that these exponentially growing numbers are efficient for estimation, and when it’s done efficiently, our result will be more intuitive and accurate. Fibonacci numbers are the most well-known whole numbers that grow slower than powers of two, and make the most sense in an Agile context.
The other is fixed percentages of certain add-on tasks when working on the estimation of an entire project. At Studio theYANG, for example, we add 5% if the client needs to have technical documentation, 10% for automatic tests. These add-on tasks are typically hard to have an individual estimation, and are truly optional and depended on the client’s actual needs.
Time Tracking
Again, billing our clients on an hourly rate, it’s the most important to correctly track our time so that we can build up the confidence with our clients.
The central tool that we select at Studio theYANG is Redmine, an open-source project management system that goes along with our core value of technological transparency. Besides time tracking, Redmine also helps manage tickets, sprints, code repositories and documents.
We split our activity into four categories:
- Development: code writing and testing on Python application level;
- Analysis: code reading, log browsing and architectural review;
- Sysadmin: code writing on Linux level;
- Research: documentation reading, new technology analysis, etc.
At Studio theYANG, we don’t bill the hours spent on any communication, because a priced communication channel violates our core value of communication transparency.
The time tracking makes it possible to measure the actual progress on a project. Using Redmine custom reports, it is easy for clients to keep an eye on our progress in real time. A retrospective review of last sprint also provides a point of view on what can be changed and improved. In the end, a win-win for both our clients and us consultants.
