
Software Delivery in Small Batches
Adam Hawkins presents the theory and practices behind software delivery excellence. Topics include DevOps, lean, software architecture, continuous delivery, and interviews with industry leaders.
Latest episodes

Jul 6, 2020 • 56min
DevOps for Beginners
Show notes: https://www.codewithjason.com/rails-with-jason-podcast/adam-hawkins-2/
★ Support this podcast on Patreon ★

Jun 29, 2020 • 10min
Preflight Checks
Preflight ChecksMy Interview on Rails with Jason on Preflight Checks & Smoke TestsEpisode on the config factor related to the "dry run" preflight checkBooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★

Jun 20, 2020 • 43min
Testing Your Deployment Pipeline on Rails with Jason
https://www.codewithjason.com/rails-with-jason-podcast/adam-hawkins/
★ Support this podcast on Patreon ★

Jun 16, 2020 • 5min
The Four Types of Work
The Flow Framework & Four Types of WorkMy free Project to Product email course covers expanding flow, feedback, and learning to the entire organizationThe Flow FrameworkThe Flow Framework PosterProject to Product (book)Project to Product: How Value Stream Networks Will Transform IT & Business presentation by Mik KerstenMik Kersten's podcastBooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★

Jun 1, 2020 • 5min
12.1 Factor Apps: Dev/Prod Parity
The 12.1 factor approach prefers locality over fully integrated environments. Doing so promotes fast and independent iterations on discrete services using automated tests to verify correctness. End-to-End issues that may have been identified with a fully integrated environment with dev/prod parity should be pushed downstream in the deployment pipeline in accordance with test pyramid principles. If a regression is identified, then it may quickly addressed by adding tests to the relevant service’s test suite.Topics Mentioned in the ShowThe 5 Ideals The Unicorn ProjectPractical Test PyramidHexagonal ArchitectureTeam TopologiesMy Talk at WrocLove.rb 2014 on Software Architecture, Object, Roles, and BoundariesBounded Contexts & Domain Driven DesignResourcesThe 12 Factor AppJay Kutner on the 12 Factor App via SE RadioMy Review & Analysis on The DevOps HandbookMy Review & Analysis on AccelerateSoftware Development in 3 Principles & 4 MetricsBooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★

May 18, 2020 • 5min
12.1 Factor Apps: Logs
The 12 factor app states that applications should log to standard out and standard error, thus not concerting themselves with the storage and processing of their log stream. That's a good start point, but we need more than that. The 12.1 factor app does these three things:Supports a LOG_LEVEL configuration optionUses a machine readable format, such as JSON, in productionTreats log streams as a telemetry sourceMentioned in ShowThe 12 Factor AppThe 12.1 Factor App: ConfigRails with JasonResourcesThe 12 Factor AppJay Kutner on the 12 Factor App via SE RadioBooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★

May 4, 2020 • 8min
12.1 Factor Apps: Config
The 12 factor app states that applications should read config from environment variables. It implies separation of code and config. That’s about it, but there’s good bones here. I want something bigger from this factor. Specifically that applications may be deployed to new environments without any code changes. This requires a few additions:Configure the process through command options and environment variablesPrefer explicit configuration over implicit configuration Use a dry run option to verify config sanityFail fast on any configuration errorMentioned in ShowWhere, What, and How to Test on the Ruby Testing PodcastResourcesThe 12 Factor AppMy Review & Analysis on The DevOps HandbookMy Review & Analysis on AccelerateSoftware Development in 3 Principles & 4 MetricsBooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★

Apr 21, 2020 • 10min
12 Factor Apps
In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service. The twelve-factor app is a methodology for building software-as-a-service apps that:Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;Have a clean contract with the underlying operating system, offering maximum portability between execution environments;Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;Minimize divergence between development and production, enabling continuous deployment for maximum agility;And can scale up without significant changes to tooling, architecture, or development practices.The twelve-factor methodology can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc).ResourcesThe 12 Factor AppMy Review & Analysis on The DevOps HandbookMy Review & Analysis on AccelerateSoftware Development in 3 Principles & 4 MetricsBooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★

Apr 6, 2020 • 5min
The Principle of Improvement
This episode completes our introduction to the three ways of DevOps. The previous two episodes introduced flow and feedback. Flow, the first way, establishes fast left to right flow from development to production. Feedback, the second way of DevOps, establishes right to left feedback from production to development, so using the state of production informs development decisions. The Third Way of DevOps, establishes a culture of experimentation and learning around improving flow and feedback.Be sure to check out the Toyota Kata for more continuous improvement.BooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★

Mar 23, 2020 • 7min
The Principle of Feedback
The DevOps Handbook & Accelerate are the source material for this episode. The Principle of Feedback, or the second way of DevOps, describes using right to left feedback in the value stream. This episode explores how telemetry is more than error data or alerts. When used right (i.e. paired with experimentation), telemetry provides an objective way to move towards shared goals. BooksThe DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick DeboisAccelerate by Nicole Forsgren, Jez Humble, Gene Kim
★ Support this podcast on Patreon ★