GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover topics such as .Net, Java, Open Source, Agile, Architecture and Design, Web, Cloud, New Languages and Processes

Jez Humble, Author of "Continuous Delivery", Principal Consultant, ThoughtWorks

Jez Humble

Biography: Jez Humble

Jez Humble is a Principal Consultant with ThoughtWorks, and author of Continuous Delivery, published in Martin Fowler's Signature Series (Addison Wesley, 2010). He got into IT in 2000, just in time for the dot-com bust. Since then he has worked as a developer, system administrator, trainer, consultant, manager, and speaker. He has worked with a variety of platforms and technologies, consulting for non-profits, telecoms, financial services, and online retail companies.

Since 2004 he has worked for ThoughtWorks and ThoughtWorks Studios in Beijing, Bangalore, London, and San Francisco. His focus is on helping organisations deliver valuable, high-quality software frequently and reliably through implementing effective engineering practices in the field of Agile delivery. He also serves as Product Manager for Go, ThoughtWorks Studios agile release management platform. He holds a BA in Physics and Philosophy from Oxford University and an MMus in Ethnomusicology from the School of Oriental and African Studies,University of London.

Twitter: @jezhumble
Personal blog: http://jezhumble.net/
Github: http://github.com/jezhumble/javasysmon
Book: Continuous Delivery (Addison Wesley, 2010)
Company website: http://studios.thoughtworks.com

Presentation: What is value?

Track: Agile Perspectives / Time: Monday 13:20 - 14:10 / Location: Auditorium, AROS

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 will argue that determining value is the responsibility of everyone - not just the "product owner" - and that in order to deliver value, the most important thing is to be able to measure it transparently, and to establish a fast feedback loop so we can quickly determine if what we're 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.

Presentation: Implementing Continuous Delivery

Track: Continuous Delivery / Time: Tuesday 15:50 - 16:40 / Location: Store Sal, Musikhuset

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, your colleagues might not share your excitement. In this talk, Jez Humble discusses ways of implementing continuous delivery, and shares stories from companies who have successfully worked to improve their capability in continuous delivery.

Workshop: Continuous Delivery

Track: Agile Training / Time: Sunday 09:00 - 16:00 / Location: Room1

Getting software released to users is often a painful, risky, and time-consuming process. This tutorial sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers and operations, delivery teams can get changes released in a matter of hours–sometimes even minutes–no matter what the size of a project or the complexity of its code base.

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 componentization provide superior alternatives that enable large and distributed teams to deliver incrementally.