DevOps – Offices Discouraged

devops[G u e s t   P o s t] Every company, technological ones in particular, is faced with a long list of challenges concerning productive work environments. For starters, traditional concepts of hiring local talents, which may or may not exist, and having all employees work together in the same office space have proven, over the years, to bring about a number of interruptions and fairly unproductive work environments. What is lacking is focus.

A normal day for the average employee at any office job usually entails a somewhat lengthy commute to work, involving a rushed morning routine and a less than positive attitude on arrival to the office. Focus may be dispersed to various parts of the brain, thinking about a sick child, new love interest, or whether or not that parking spot was legal…not holding the most promise for a productive work day. Additionally, the birthday in the office and your co-worker’s love of blasting country music only bring you further from reaching some level of concentration.You put on your headphones to drown out distractions, but deep down, you know that the day is already doomed to produce sub-par work.

When you finally manage to get in your zone, a manager from a different department taps you on the shoulder, reminding you about the general office meeting that’s about to take place in the conference room in five minutes. You know it will be a waste of your time, but don’t have much of a choice since the GM expects everyone to show. Unfortunately, this scenario is a common occurrence at most offices.  The wide-spread acceptance of what was once thought of as the ‘model office environment’, which included long commutes and traditionally generic office spaces, has now turned into an obsolete atmosphere that caters to the productivity of a select few.

Take the difference between a programmer and a product manager, for example. Each person has a very different style and approach to their position and tasks. Programmers are expected to constantly be productive, writing code; however, that productivity is put on hold with the dozens of interruptions they are faced with on a daily basis, not to mention multiple tasks piled up throughout the day. Joel Spolsky, of Joel on Software, wrote a collection of articles regarding software team management, development, how to run successful software companies and more, analyzed just why programmers need a distraction-less environment to produce truly outstanding work. According to Spolsky, in order for programmers to write high-quality code, they need to be able to remember a rather large assortment of data ranging from variable names and APIs to the name of the subdirectory where they store their source code. This requires a high level of focus, entering a mental state of ‘flow’, becoming completely absorbed in their task at hand. If there is an attempt or pressure to multitask, any achievement of deep concentration will be lost, causing delays in the process of regaining focus, less productivity and ultimately, subpar work.

Product Managers

Product managers, on the other end of the spectrum, are expected to participate in meetings and make decisions, requiring up-to-date knowledge regarding each department’s tasks and performance. Clearly, these decisions affect the entire company, programmers included. Nonetheless, there is no need to disrupt any employee in the middle of a task to join a meeting that may or may not be relevant to the task at hand. Managers’ brains and schedules allocate time differently than programmers. Blocks of time are measured practically, so the concept of not looking at the clock every half hour is inconceivable. Paul Graham’s article, “Maker’s Schedule, Manager’s Schedule”, explains this dichotomy quite nicely, reminding managers that while the ‘makers’, as he refers to them, end up having to sacrifice parts of their work day to accommodate the managers, everything comes with a cost. Switching from one task to another, “changes the mode in which you work,” whether you like it or not.

This brings us to the understanding that humans are complex beings; a fact that is finally being acknowledged, thanks to DevOps culture. We are not robots that can perform well under any circumstance and our work is generally not the only event going on in our lives. We have families, friends, pets, events, illnesses and deadlines…but how are we meant to manage it all and achieve focus successfully? Fortunately, we have the knowledge and tools necessary to create an optimal work environment.

Certain procedures have to be followed when integrating a new system into a workplace. As mentioned in my previous guest post on IamOnDemand, “DevOps and Continuous Delivery Symbiosis”, the collaboration of multiple people from various departments is necessary for comprehensive projects.  Of course, the employees should be highly talented and motivated to succeed in their field of expertise, but the collaboration adds a whole new level, creating an equal playing field for all members involved. Teams can be comprised of individuals across the globe, each specializing in a specific field, sharing knowledge and learning about other related areas for a common goal. Physical proximity to an office no longer acts as a constraint in the hiring process, permitting the appropriate candidates to join the team.

“no managers, no deadlines, no meetings, no work hours”

The concept of hiring individuals who want to do the work and are capable of performing well together creates a sense of shared responsibility for the business as a whole. When a team really feels invested in what they are doing, the outcome is boundless. This was demonstrated brilliantly by GitHub, a software development company whose motto is, “no managers, no deadlines, no meetings, no work hours.” Projects are distributed using open source so individuals across the globe can collaborate, plan, discuss and build to their hearts’ content. By removing the pyramid structure of management, no one is forced to fit into a box that may not necessarily be the right shape or size and everyone is encouraged to share opinions.

All in all, DevOps culture makes for a much more transparent and welcoming environment that encourages productivity. In my opinion, it is the most productive and result oriented method of conducting business. Instead of sitting in an office from 9:00am to 5:00pm, getting an average of 30 minutes of work done a day, as I’ve witnessed in many large companies, why not take a more innovative approach to work that creates a positive environment for all?

While I have gone over some of the issues associated with traditional workplaces, and have mentioned a number of solutions used to optimize productivity, the only question that remains is, how, exactly, are these solutions and procedures carried out? Implementation of a new system may seem complicated, however, as mentioned above, with open minds, motivation and the right tools, it can undoubtedly be applied anywhere. Stay tuned for my next post to find out how to increase productivity and effectively incorporate DevOps culture into your workplace.


About the Author

Evgeny ZislisEvgeny Zislis is a founder of DevOps Israel who consult DevOps adoption in technology companies. He has been involved in IT operations for more than 10 years in companies such as IBM, RSA, ECI and others. When he is not solving techie problems in a console, he can be found playing computer games or visiting the movie theatre watching the latest Sci-Fi or superhero flick. He can be contacted via his company webpage or e-mail at evgeny@devops.co.il.

© 2014 IOD