Saturday, March 14, 2009

On Project - the concept

What if corporations could offer developers the opportunity to go on project in the same way some go on sabatical? It can be so difficult for internal developers (as opposed to consultants) to free themselves of the beneficial, but distracting corporate world. A unique benefit of full time developers is that they can build a deep business knowledge, but that can come at the cost of being too entrenched in the business with less time to write code.

This works well for the day to day maintenance of an application ("keeping the lights on"), but it slows down new development. When the next big project comes along, try sending the developers on project. Communicate to everyone that these developers should only be contacted in emergencies (the developers probably have intimate knowledge of what they have built that cannot be substituted, so there may be circumstances that necessitate contacting them). This way they will be 100% focused on their current project.

In the same way that soldiers go off to war and the world carries on without them, but reserves their place for their return, these developers would be "on project" until they were ready to come home. At that time they would support the new project and live once again in the corporate world resuming their myriad responsibilities and communications.

An unfortunate circumstance of the current economic times means many corporations have empty desks, so it may even be feasible to assign them to desks in an unoccupied area. This would help everyone involved to respect the on project status of the developers and keep communication down to only the emergency messages.

Depending on what seems acceptable and necessary it might be a good idea to not retain the same phone numbers and email addresses for these developers while they are on project. However, Once a culture is developed of respecting the separation of these developers, then such drastic measures would not be necessary.

The time the developers are on project could be limited to a certain number of months or to fulfilling a certain specification. In keeping with the military metaphor, it might be interesting to limit it to time. The requirements of the project would be listed according to importance and the developers would complete as much as possible. Another interesting experiment with time could be to allow developers to set their own hours while on project as long as at the end of the week it totaled at least 40.

In this insulated environment it is likely that passionate developers will be more productive towards the project and also more innovative with technology. It also would offer an environment where the project team could naturally develop as a team. So called extreme programming can be a wonderful thing, but in my experience it cannot be forced and needs to develop naturally. This insulated environment would hopefully be conducive to that.

Overall though the real benefit is in being able to put developers into an environment where they can be 100% focused on a project. As a side benefit it helps test how well applications are self sufficient or reliant on the developers. If developers know they will be periodically going on project, then they have stronger motivation to build software that requires less maintenance.

No comments: