"If you can not measure it, you can not manage it." - Peter DruckerMany who fear outsourcing software development means having little or no control over the development process. They think there is no need to measure while the programmers are there in the same room. Or is there? When I worked as a programmer in 1980, my boss used to joke that he would hire someone to turn on the kettle and put it in the corner of the room. Each time the water heater drum beat, we have written a line of code! Now, outsourcing promise huge cost savings and executives are more concerned with lines per minute than in dollars per hour. But in the end, it is important to know that your money triggers a real progress in the development of your software. How could this happen? Business Process Outsourcing (BPO) Outsourcing can provide examples of successfully measured.
Business processes such as accounts receivable and sales calls can be defined out so well that you can accurately measure how efficiently and effectively they are implemented. The new software not only help you detect problems and inefficiencies, but can predict and correct problems before they even measure arise.To new software development track how many new features have been added from time to time. Some programs required size to divide work units and then tracked how many units will be completed over time. The best way is to measure the results of each day and at least the famous weekly.Engineers optimistic about their ability to make the software work. So other metric measures how accurate their estimates for the time required to complete the development of the software. At first, their ability to predict the likelihood it will be difficult. You can set a goal for engineers to improve your development will continue so as to improve the predictability of maintenance programming process.
For you, you need to keep track of the work unit or the bugs fixed during the period. Additionally, you have to measure the amount of re-work required for QA measures fail bug after bug fix attempts.Your outsourcing team should focus on schedule to complete the work program. As part of their commitment, they also have to agree on the definition of the unit of work and the level of productivity they believe that they can achieve. Commitments they make them independent and free from need specific instructions for all their daily activities activities.You usually measure the throughput of your outsourcing team as a whole. A team is usually a combination of junior and senior members. Junior engineers will need guidance and mentoring from senior engineers. This is normal and should be expected and encouraged. But also must be measured over time. A senior engineer will be expected to spend from 5% to 25% of his / her time in junior engineers depending on the complexity of the project and previous experience engineer.
Today junior most people use a simple spreadsheet software such as Microsoft Project and Outsourcing metrics to track them. More sophisticated tools are available but expensive and best applied when you have a large portfolio of software development projects. New tools are being developed to automatically calculate your metrics as you developed.For software example the amount of time the source files checked your source code control system can be used to help measure the productivity of your engineers. Another on-line strategy to track progress and measure results will come soon.You can use the metrics as a basis for Service Level Agreement (SLA) you have your outsourcing vendor.
But remember: the purpose of the SLA is to guide the success of software development and to detect and fix problems that arise. Not to support micro-management, the blame game or to create adversarial relationships with outsourcing software development team.Will you become predictable like BPO and allows you to fix the problem before it happens? I'm sure we'll never have this much control over the creative process of software development ... but who knows? Person who has drum makers who may not be far away!