If you’re interested in having me talk at a conference, here are the talks I can give. They are all 1h long, including time for questions, although I can make them shorter or longer. You’ll find my bio at the bottom. I also give talks and workshops privately – these need to be arranged through my employer, ThoughtWorks.
Index: Continuous Delivery | Remediation Patterns | Applying the Lean Startup Model to the Enterprise | Enterprise DevOps | Creating Maintainable Automated Acceptance Tests | What is Value? | Adopting Continuous Delivery
Businesses rely on getting valuable new software into the hands of users as fast as possible, while making sure that they keep their production environments stable. Continuous Delivery is a revolutionary and scalable approach to software delivery that enables any team, including teams within enterprise IT organizations, to achieve rapid, reliable releases through better collaboration between developers, testers, DBAs and operations, and automation of the build, deploy, test and release process.
I’ll start by discussing the value of CD to the business, inspired by the lean startup movement. I’ll then present the principles and practices involved in continuous delivery, including value stream mapping, the deployment pipeline, acceptance test driven development, zero-downtime releases, and incremental development. I’ll cover how CD is enabled by an ecosystem including Devops, cloud computing, agile testing, and continuous deployment. Finally I’ll talk about how continuous delivery can co-exist with ITIL and compliance in an enterprise environment.
Deployments gone bad are a leading cause of spending your evening or weekend hunched over a terminal instead of outdoors having fun. In this talk I’ll present a number of patterns which reduce the risk of releases, including techniques for zero-downtime releases, roll backs, and roll forwards.
I’ll also discusse how to build reliable releases into your delivery process using automated provisioning, deployment, and smoke testing. By the end of the talk, you will understand how to build delivery systems – and teams – that make broken deployments a rare situation which can be fixed at the push of a button.
Large organizations are notoriously bad at disruptive innovation involving software. This is due both to organizational barriers and a lack of good engineering practices. In this presentation Jez will take a scientific approach to innovation in software development, using examples from organizations such as Amazon and HP.
Jez will begin by discussing the fundamentals of innovation, using the lean startup methodology. He will then tackle organizational barriers to innovation: traditional project management practices, silos between departments, and reporting structures. Good engineering practices are crucial to rapid delivery of high quality software, and so Jez will discuss the importance of continuous delivery to teams working on strategic software projects. Finally he will discuss how compliance and governance can be managed effectively while still delivering valuable software.
Agile processes were originally designed to break down the barriers among users, programmers, and testers. Now, DevOps—an emerging set of principles and practices for communication, collaboration, and integration between development and IT operations—seeks to break down the development/operations barriers. By applying agile principles to operations and re-architecting the interfaces between these groups, DevOps empowers organizations to deliver high-value software faster and with fewer errors. In this presentation I will describe how to implement DevOps practices in large enterprises—and small organizations.
Starting with an investigation of the crisis facing large IT departments, I’ll discuss the root causes of operations challenges and how DevOps addresses them. I’ll explore how the guiding principles of DevOps—collaboration, automation, measurement, and information sharing—enable continuous delivery through rapid software releases of high quality software. Using examples from real companies, including amazon.com, I illustrate how to accelerate innovation within your company with DevOps techniques and share the architecture and organizational structures necessary for success.
Creating automated end-to-end functional acceptance tests is hard. Maintaining them over time is harder. Some agilistas even claim that the cost outweighs the benefit. In this lecture we present five principles for creating valuable, maintainable acceptance test suites. We discuss practices such as layering acceptance tests to reduce coupling between the test harness, and talk about how teams should be organized in order to efficiently manage acceptance test driven development. The core of the talk discusses how to manage the evolution of acceptance tests by organizing them as scenarios rather than as suites of story tests. Finally we show how to manage data for acceptance tests.
The concept of “value” is central to agile and lean software development – but how do we decide what is valuable, and on what basis? I argue that we need to rethink the role of product owner, discarding pointless activities such as estimation. Determining value is the responsibility of everyone – not just the “product owner”. In order to deliver value we must be able to measure it transparently, and establish a fast feedback loop so teams can quickly determine if what they doing is in fact valuable. In this talk I will discuss several approaches to measuring value, how to maximize creating it, and how doing so affects the way teams work.
While keeping software production ready throughout its lifecycle and optimizing your delivery process for shorter cycle times might seem like a good idea to you, the rest of your organization might not share your excitement. In this talk, I share stories from companies who have attempted to adopt continuous delivery and discusses the organizational, architectural and process factors that led to the success – or failure – of these initiatives.
Jez Humble is a Principal at ThoughtWorks Studios, and co-author of the Jolt Award winning Continuous Delivery, published in Martin Fowler’s Signature Series (Addison Wesley, 2010). He has worked as a software developer, product manager, consultant and trainer across a wide variety of domains and technologies. His focus is on helping organisations deliver valuable, high-quality software frequently and reliably through implementing effective engineering practices.