Department of Computer Science
Institute of Mathematics and Statistics (IME)
University of São Paulo (USP) - Brazil

We are interested in the DevOps movement and its consequences for the software industry.

DevOps and Marx: culture will not transform your organization

Davis and Daniels (2016) define “effective DevOps” as: “An organization that embraces cultural change to affect how individuals think about work, value all the different roles that individuals have, accelerate...

Conceptual research for software engineering

In this post, I discuss the pertinence of software engineering research to take a stand closer to sciences of knowledge (naturalistic inquires, social sciences, physics), and not only to focus...

Interaction patterns for platform teams

In our research, we say platform teams and development teams are arranged according to the organizational structure of API-mediated departments. Here, organizational structure defines the division of labor and the...

Recommended readings on platform teams

Figure 1 - The platform team provides automated services to be used, with little effort, by developers (the platform API mediates the interaction between developers and the platform team). In...

Platform teams dilemmas

Platform teams are infrastructure teams that provide highly automated infrastructure services that can be self-serviced by developers for application deployment. The platform API mediates the interaction between development and infrastructure...

What is DevOps? Our DevOps definition

Even though the DevOps movement has been discussed for nearly a decade, DevOps still lacks a widely accepted definition. By consolidating the most cited definitions of DevOps in the academic...

Adam Smith and the work organization in the software production

In our research, we found four structures to organize the division of labor and the interaction between development and infrastructure professionals: segregated departments, collaborative departments, single departments, and API-mediated departments....

Be aware: a total Grafana gotcha

This blog is more about my research on DevOps organizational structures. However, I think it’s also good to persist here some epiphanies related to DevOps technologies (example: post about Blunder)....

A digest of organizational structures in quest for continuous delivery

The DevOps movement, as vividly portrayed in the novel The Phoenix Project, came up as a cultural shift to break down the silos in large organizations, better integrating development and...

Our theory on organizational structures of software teams has just been published!

We are happy to announce that our article The Organization of Software Teams in the Quest for Continuous Delivery: A Grounded Theory Approach has been published in Information and Software...

Quality and speed of countries to produce software

In at least two of the interviews I conducted for my research, the interviewees expressed the idea that software companies in Germany care more about quality than companies in the...

The top 3 DevOps tools and developers

In the last post, I recommended people “tracking the infrastructure path” to focus on the following DevOps tools: Kubernetes, Kafka, and Terraform. And about developers? Should they pay attention to...

The top 3 DevOps tools

In this world, there are so many DevOps tools. It’s impossible to learn all of them. So, “which ones should I prioritize to study?”, may you ask. Figure 1 -...

Presentation: from commit to production, continuous integration and continuous delivery in the deployment pipeline

This presentation is based in a class I taught to students of a technical school; it’s about: The stages in a deployment pipeline Continuous integration Continuous delivery Slides here (in...

The ops in DevOps: operators?

DevOps is an amalgam of development and operations. But one could also interpret it as an amalgam of developers and operators. However, in this text, I would like to explain...

Some ideas for future research in DevOps, continuous delivery, microservices, and automated tests

In this post, I list some ideas (in draft mode) for software engineering research derived from my own research. Feel free to take advantage of them if you like. The...

Talking about Continuous Integration in p de Podcast

On October 9th, I had the pleasure of talking about Continuous Integration with Marcio Frayze and Julianno Martins on “p de Podcast”, a podcast about software architecture. Access via Spotify...

Talking about DevOps in p de Podcast

On September 11th, I had the pleasure of talking about DevOps with Marcio Frayze and Julianno Martins on “p de Podcast”, a podcast about software architecture. Access via Spotify (Portuguese)...

Class about DevOps and Software Architecture in the Lab XP

One year ago, at August 2019, I supported prof. Thatiane de Oliveira Rosa in one class about software architecture, talking about “DevOps and Software Architecture”. The class was to undergraduate...

TDC São Paulo 2020 - Platform Teams: state-of-the-art and practice to accelerate continuous delivery

Today I had the honor and pleasure of giving a lecture on platform teams at the DevOps track of The Developer Conference (TDC) São Paulo 2020, the largest software development...

Presenting our research at the ICSE 2020 Poster Track

Our work “Building a Theory of Software Teams Organization in a Continuous Delivery Context” was accepted for presentation in the Poster Track of the 42nd International Conference on Software Engineering...

Recording videos for conferences

Registering here, in checklist format, how I recorded videos for ICSE (International Conference on Software Engineering). Post only in portuguese.

Presenting our research at the 6th International Workshop on Rapid Continuous Software Engineering

About RCoSE Rapid continuous software engineering (RCoSE) refers to the organizational capability to develop, release and learn from software in rapid parallel cycles, typically hours, days or very small numbers...

Interview protocol for discovering organizational structures

This page contains our protocol for semi-structured interviews used in the research phase of discovering organizational structures for managing infrastructure in the context of continuous delivery. Purpose of this document...

Feedback on the DevOps organizational structures

After starting the formulation of our theory grounded on interviews with IT professionals, we sent the interviewees a feedback form to check the resonance of our emerging theory. We sent...

DevOps at the Laboratory of Complex Computational Systems

I taught a class about DevOps in 2020, 16th October, for the Laboratory of Computational Complex Systems at the University of São Paulo (USP). This post is just for sharing...

Platform Teams: An Organizational Structure for Continuous Delivery

We are happy to announce that our article Platform Teams: An Organizational Structure for Continuous Delivery has been accepted for publication in the 6th International Workshop on Rapid Continuous Software...

Interview questions

This page presents the set of questions that we used to guide our semi-structured interviews to find out how companies are structuring departments toward continuous delivery. According to Adams[1], “Conducted...

The DevOps conceptual maps

In our Survey of DevOps Concepts and Challenges we thoroughly analyze 50 relevant peer-reviewed articles on DevOps. From this analysis grounded in the literature, we structured a set of relevant...

Our DevOps Survey has just been published!

We are happy to announce that our article A Survey of DevOps Concepts and Challenges has been published in the Volume 52, Issue 6 of ACM Computing Surveys, a very...

Delivery Performance

Delivery performance is defined by Forsgren et al. [1] as a combination of three metrics: frequency of deployment, time from commit to production, and mean time to recovery. This definition...

100% of utilization increases lead time

Excerpt from the book Accelerate [1]: Queue theory in math tell us that as utilization approaches 100%, lead times approach infinity - in other words, once you get to very...

Finally I understood Bundler and Gemfile!

Avoiding the “it works (only) on my machine” effect is a critical goal of DevOps. And adequately using a system for managing the dependencies of your application is a relevant...

DevOps-related readings we highly recommend

Out there, one can find hundreds of books and articles about DevOps. It’s impossible to read all of them! So, what of them to read? Here we present a little...