In most disciplines "Engineering" means the stuff that works, an application of scientific reasoning to solving practical problems. In Software, depending on your background, it either means something bureaucratic that doesn't work, or it is just another name for software development.
So what are the ideas that we can use as tools to give real, practical advantage in our work in the way that other disciplines achieve? What ideas should we treat as "the tools of our trade" whatever the technology or problem before us?
Dave Farley is a pioneer of Continuous Delivery, thought-leader and expert practitioner in CD, DevOps, TDD and software development in general.Dave has been a programmer, software engineer, systems architect and leader of successful teams, for many years, from the early days of modern computing, taking those fundamental principles of how computers and software work, and shaping ground-breaking, in...