Workplace play is not uncommon in a software development shop. Many companies furnish their staff with nerf basketball hoops, game consoles, ping pong tables, and if they’re super awesome…beer fridges :).
This sounds like a paradise for those who are not used to such luxuries, but invariably those unaccustomed to such an environment have the following question:
How do you get any work done?
One way is to strictly monitor the time employees are spending on their work and on the perks. Since the time spent playing a game or swigging cold suds doesn’t not directly contribute to creation of product, it should be strictly limited and controlled. Moreover, if such luxuries are abused, penalties likely should be employed by management to curtail such unproductive behavior so clearly in conflict with the good of the company. Such measures are predicated on the notion that all work is drudgery and the worker’s desire is to provide the minimum effort to satisfy the minimum of what is required.
Though this may have been the predominant mindset during the industrial revolution, it was unheard of before and is becoming increasingly rare in the business of software development and other such creative and complex work. In fact, solid research now tells us that the above reasoning is not only sub-optimal but actively destructive for worker motivation.
In his book Drive, Dan Pink distills the work of many psychologists and scientists in order to answer the question “What motivates us?” His answer is universal for all humans and consists of three things:
- The Desire for Autonomy
- The Pursuit of Mastery
- The Desire for Purpose
In order to motivate software developers then, the research would suggest a much different approach than the strictly monitored, carrot and stick approach described earlier. It would suggest the following things:
- Build an environment where developers can decide on what and how they work and where these decisions are supported.
- Encourage, empower, even provide for developers to improve any skill they wish as they pursue mastery in these skills.
- Provide developers with a purposeful reason for succeeding in their work. This must be more than just money.
These things excite developers and stoke their drive to grow, perform, and succeed. Moreover, feeling this degree of drive to succeed at work will produce hyper performing teams that deliver huge amounts of value to an organization. Most importantly, it is huge amount of fun.
If you as a manager look around to find your developers playing more than they are producing, you have a choice. You can inflict obligation, guilt or provide a reprimand. This may lead to short term gains in productivity and a pat on the back from your superiors. However, the day will come when your developers start disengaging, quality and innovation begins to suffer, and your best developers begin leaving. You may look back and wonder what went wrong.
Instead, seek out what robs them of autonomy and remove it. Fight to secure for them the permission and resources to hone their skills as craftsman; ensure they are not robbed of the pride of their workmanship. Finally, work hard to forge for their work some purpose that inspires their noble spirits.
Perhaps then, the best answer to the original question of, “How do you get any work done?” is this:
Make the work more fun than the perks