Organizations of all sizes are under serious pressure to deliver better software faster – and more efficiently. Developers are a creative bunch that can move at warp speed – if you let them. How can the DevOps toolchain help (or hurt) their productivity? And what are engineers thinking about when they think about pipelines and associated tooling?
1) Autonomy Is #1
Developers want to use the tools, stacks, and languages that they love. They should! In fact, they should also experiment with NEW technology and tools, knowing that Ops can support it in production.
2) Speak All the Languages
Developers don’t like to be boxed into a web-based GUI. So, if they are more productive using the command line, DSLs, SDKs and REST APIs… let ‘em!
3) Version All the Things
Version control helps development teams track changes in a collaborative, and safe Version all the things, man!
4) Eliminate Failed Deployments
Developers want production deployments to NOT FAIL. Dynamic Cloud, Infrastructure-as-Code, Process-as-code, and a Pipeline-as-product mindset can introduce engineering rigor and repeatability into the release process.
Can developers be wildly successful without these things? Maybe. Are they more likely to be successful if they have them? Absolutely! Arming teams with a sense of ownership and tooling to solve these requirements will lead the way to a team that “ships!”
In DevOps, system-level thinking is important. But too often Operations teams are on the receiving end of what feels like an unstoppable torrent of new application releases with architecture changes, new tool integration and capacity constraints. Clearly, there is room for teams to coordinate the handoff of work in a more efficient and effective manner.
Let’s take a look at some of the things Operations teams are thinking about.
1) Enabling “BYO” for Developers
Ops want to enable Dev teams to continue to “Bring Your Own” stacks, tools, technology, and process while still providing security and governance.
2) Maintaining Continuous Uptime
Ops teams want to know that any deployments they plan to run in production has been rehearsed, successfully, many, many times. Many times.
3) Identifying Dependencies
Ops teams need to understand application dependencies to safely deploy them in the right order, across any number of environments.
4) Knowing What’s Where, and Why
Ops teams need to understand what applications are running where, how they got there, and who approved them – without scraping logs, searching emails, or consulting a (likely out of date!) spreadsheet.
Can operations teams be wildly successful without these things? Maybe. Are they more likely to be successful if they have them? Absolutely! Provide teams choice, safety, and visibility and you’ll help unlock their ability to “ship!”