Four Principles of Low-Risk Software Releases. Continuous Delivery - Part 2. This is the third in a series of interviews on continuous delivery, this time with Elisabeth Hendrickson. You can see the first one, with Jesse Robbins, on the ThoughtWorks Studios Blog, and the second, with John Allspaw, here. These interviews will eventually be put together – along with some additional exclusive material – into a set of LiveLessons, with the royalties going to Black Girls Code. If you want to be notified when the final product is released, please sign up for my newsletter. Elisabeth has held positions as a tester, developer, manager, and quality engineering director in a variety of companies ranging from small startups to multi-national enterprises.
She has been a member of the Agile community since 2003, served on the board of directors of the Agile Alliance in 2007/2008, and is currently one of the co-organizers of the Agile Alliance Functional Testing Tools program. In the video, Elisabeth answers the following questions: Translations: 中文 | 한국말 What is devops? DSL Patterns. Adaptive Model Arrange blocks of code in a data structure to implement an alternative computational model.
Alternative Tokenization Alter the lexing behavior from within the parser. Annotation Data about program elements, such as classes and methods, which can be processed during compilation or execution. Formally define the syntax of a programming language. Class Symbol Table Use a class and its fields to implement a symbol table in order to support type-aware autocompletion in a statically typed language. Closure A block of code that can be represented as an object (or first-class data structure) and placed seamlessly into the flow of code by allowing it to reference its lexical scope. Construction Builder Incrementally create an immutable object with a builder that stores constructor arguments in fields. Context Variable Use a variable to hold context required during a parse.
Decision Table Represent a combination of conditional statements in a tabular form. Delimiter-Directed Translation Literal Map. Delivery Guide. Continuous Delivery is the key philosophy, but its foundation is the better-known Continuous Integration (CI). Continuous Integration is the first step of the Continuous Delivery pipeline, it means that every developer keeps their work-in-progress continually integrated with every other developer. Typically this means every developer checks into the mainline at least once a day. Kent Beck coined the term continuous integration as part of Extreme Programming in the 90’s. At ThoughtWorks we first used CI on an important project of ours in 1999.
Out of that experience Matt Foemmel and I write the first version of the Continuous Integration article on this site. This is the best place on the web to get an overview of what CI is about. To go into more depth than my article can, you can get hold of Paul Duvall’s book on Continuous Integration. A common question we hear is “what is the difference between Continuous Delivery and Continuous Deployment?”