How Clay aligns DevOps with Agile needs in 2018

In the last months of 2017 Clay made successful steps to align DevOps (Development and Operations) with our Agile (software development) needs. We want to share some insights on how Clay is managing these steps.

Agile is all about delivering on customer needs. The product needs to meet all of the demands, fit the budget and be delivered on time. But what little people know is that maintaining of the product needs to be planned. Deployment slots need to be available, monitoring in place and when we go live the maintenance and support starts. Of course this also applies to the Clay Locking Platform (CLP).

At Clay we use the most popular agile framework for the development team: Scrum. At the time Scrum was designed operational concerns like deployability, monitoring and maintenance were no issue for teams around the globe. This means Scrum now a day mainly focuses on development aspects of software delivery instead of the equally important operational aspects.

It is quite difficult to incorporate DevOps into agile software development process because of the absence of definition and framework. To maximize the value of merging agile with DevOps we need to start implementing DevOps principles at the beginning of our development processes.

This is how Clay implements DevOps principles into the daily routine and backlog:

  • Re-thinking the team’s structure and how user stories are written.

  • The backlog should include scalability, deployability, monitoring, logging, alerting, testability, security, and operational performance.

  • DevOps aspects should be included in the Sprint planning. The Sprint should be just as much about product functionality as operability

  • The role of Scrum Master has become more important than ever.

  • We always need to have DevOps in mind. While hiring, planning and building.

  • By enabling a strong relationship between development teams and operations.

After the product’s gone live bug fixes, feature releases and enhancements will continue to be part of the daily maintenance. The way we manage this is usually not found on the product backlog, which makes it problematic to deliver and maintain the product in accordance with DevOps practices. Operability should be treated as just as an important part of the process as development. Enabling a strong relationship between development teams and operations is key here (no pun intended).

The most important thing we had to change in order to enable these relationships is by transforming our backlog from a series of functional features from an end-users perspective to a backlog filled with epics, stories and tasks necessary to get the product live successfully and have it maintained when it’s gone live.

Clay’s DevOps team enables the development team to:

  • Create and maintain stable CI/CD pipelines

  • Deploy to production

  • Monitor performance of their code

  • Create and maintain needed infrastructure

Every day DevOps is becoming more important for businesses around the globe. The communication between development and operations is established by DevOps and of the outmost importance. Because of DevOps resources become easy to share, changes make it faster to production and large systems are easier to manage and maintain. With this culture that is DevOps you need to establish some core values.

Clay’s core values for our DevOps are:

  • Engage Developers as early as possible with coding conventions, code quality and security compliance.

  • Host all products in a cloud-only infrastructure to be redundant and scalable.

  • Treat Infrastructure as code to build and maintain infrastructure efficient and fast

  • Have a signature shout when something goes right (Our DevOps Niels uses his ‘whoohooo’ several times a day).

The above aligns with the manifesto we have for our development team:

  • Deliver quality and stable products.

  • Host all products redundant, scalable and securely.

  • Adhere to strict coding conventions.

  • Get work done in an efficient and fast way.

  • Keep it simple.

Scrum is all about having cross-functional teams. But in order to have cross-functional teams, we need cross-functional backlogs.

We are happy to say we found our balance between Scrum’s lightweight management practices without losing the DevOps focus on continuous delivery with changing priorities. But there’s always room for improvement!

If you are curious about our developers manifesto, keep an eye on our blog! In the meanwhile you can follow us on LinkedIn for the latest product updates!

Clay is always on the lookout for Brick reinforcement! Take a look at our career page and see what job openings we currently have available!