Distributed Software Development Part 2: Management Challenges
Business is largely about management which, in turn, is largely about reducing costs and reducing time-to-market. However, today’s management models for human resources are largely based on two things: physical presence in the office and seniority. Performance is often only part of the equation when it comes to promotion - people tend to get promoted upto their level of incompetence - and bonuses. In the software industry, however, management models are changing towards a more participatory model in which managers have less and less to say on the “how”, the “who” and the “when” of the development process but, in return, get more say in the “what” - the customer gets to say “why”. In some forms of agile development, team members can even be “voted off the island”, which can be very disconcerting indeed for the manager. This gets less disconcerting for the manager - and arguably a bit more for the team member - if the team member is not paid for presence and seniority but rather for performance. I should insert a caveat here right away: I am not advocating a payment system based solely on a manager’s subjective point-of-view w.r.t. the performance of a team member: this would leave to door open to way too much discretionary (arbitrary) use of power on the manager’s part.
I am advocating a system in which a larger part of the team member’s earnings are based on the goals that the team member is willing to commit to in some sort of negotiation. Here’s why: as I said in a previous post, it doesn’t make much sense for developers, managers, etc. to spend most of their time behind a desk in an office when that same person can do the same job, at less cost to the business, from a home office. When working from a home office, however, you can no longer pay for presence nor can you hope to verify presence in any meaningful way. You can, however, continue to verify that deadlines are being met. This gets easier as chunks get smaller: more deadlines, in this case, means more control.
As a side-note: proof that using the office less is a money-saver is already Out There.
Managers will need tools to measure the progress of their projects accurately and some of those tools will either have to be re-invented or very deeply adjusted to work with a more distributed, more flexible team structure…