Cross-departmental communication is standard practice in most IT companies. You can't get the car moving if you don't operate as one massive, well-oiled machine, right?
Barriers often exist between departments, making communication a challenge and hindering your organization's ability to quickly get products to market. This is where DevOps enters the picture.
DevOps can help
DevOps, at its core, is a system of collaboration that does away with siloed development and operations teams, enabling organizations to get software to the market much faster, among other benefits. DevOps is an integration of developers and operations teams to improve productivity and collaboration. This is done by measuring application performance on a continuous basis, automating infrastructure and workflows and continuously measuring application performance.
Implementing DevOps in tech workplaces
DevOps isn't an "all-in-one solution" that can simply be copied and pasted. An effective DevOps strategy must be tailored to your specific workplace. You'll need an implementation strategy for deploying DevOps in tech vs. creative workplaces.
Get buy-in
Successful DevOps implementation requires everyone to buy-in, from the top of your organization to the bottom. How can this be accomplished? Look at incentives.
- Are certain types of behaviors being rewarded?
- Is there any motivation for cross-team collaboration?
- What are the things that matter most to your organization?
It’s essential your Dev and Ops teams understand the importance of working together for the sake of continually delivering high-quality applications to your customers.
Automate, automate, automate
Have your employees get into the practice of visiting the DevOps team in your organization. Have them work together to discover tools that will help them automate their work to improve efficiency and productivity.
One popular tool is Jenkins, which empowers developers to test new code on each new build in a developer-friendly language. Another such tool is Atlassian’s Bitbucket. Bitbucket serves as a web-based version control repository hosting service for developmental projects and source code.
Improve security
There are far too many organizations that fail to take their security seriously. Generally, one of the upsides of DevOps is improved security practices. Implement tools to help you check system vulnerabilities in your organization (penetration testing is your friend).
Netsparker is an automatic web application used for penetration testing. It can scan more than 1,000 web applications a day and identify everything from SQL injections to cross-site scripting. And Aircrack can identify flaws within wireless connections. Not only can it test Wi-Fi devices, but it can also test driver capabilities.
No matter what tools you use, you can never completely eliminate the human element. Mistakes can and will happen, but it’s often negligence that lies at the core of many organizational security issues.
Mitigate security risks
- When deploying web applications, what type of SSL/TLS certificates are you deploying?
- Is your hard drive encrypted?
- Are you using a password manager?
Cross-department cooperation and software increase the possibility of a single security flaw spreading across the entirety of your business (as opposed to staying contained to a single department). Proper DevOps implementation requires a complete mind shift in the way your organization approaches security.
Implementing DevOps in creative workplaces
Creative departments, such as developers and designers, are cut from a different cloth than those in operations. More often than not a web designer requires more than just a technical skillset. They require the creativity to implement those skills to produce a unique product that stands out from the competition.
As such, the rules they play by are just a little bit different, and creative workplaces require a shift in the way you approach your DevOps strategy.
Encourage creative problem-solving
When software engineers fix a bug, they have to consider the possibility it may crash the next system it runs on. To avoid future issues, creative types need to put their thinking caps on and look at the problem from all angles.
A truly creative person wouldn’t just see the bug as an isolated incident, but as a possible symptom of a more widespread problem. Writing code, creating new software or designing a website requires out of the box thinking.
Often developers and creatives approach projects without taking into consideration what the other is thinking. Simply tossing a PDF file of a design over to the developer team next door is bound to come with a medley of communication problems.
Cross-department cooperation can be improved by establishing a clear understanding of the project, working side by side, agreeing upon milestones and understanding that both sides will likely approach the project with different methodologies.
Implementing DevOps in a creative workplace requires a culture of nurturing creativity. Otherwise, your creative team members are simply completing the tasks assigned to them.
Do away with the 9-to-5 mindset
The more you work with creative team members the more it becomes clear that creativity doesn’t work on a set schedule. A creative breakthrough may not come through during business hours. It may hit while at home, during a vacation or right at the end of a shift.
For creative types, work shouldn’t be determined by the hours spent at work, but on the actual value of the end product. This type of innovation comes from being handed a problem and given all the time they need to find a solution.
With that being said, it’s still imperative to follow schedules and deadlines. This is the primary reason why it’s important that the creative professionals in your organization work with the professionals in operations who will help to keep them on track with schedules and timelines.
Evolve creative culture
Creative organizations have a culture unique to their own. Propping up a DevOps environment is going to create shifts in that culture. The key here is to ensure that shift improves processes, output and the end product, rather than hindering those things.
A great way to do this is with team building activities such as "War Games." War games are any variation of simulations and exercises that both teams can take part of. They encourage collaboration while at the same time improving efficiency by putting different skills to the test and giving teams the ability to handle real-life situations with more confidence.
Here are some war games that creative organizations can implement:
- Penetration test: Hack your own system and leave it to the team to fix the issue. One test like this will increase security awareness almost immediately. However, to keep your teams on their toes, it's important to do this indefinitely (switching between once a quarter to semi-annually).
- Simulate peak demand: What happens to your systems when running at demand peak (or worse, a DDOS attack)? Will the system be able to scale or crash? You never know until you run this scenario.
- Single line disruption: Run your development and deployment workflow by changing one single line of code. Does the disruption get noticed, does it get fixed with the next iteration? This is a great way to improve the accuracy of your teams.
- Disaster recovery: In this scenario, backup your system and simulate a particular disaster. See how the teams collaborate and get through the event. Were they able to remedy the issue or did things reach to a catastrophic fail? Test different disasters as much as you can to keep your teams on their toes.
DevOps is a continuous process
When DevOps is appropriately implemented in your organization, you’ll harvest the benefits of getting your products to market that much faster as you focus on improving your business.
DevOps isn’t a one-off deal, however. It’s a process that continually requires and improves collaboration and communication. Take a look at the workplace where you intend on implementing your DevOps strategy and focus on best practices to ensure your success.