On April 1st I presented A Developer’s Journey Into Building Automated Tests for IT from the Ground Up at Incontro DevOps Italia 2016 in Bologna (IDI2016), a meeting of Italian and international DevOps that also has been sponsored for the second year in a row by agile42.
During my presentation, I talked about how we’ve approached writing infrastructure code for agile42 and Agilo Software with the same focus and professionalism that we dedicate to application code. This means, for example, to use TDD in order to have better design besides all of the benefits that this technique provides. We strived for having a test base composed of different types of tests so we can have confidence that not only single units or parts of a system work, but also that the integration of the parts produces the expected behavior.
The most important aspect of our setup is probably how all of this converges into a continuous integration system that runs all of the tests, inspects code quality by means of static code analysis and gives us rapid feedback about our development efforts. This was not so straightforward and we had to face several issues (you can read about them here and here), but the end result is something that radically changed our view about the infrastructure itself and the code necessary to run it. The reduced maintenance costs and the time needed to apply changes totally made up for the effort we dedicated to this part of our work.
You can watch the video of the talk on Vimeo or embedded here.