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

Codemotion Magazine

We code the future. Together

  • Discover
    • Live
    • Tech Communities
    • Hackathons
    • Coding Challenges
    • For Kids
  • Watch
    • Talks
    • Playlists
    • Edu Paths
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
  • Partners
  • For Companies
Home » DevOps » Software Operability: a DevOps Cornerstone
DevOps

Software Operability: a DevOps Cornerstone

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

September 2, 2020 by Cate Lawrence

Table Of Contents
  1. What are DevOps?
  2. It takes two to DevOps
  3. How and why: focus on operability
  4. Want to launch a developer event despite the challenges of COVID-19?

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 (you can find here the entire presentation) ‘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.

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

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!
  • DevOps Trends to Follow in 2023
  • Automotive Software Development: Can Agile and ASPICE Coexist?
  • What Is DevSecOps and Why Is It So Important?
  • Automating Security Testing with SCA, SAST and DAST

Primary Sidebar

Codemotion Talent · Remote Jobs

Java Developer & Technical Leader

S2E | Solutions2Enterprises
Full remote · Java · Spring · Docker · Kubernetes · Hibernate · SQL

AWS Cloud Architect

Kirey Group
Full remote · Amazon-Web-Services · Ansible · Hibernate · Kubernetes · Linux

Front-end Developer

Wolters Kluwer Italia
Full remote · Angular-2+ · AngularJS · TypeScript

Flutter Developer

3Bee
Full remote · Android · Flutter · Dart

Latest Articles

developer skills

Trending Hard Skills and Soft Skills In Software Development

IT Careers

API security, equifax

5 Tips for Boosting API Security

Cybersecurity

automating AWS releases, TerraformCloud, cloud, cloud automation.

Automating AWS Releases Without Cloud Expertise

Cloud

web accessibility standards, guidelines, WCAG

Implementing Web Accessibility in the Right Way

Web Developer

Footer

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

Follow us

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

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

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • RSS