Java IoT Authors: Liz McMillan, Yeshim Deniz, Zakia Bouachraoui, Elizabeth White, Pat Romanski

Related Topics: @CloudExpo, Java IoT, Microservices Expo, @DevOpsSummit

@CloudExpo: Blog Post

Ten Tips for Facilitating a #DevOps Culture By @Rex_Morrow | @DevOpsSummit

Patience to understand, empathy to care...

DevOps is generally recognized as a means of driving better business outcomes via improvements in process, tools, and culture within the IT organization.  Process is immediately recognizable - it's the way you're doing business today, and everyone involved can probably identify at least a couple of tweaks they believe would improve the process overall.  Tooling is a bit more difficult, as to do it right you need to invest in tools which support your workflows, and if your process is broken or less than ideal today then selecting the right tool becomes much more complicated - the conventional wisdom is to first optimize your process and workflows, and then to select the right tool for the job.  The third aspect, however, is much harder to nail down.  "Culture" is nebulous and seemingly ephemeral, as it consists of a lot of touchy-feely sentiments which tend to be at odds with how engineers have trained themselves to think - rationally and logically.

I strongly suspect that this incongruity is why DevOps advocates for culture improvements in the first place.  Perhaps what is at the heart of this matter, so far left unsaid, is that while the work performed in IT must be logically executed, engineers must acknowledge that the interactions along the software value chain occur between humans, and thus must incorporate humanistic elements like patience and empathy in order to achieve the desired improvements.  Patience to understand, empathy to care...

That all starts to get a bit "meta," so instead of continuing to dwell on the finer aspects of DevOps philosophy, I'll move on to the real point of this article, which is to provide 10 tips to help in effecting the transformation towards a DevOps culture, inspired by an article Helen Beal wrote recently (see article here):

Trust sucks. All trusting does is leave you vulnerable to neglect or attack. Distrusting people and their motivations gives us the feeling that we're in control of both ourselves and the situation. But, unfortunately this is only an illusion. The reality is, even though it sucks, trust is a critical ingredient for any team who wants to be successful, whether that's a marriage, sports team, military unit... or the IT department. Over the decades cultural silos have been built around development and operations, signified by a distinct lack of trust in the other. DevOps requires a unified culture, so building trust between these two organizations is necessary. Organizing teams around projects, rather than tasks, can help to start building that trust, as well as both factions agreeing to a common set of goals and objectives.

Understand the motivations of others
Understanding another's motivations addresses the "why" of his or her actions. This is why we're all so fascinated by the back stories of our favorite comic book and sci-fi heroes. Take Batman for example. We know that his love for Gotham stems from his parents' philanthropy and activism. We know that his fascination with the criminal mind was sparked by the traumatic experience of witnessing his parents' murder. We know that his fear of bats stems from another traumatic childhood experience. We know that his particular brand of vigilantism, which often gets him branded as some kind of "freak," is because Batman couldn't seem to turn around as a kid without some new traumatic experience befalling him.

Understanding a co-worker's back story, or another's current work situation, or the internal politics that are at play in the organization, helps us to understand why individuals arrive at the positions they do. Learning more about our own internal lives helps us understand why we ourselves arrive at the positions we do.

Remove blame
Blame destroys trust. Refer to #1. Removing blame from postmortems allows us to remove the personal element and instead focus on improving the overall process.

Accept the risk for failure
I used to be a driver's education instructor for defensive driving skills clinics. We ran a really cool skid-pad exercise, wherein as instructors we deliberately caused a driver's vehicle to spin out of control to teach skid- and spin-correction techniques. The core theory behind this exercise is that you can't understand the limits of any given system until you push that system beyond its limits. The same is so in software - in order to innovate, you must be willing to accept some risk that a new innovation will fail. What's critical to allowing for experimentation is to fully understand the risks ahead of time, enact controls for those risks, and to have a plan in place to quickly recover in the event of a disaster.

Understand how value flows and where your bottlenecks are
Take the view that your release process is a software value chain, or one unified process, as opposed to a collection of different individual tasks. Once this is mapped out, identify where the constraints are in your system, and look to elevate those constraints so they don't restrict the flow of value. This aspect of DevOps is heavily grounded in the Theory of Constraints, as described by Eliyahu M. Goldratt in The Goal, and Gene Kim in The Phoenix Project.

Remove unplanned work
This is also heavily borrowed from The Goal and The Phoenix Project. Unplanned work comes from amassing technical debt in IT. Firefighting, remediation, regression bugs - these are all examples of unplanned work. DevOps advocates building visibility and reliability into our processes to eliminate as much unplanned work as possible, which frees up time for innovation.

Do everything continuously
Continuous Integration, automated testing, Continuous Delivery. Everything in the software value chain needs to be set up so that you can deliver software at will. This enables the business to strike while the iron is hot on fleeting market opportunities.

Embrace cross-functional teams
During my career as an Army officer, I served as a Fire Support Officer to several combat units. Essentially, the Army "loans" out artillery officers to serve as advisors and liaisons to combat units, for the purpose of integrating indirect fires into the ground unit's plan. This role is described as a "combat multiplier," as it greatly enhances the ground unit's ability to perform its mission. In order to do my job well, I had to have intimate understanding of how ground units fight. To gain this understanding, I volunteered to take on planning and operations work outside the scope of my role, so that I could learn how to think, and fight, like a cavalryman, rifleman, or tanker. This not only made me better at my job, but benefited the unit because my indirect fire plans were more tightly integrated with the maneuver plan. This is what it means to be cross-functional. This is why DevOps advocates for collaboration between development and operations, so that each gains a better understanding of the other's role, and subsequently both can support the business better.

Be transparent
Cross-functional also implies cross-training. Cross-training in skills, tools, systems and processes ensures that no one person in your organization becomes a bottleneck. It provides transparency to your process, because people have a better understanding of how things should work at each stage of the delivery process.

Align incentives to enable self-actualization
Research on work motivations has shown that employees value "autonomy, mastery, and purpose" above other economic incentives in the work place. IT professionals, like everyone else, want to feel valued for their skills and opinions, desire to be heard, and want confidence in the knowledge that they can effect change to better the organization. These qualities enable self-actualization, the pinnacle of Maslow's hierarchy of needs. A work environment that enables self-actualization will breed innovation and success.

More Stories By Rex Morrow

Rex is the Marketing Director at Datical, a venture-backed software company whose solution, Datical DB, manages and simplifies database schema change management in support of high velocity application releases. Prior to Datical, Rex co-founded Texas Venture Labs, a startup accelerator at the University of Texas, and received his MBA from the McCombs School of Business. Before graduate school, Rex served as a Captain in the U.S. Army, and was awarded two bronze stars during combat deployments in Iraq.

IoT & Smart Cities Stories
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...