We all know that large companies such as Google and Apple have an unparalleled office environment, which makes their office extremely efficient. We are doing agile projects, why don't we want a good office environment to improve teamwork? But the high cost of these big companies to build these office environments is really prohibitive.
In fact, starting to make some small changes in the office environment around us, you don't have to spend as expensive as Google and Apple. Having mastered the basic office environment design principles, you can still create an efficient development environment.
1. Disadvantages of a poor office environment
The high partition divides each employee into a cubicle, which fully protects privacy. Although the space of each cubicle is not very large, there is also a small cabinet next to each person, so that everyone can store their office equipment. The power supply is plugged in through the ground, so there are not many cables on the desktop; the office is very quiet, only the keyboard sound can be heard, and everyone’s communication is through various IM tools or emails; the white wall is very clean, but there is no place to write; the leaders have their own offices, and they never go to the employees' area to disturb the employees' work. When you step into such an office, how do you feel? Discipline? High efficiency? Or do you have other opinions?
Different office environments bring different feelings to developers, and also affect their mood, comfort, and enthusiasm. Developers have a bad environment, low efficiency, many code bugs, which may result in poor team collaboration.
Communication is blocked by high barriers. Developers only communicate through IM. Incomplete information and poor communication are common. That’s why this abnormal quiet occurs in the office.
There is no wall to write, so there is no chance for everyone to discuss something together.
Leaders only make judgments and decisions based on processed information.
The seat that is not spacious is occupied by a cabinet with a polar utilization rate, which constrains the range of motion of legs, resulting in cramped and distracting attention. Then a careless stretch out the leg to relax, on the ground plug-in power kick out.
In an office without air conditioning, people are busy wiping sweat, not working.
A dim office can't improve efficiency at all.
The sun is too strong to see the screen clearly.
The narrow office space, surrounded by the sweet smell of people nearby, employees can't concentrate at all.
Without a relax environment, developers can only be in a state of tension, and when their efficiency reaches a certain level, they begin to decline.
2. Advantages of a good office environment
So how to build an efficient development office environment? A developer-friendly office environment often has the following characteristics:
I. Convenient for communication and discussion
1) Proper noise
Allowing proper discussion of the noise generated can improve efficiency. Here's a professional report: http://www.jstor.org/stable/10.1086/665048.
2) Immediate discussion
It is convenient to discuss it immediately. When you stand up, there is a whiteboard, a flipper, or a whiteboard wall. You can write a large area of discussion area at will to enhance the communication bandwidth.
We can communicate with each other at any time, instead of dispersing people from the same project team to different office areas according to their functions, resulting in physical isolation of communication.
There is no high partition, using an open office area, you can start communication with your head up. Don't reduce the frequency of communication because you need to stand up to see each other.
II. Allow developers to concentrate on work
Distraction is the killer of efficiency, especially for developers. And the cost of scene review caused by distraction is very high.
III. Proper relaxation can stimulate creativity
The seat should be comfortable and don't let the developers be too restrictive. The underside of the table is best left empty so that you can let go of your legs.
There must be a rest area, such as a coffee room, where developers can relax and chat. The relaxing environment in front of the drinking fountain can be more inspirational.
The visual working environment can give developers more direct feedback and make them more clear about the most urgent tasks.
If the results of continuous integration can be more quickly and intuitively fed back, developers can understand the quality of the project as soon as possible. The development progress is transparently disclosed to developers, which can prompt developers
The impediments of the project are disclosed to the developers so that the developers can better understand and prioritize the awareness, and remove the obstacles as soon as possible.
V. Visually friendly
There is no particularly dazzling color decoration. If there is a particularly dazzling color decoration on the wall, it is easy to distract the developer, and it is not good for eyesight. In the long term, it will cause a decline in inefficiency.
An over-bright environment can easily cause reflections on the screen, affect reading, and reduce efficiency.
Too dark environment is easy to cause visual fatigue, which also causes efficiency drop.
VI. Comfortable temperature and humidity, clean air
An office environment that is too dry and too humid will cause physical discomfort and decrease efficiency.
Too cold and hot environments also cause physical discomfort and lower efficiency.
The office environment with serious air pollution makes breathing difficult, causing efficiency drop.
The smelly office environment is also uncomfortable and cannot improve efficiency.
VII. Easy to set up
For example, if a developer has a meeting, there is easy to set up a projector or turn on a TV that can be used without watching ads.
For example, the connectors that are compatible with various devices are available. Type-C, VGA, HDMI, and mini display for the surface.
For example, formatted and mass printed user story cards. Developers don't have to scribble their own cards for tables.
For example, the fault-tolerant mechanism of electric power will not stop the work because of the circuit stop.
For example, if the mouse is damaged, you can get a new mouse immediately without causing unnecessary stagnation due to small device problems.
For example, through the development environment backed up by docker, you can quickly switch to the development environment when the machine fails without waiting.