The Effects of Work Environment on Developer Productivity
Space may be the final frontier. It may be wide and open. Or even closed and confined. In the software development world we often focus on tooling and its effect on programmer productivity. This crazy distributed world is encouraging us to think less about the importance of physical workspaces.
Our work environment historically hasn’t been given much focus. Only when Peopleware by Tom DeMarco and Timothy Lister was published in 1987 were the social aspects of software engineering popularised. Today the notion of Agile workspaces is being advocated for fostering collaboration and productivity. The question we should ask ourselves is what environmental factors support agility?
I read Peopleware in university when examining personality composition of productive teams. Yet, the lessons regarding workspace and its effects are another vital consideration. Changes to my own desk positioning have caused me to re-investigate the insights proposed by Tom DeMarco and Timothy Lister. This week I’ll outline my musings on the office surroundings, and how it affects our productivity.
Noise travels. Having a multitude of colleagues speaking on the phone leads to an incessant buzzing travelling around the floor. Individual conversations on the floor contribute to the swarm of bees buzzing around your head as you work. Software engineers perform very thoughtfully intensive work. Concentrating on writing code, reading code, or completing any intellectually gruelling tasks requires peace and quiet.
> Your folks are intellect workers- they need to have their brains in gear to > do their work, and noise does affect their ability to concentrate. > > Tom DeMarco and Timothy Lister, Peopleware: Productive Projects and Teams
Separation of collaborative and individual spaces is crucial. Don’t cram floors with developers like battery hens in cages. They need some personal space to focus on computationally intensive tasks. Yet they also need booths and collaborative spaces to encourage working together.
I’ve never been one for continually sitting in silence. Nevertheless, through disregarding the babble we are enforcing every developer to require a set of noise cancelling headphones to be productive. Introduction of noise reduction mechanisms on the floor itself is one of the latest advancements that should be adopted. It would certainly have been useful of late, where I could hear colleagues from my dark corner on the opposite side of the floor.
Let’s Get Together
Whether you work to live, or live to work, we spend the majority of our week in the office. The office needs to feel homely yet not encourage leaving at an unreasonable hour. Being human, software engineers will still want a fixed location to flock to every day. My experiences with hot desking early in my career emphasised that human beings are creatures of habit. The majority sat in the same desk everyday. Their lockers were only filled with their non-essential hoardings when visitors needed a desk. Flex desking possesses primarily fiscal benefits as you have less empty desks in the case of sickness and holidays. However it does depersonalise individual work settings.
Proximity to your team can have a strong impact, regardless of organisational strategy. Strong teams have diverse personality sets that will gel together, but that is not the only factor affecting their productivity. Offices shouldn’t be treated as a peak-time tube train, cramming new arrivals into every free centimetre of space. It is a misnomer that colleagues will walk to your desk irrespective of where you sit. Even if they are counting the steps on whichever pedometer app or device they use. Instant messenger applications become the default communication mechanism, which can leave segregated developers feeling isolated.
Teams should be placed in collaborative facing groups rather than endless rows of desks. Areas should also by extensible to allow teams to grow. Like blocks of memory, slotting new arrivals into the first available slot rather than encouraging concurrent access is not a great impression to set for new engineers.
Where I Draw the Line
With an emphasis on co-located teams within many Agile methodologies, collaborative spaces are required to foster fraternisation. To encourage innovative solutions means your work environment must include tools to help encourage ad-hoc creative thinking. Tools must be openly available without the need to lock coders in conference rooms.
> You may be able to kick people to make them active, but not to make them > creative, inventive, and thoughtful. > > Tom DeMarco and Timothy Lister, Peopleware: Productive Projects and Teams
Many Agile spaces boast every wall being a whiteboard, as well as smaller versions at developers desks. Having boards only in meeting rooms can introduce challenges, especially when you have a shortage of quieter spaces for deep thought. Even windows can allow sketching of new ideas with the right pens. The added bonus of getting creative with your collaborative space is programmers can bask in natural sunlight for the few months per year that we have it.
The little things are important to developers. Engineers crave more monitors, better mice and keyboards. Even the specification of the coffee machine can prove to be a source of contention, as I’ve found of late.
With the exception of the pricey coffee machine, the start up paradigm of giving coders choice over their tools is something us larger organisations should consider. Having them build their own PC or laptop spec will not be scalable. There is no reason that personal budgets for mice, keyboards and monitors couldn’t be adopted to give programmers the tools they need to operative productively. Such mechanisms must be applied consistently to prevent the spread of animosity.
There are far more productivity enhancements I can recommend based on my time in the relegation zone. It is important to regularly evaluate our work environments and experiment to determine which options will work for the engineering collective. Measurement of individual productivity would be the best mechanism to determine if developer productivity is being impacted by their surroundings. Once the fix is identified, it should be adopted across the entire group to prevent feelings of resentment developing.
> When the office environment is frustrating enough, people look for a place to > hide out. They book the conference rooms or head for the library or wander > off for coffee and just don’t come back. No, they are not meeting for secret > romance or plotting political coups; they are hiding out to work. > > Tom DeMarco and Timothy Lister, Peopleware: Productive Projects and Teams
Peopleware outlines several strategies employed by people unhappy with their environment. Looking out for these signs can help identify workspace issues. One of the notable approaches that is easy to spot is employees diving into offices or conference rooms to get work done. This is a more drastic mechanism than the more common headphones on strategy. Another possible strategy is working remotely more regularly. This can also be an indication of developer frustration. Managers should be on the lookout for these warning signs.
Dissatisfaction can stem not only from the work itself, but also developer surroundings. Regardless of profession, people want to go home every day feeling effective and accomplished. Be mindful of the small environmental factors appreciated by programmers. Even the cackle of colleagues echoes across a packed engineering floor.
Thanks for reading! Do also check out my follow on piece on workspace impact on non-occupying stakeholders.