• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Codemotion Magazine

Codemotion Magazine

We code the future. Together

  • Magazine
  • Dev Hub
    • Community Manager
    • CTO
    • DevOps Engineer
    • Backend Developer
    • Frontend Developer
    • Web Developer
    • Mobile Developer
    • Game Developer
    • Machine Learning Developer
    • Blockchain Developer
    • Designer – CXO
    • Big Data Analyst
    • Security Manager
    • Cloud Manager
  • Articles
    • Stories
    • Events
  • Sign In
Home » Dev Hub » DevOps Engineer » Software Operability: a DevOps Cornerstone
DevOps Engineer

Software Operability: a DevOps Cornerstone

DevOps have helped organisations to re-align their business and technology goals towards sustainable delivery of valuable, working software.

Last update September 2, 2020 by Lorenzo Ermigiotti

Table Of Contents
  • What are DevOps?
  • It takes two to DevOps
  • How and why: focus on operability

The software industry often seems to exist in a world of dichotomies and contrasts: business against developers, developers against testers, designers against business, and so on – towards infinity and beyond.

When a particular activity within the software lifecycle and workflow is identified and codified, the need to differentiate itself from the rest then arises.

This is how, over time, the two distinct phases of ‘development’ and ‘operation’ first arose – initially contrasting, but eventually reconciled thanks to the intuition of the DevOps movement.

What are DevOps?

However, the spread of the word ‘DevOps‘ has led to a weakening of its real importance and usefulness.

In fact, although the initial intent was to offer a culture and the tools that would allow two people – a ‘dev’ and an ‘ops’ – to cooperate to create a working product, it is not unusual to encounter companies that are looking for people to do DevOps as a singular construct, or where developers learning and using some tools is considered sufficient to have a DevOps workflow.

Without DevOps

These situations are often linked to a lack of understanding of what the activities of ‘operations’ people actually are, and the low importance given to ‘software operability’ in comparison with ‘software functionalities’.

In the upcoming Codemotion conference, to be held online on October 20, 21, and 22, 2020, the topic of DevOps will be addressed widely in numerous talks (you can find the schedule here). Not for the first time, our speakers will retrace some salient features of the DevOps culture, and the importance of software operability.

It takes two to DevOps

As it’s not easy to define and use the word ‘DevOps‘ – is it an adjective or an adverb? Is there a DevOps person or a DevOps team? – it might be more effective to start talking about ‘operability’.

We can define (software) operability as a measure of how well a software system works in a production environment, for both end-users and operations teams.

There are many advantages in having a software system with good operability, including of course the simplicity of management, diagnosis, and recovery this offers in the production environment.

However, the path to good operability could require some changes in how the whole team approaches product development. For example, a good starting point might be to avoid the historical distinction between functional and non-functional requirements.

Even without the negative semantic connotation of the term ‘non-functional requirements‘, it is more accurate to speak in terms of ‘end-user features‘ and ‘operational features‘, giving equal importance to both. Just as it is important to be able to check and test user stories – “as a customer, I want to buy a product“, for example – it must be possible to verify and test the user story “as ops, I want to switch a feature” in the same way.

DevOps: Core Operability Concepts

The same approach can be applied to any operational activity: deployment, monitoring, status checking, reconfiguration, dependency management, and capacity planning, to name just a few.

How and why: focus on operability

Paraphrasing what is often said about the quality of software, the same principle applies to operability: you cannot test or inspect operability, you must build it in.

There are several core operability concepts and features that are important to have in a software system:

  • the hooks necessary for the operations team to query and interact with the system;
  • the traceability – which is static, and therefore knows the dependencies of the system-dynamics – to know who or what is interacting with the system at any given moment;
  • an effective logging system and strategy;
  • implementation of an efficient configurability;
  • analysis and investment in the reliability and resilience of the software system.

The ways in which the actual implementation and improvement of the operability of your software is carried out may depend on the effective capacity of the team involved.

At Codemotion Milan 2018, Marco Abis discussed some suggestions that are summarised in the following slide. In any case, it is essential to treat software operability as a ‘first-class citizen’ of a product and to treat ‘ops’ as a high-skill field.

How we can improve operability in our software

Software operability is becoming more and more important nowadays, thanks to several factors: hardware infrastructures are moving to PaaS clouds or containerised systems, reducing the rollout times of the infrastructures themselves.

The business requires fast development times and faster changes; software architecture is moving away from monoliths and towards increasingly distributed and complex structures.

If you are interested in DevOps and software operability, do not miss out on the opportunity to attend our upcoming Codemotion Online Tech Conference!

And, if you want to know more about how modern technologies and tools can support you for – and during – the organisation of a virtual event, don’t miss this article showcasing the best tools we used to host our online conferences since the COVID-19 outbreak.

Want to launch a developer event despite the challenges of COVID-19?

If you want to know more about how modern technologies and tools can support you for – and during – the organisation of a virtual event, don’t miss this article showcasing the best tools we used to host our online conferences since the COVID-19 outbreak.

Tagged as:DevOps

What Should A Fresh CTO Do?
Previous Post
From Team Leader To CTO – How To Handle the Transition
Next Post

Primary Sidebar

Subscribe to our newsletter

I consent to the processing of personal data in order to receive information on upcoming events, commercial offers or job offers from Codemotion.
THANK YOU!

Whitepaper & Checklist: How to Organise an Online Tech Conference

To help community managers and companies like ours overcome the Covid-19 emergency we have decided to share our experience organizing our first large virtual conference. Learn how to organise your first online event thanks to our success story – and mistakes!

DOWNLOAD

Latest

we love founders

Thinking Like a Founder – meet Chad Arimura

CTO

Move Over DevOps, It’s Time for DesignOps and the Role of UX Engineer

Designer - CXO

developer

The State of AI in 2021

Machine Learning Developer

Machine Learning on the Network Edge

The Rise of Machine Learning at the Network Edge

Machine Learning Developer

robot programming

Are You Ready for the FaaS Wars?

Backend Developer

Related articles

  • What can machine learning engineers learn from DevOps?
  • Troubleshooting & Debugging Microservices
  • Even if you are a Developer, call them essential, not soft skills!
  • How to scale your DevOps from 100 servers to 1,000+
  • Local Data Science is dead: AI with a DevOp mindset
  • Time for Design Ops: Ground it, baby!
  • How To Drastically Optimize Your Software Team’s Workflow

Subscribe to our newsletter

I consent to the processing of personal data in order to receive information on upcoming events, commercial offers or job offers from Codemotion.
THANK YOU!

Footer

  • Learning
  • Magazine
  • Community
  • Events
  • Kids
  • How to use our platform
  • About Codemotion Magazine
  • Contact us
  • Become a contributor
  • How to become a CTO
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

DOWNLOAD APP

CONFERENCE CHECK-IN

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy

  • Learning
  • Magazine
  • Community
  • Events
  • Kids
  • How to use our platform
  • About Codemotion Magazine
  • Contact us
  • Become a contributor
  • How to become a CTO
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

DOWNLOAD APP

CONFERENCE CHECK-IN