Rachel works for ThoughtWorks as a Senior Consultant with 9 years of experience in systems development. She has worked on a wide range of technologies and the integration of many disparate systems. Since joining ThoughtWorks she has played the role of developer, coach, trainer, technical lead, project manager, and everything in between! She's fascinated by problem-solving and finds that people problems are more difficult to solve than software ones.
Monday 8.30 - 16.30 in: Honey Badger
In this tutorial we take the unique approach of moving from release back through testing to development practices, analyzing at each stage how to improve collaboration and increase feedback so as to make the delivery process as fast and efficient as possible. At the heart of the tutorial is a pattern called the deployment pipeline, which involves the creation of a living system that models your organization's value stream for delivering software. We spend the first half of the tutorial introducing this pattern, and discussing how to incrementally automate the build, test and deployment process, culminating in continuous deployment.
In the second half of the tutorial, we introduce agile infrastructure, including the use of Puppet to automate the management of testing and production environments. We'll discuss automating data management, including migrations. Development practices that enable incremental development and delivery will be covered at length, including a discussion of why branching is inimical to continuous delivery, and how practices such as branch by abstraction and componentisation provide superior alternatives that enable large and distributed teams to deliver incrementally.