You already know that offshore software development brings the following benefits:
- Cost reduction when working with competitive labor markets;
- Unlimited access to highly specialized professionals;
- Maximizing the efficiency of time zone differences – less production down time.
Together with that, it brings certain challenges you should be aware of:
- The need for constant management and control (in particular, time and budget);
- Cultural differences (which were covered in one of our previous articles);
- Lack of face-to-face contact.
Let's talk about control in more depth.
Control is essential
Each process and the result on the project must be kept under control – only thus way the project can be successful. Let us briefly enumerate which project characteristics require constant monitoring:
- Project volume control assumes constantly tracking the amount of completed and remaining work;
- Budget control allows us to understand how fast the costs grow and whether there will be enough funding to complete the project;
- Timing control for each task and iteration allows to predict the expected deadline of the project, or help you understand how you need to attract the resources to accelerate the development of the project;
- Quality control is to verify the conformity of manufactured products to customer requirements. Ultimately, the customer pays exactly for quality results;
- Customer satisfaction control – a more volatile and difficult to measure characteristic, which, however, requires constant monitoring to continue the work with the customer in the future. Equally important is the focus on the needs of end-users, ensuring the success of the project in the long term;
- Team motivation control should be carried out by a team leader to maintain commitment, productivity and satisfaction of analysts, developers, testers.
These and other characteristics of the projects are in need of attention from the manager. There are many tools to monitor the status of the project.
In this article we will focus on the necessity to manage work time accurately, given that you are working with an offshore team.
Tools for control
In order to organize the work process (given the difficulties you are going to face) you need to find appropriate tools for control. These tools should meet the following criteria:
- Universal access for all the team members, which is dictated by the remote character of work;
- Integrity, or, in other words, objectivity and absence of hypocrisy (the law applies to everyone without discrimination). The control system should work as a "fair judge";
- Transparency – the algorithm for calculating the criterion, the criterion of praise and sanctions should be clear to all participants of the project;
- Accuracy, which enables flexible project control;
- Inevitability – otherwise, the control system won't reach its goal; the monitoring mechanism should not break or get distorted, leading to wrong conclusions and wrong decisions. It's like to lead the plane to land on with broken instrument;
- The common criteria and measurement units are important for comparing different team members to each other;
- Availability online – access to up-to-date information at any time.
Project management systems: benefits and downsides
To manage software development projects in correspondence with the requirements mentioned above project management system such as Redmine and JIRA are used. Redmine is free and supported by the community. JIRA is a paid system which is available both as the supply for the local server and under subscription as a remote application.
Redmine and JIRA and provide planning and performance monitoring tools, but time tracking is their weak point. Here's why…
Customer: what do I pay for?
Although all the customers are different, most of them (not without reasons) treat the time spent on the project with the utmost care.
There are two major forms of contractual relations in software development – projects with a fixed budget and hourly projects. In the first case, the contractor company bears all the risks and tries to include them into the budget at the estimation stage. In the case of hourly projects some of the risks are not included into the estimate, and, therefore, they lay on the Customer. So, in the case of hourly projects Customer is extremely interested to see what the project team members are engaged in at a particular time, and how much time is currently spent.
Employer: what do I pay for?
The Employer (quite logically) asks the same question as the Customer does. But, among other things, there is a feature of most software development companies – a flexible work schedule, when it is impossible to monitor the time spent based on the beginning and end of the working day only.
An employer should be interested in the professional growth of its employees to produce more quality and more profit in the future.
Team member: where do I spend my time?
Any person looking to improve his professional background seeks to control himself in order to increase his efficiency. In addition, many employees are interested in flexible hours and the ability to spend minimum effort and time on reporting.
This is where time tracking software can help
Today there is a great variety of time tracking tools available in the market. For more details on this read our review of popular time tracking systems.
Many time tracking tools support screenshot taking functionality, and this feature represents a good opportunity to report to the Customer or Employer whenever he requests. After looking through screenshots, Customer/Employer reassures himself that his money is not just wasted. Thus, this control method achieves one more goal – to increase loyalty and customer satisfaction.
The employer and the employee reach their goals as well.
As for our company's experience, our solution is a combination of project management tools – JIRA and Redmine (which are common for us), and our own development – CrISStal Eye time tracking system. Such a symbiosis helps us understand:
- What was going on during the day – in pictures;
- What was going on during the day – in seconds;
- What has been done on the particular issue;
- How much time has been spent (by project, task, or user), with a breakdown by days, weeks, months or years.
How to deal with employee resistance?
Although time tracking provides Customer and Employer with a clear picture of what's happening on the project, one of the biggest impediment to its successful implementation in the organization is employee resistance.
What can be done to prevent the negative effects of this?
Educate employees Make it clear to your team members why it is important to log time accurately. Help them understand that this activity serves the goals of the whole team – the more accurately the time is tracked, the more clear the whole picture is (i.e. which tasks consume excess resources, and which ones are neglected). The more clear the situation on the project is, the more effective the further steps can be for the project. Which, in turn, should have a positive effect on Customer's loyalty and/or can finally result in additional bonuses for the team's efforts.
Monitor dashboard and define "procrastinators" Through the dashboard of your time tracking tool you can see who logs time regularly, who does it from time to time, and who refuses to do it at all. This way the management team will understand who they need to talk to additionally.
Set email reminders Sometimes employees fail to log their time simply because they forget. If this is the case, getting an automated reminder should help them get this done finally.
Conclusion
To sum up, I would like to say that all the projects need control, especially if the team is distributed. In particular, it is extremely important to monitor time and budget on a regular basis.
When you implement a control system, make sure it works as a "fair judge" and serves the interest of the whole team.
Do you have any interesting experience to share? Do you have any comments or questions? Feel free to share in the comments box below.