Daniel has been coaching, coding and consulting for over thirty years, with a focus on applying systems thinking and simple technology to solve complex business problems. He uses techniques from Lean operations, Theory of Constraints and Agile software development to help organisations anticipate and respond to the challenges of changing business needs.
Daniel is the originator of Behaviour-Driven Development, an agile approach to software development that encourages teams to deliver the software that matters by emphasising the interactions between stakeholders. He also proposed Deliberate Discovery, which challenges assumptions around software planning and estimation. He argues that there are no best practices and that everything we do is subject to opportunity cost.