Talk: How build and deployment should shape software architectures – IASA Ignite talks

I gave an ignite talk* at IASA UK’s second ignite series, slightly cryptically entitled “Architecting the Impossible“. Having seen just how strongly build and deployment concerns can shape the software that we put into production, I spoke on How build and deployment should shape software architectures, ending with the slightly (and deliberately) controversial point that:

software architecture  is a function of build and deployment concerns (for some systems)

The slides are on SlideShare and SpeakerDeck:

architecture = f (build & deploy)   ...   [for some systems]

Thanks to the good folks at IASA, especially Matt Deacon, and Endava, who hosted the event in London.

*(5 mins, 20 slides, 15 secs per slide, auto-forwarding)

Avoiding Legacy with Deployment Automation and Infrastructure-as-Code

Learning from ‘Working Effectively with Legacy Code’ by Michael C. Feathers

Working Effectively with Legacy Code by Michael C. Feathers is a classic software development text. Not only is it still completely relevant when working with code, seven years after it was published, but also the approaches it advocates at the source code level are becoming essential to apply at the component and system integration levels too as our software systems become more complicated and polyglot, and we learn to fully automate our deployments and treat our infrastructure as code.

Book cover: Working Effectively with Legacy Code

For an overview of the book itself, read my review of ‘Legacy Code’ on Amazon.co.uk. I describe the different sections and how each is useful in a particular context. The rest of this article will focus on other aspects of Legacy Code, particularly the ‘why’ of changing code, and the implications for Continuous Delivery, infrastructure-as-code, and deployment automation.

Continue reading Avoiding Legacy with Deployment Automation and Infrastructure-as-Code