Software delivery usually takes a backseat to the development process. Gather requirements, architect the system, implement, test, deliver is the standard order of the steps taken by IT. Some agile methodologies like TDD (Test Driven Delivery) try to change the order to requirements, architecture, test and finally deliver. This is what we call delivery by design – delivery is always the last step.
Design by delivery is different. Design by delivery can use either of those cycles – but the idea is to create software in increments that are delivered and verified by actual users. Delivery considerations need to be part of architecture, implementation and testing – since only delivery can ensure that the system is on track from both a functional and non-functional perspective.This in many ways encapsulates the most important part of scrum methodology. Instead of each sprint creating only an user deliverable, it must deliver the software to actual users and provide value to the business.
This is possible if first two principles of business driven delivery are applied:
- Measure, manage and focus on the value to the business.
- Integrate early, integrate often – and always have something to show the business.