The basic tenet of Scrum is that each team have available (as part of the team) all the resources needed to get the job. The team also defines the work items, and how they will work. So far so good.

In the real world agile teams have developers, customers, product but lack a key component – delivery. It doesn’t matter why, but it ensures that what ever the team develops won’t be optimised for delivery – or even worse it won’t deliverable.

Delivery must be a part of every agile team – the problem is that there just aren’t enough delivery people to get them involved in every sprint for every team.  Of course,  you can always hire a lot more delivery folks – but that just won’t happen.

The solution is to make delivery a pig in every sprint 0 (planning sprint). They will plans and validate the tools and scripts to be built in support of team. They will also provide important input for time boxing and the order of feature development. They should also be part of every sprint review demo – just like customers. In a way delivery is a customer – they are the customer for the team’s artifacts and their job is to deliver them to the real customers.

Otherwise – the DevOps wall of confusion will ensure that agile will only cause more delivery problems, not solve them.