Re: Agile doesn't work
I work in Operations/system management.
Our experience with Agile projects is similar to the DBA reference.
We've had to rebuild 10 servers across multiple environments 2 times (in addition to the original build) because the Agile team has gone off half-cocked, had servers built for them for how they like to work, then come to us and said "oh, and when we go into production, you have to manage/support these systems". They used their own deployment system, filesystem layouts and so on.
So our first 'rebuild' (2nd build total) was to set the systems up in the standard we had that just slotted into our existing deployment methodologies and support/monitoring frameworks. And of course, since they were iterating through these sprints, detailed requirements were always changing, from environment-to-environment (dev, testing, integration, production), and since they had drop deadlines we had to, effectively, hand tune each server, so no 2 servers were exactly alike.
So after we got a couple drops into production, so we'd finally been able to nail down exactly their final (well, to date!) configuration requirements, we are rebuilding again with a consistent build/configuration across their servers, so that all are built the same way. So that's the 2nd rebuild, for 3 builds total.
The issues with your "just buy him a beer" are:
1) We don't have the staff resources to do that much repeat work for 1 project when there are dozens happening, we just don't have the manpower -irrespective of the ACTUAL budget- to perform that much work dedicated to 1 project. Doesn't matter how much money they give us, we have an allocated staffing level and we are not allowed to exceed (hire more staff) that irrespective of how much money a project team will throw at us (a projects budget is transient - capital, whereas hiring staff is a permanent employee, an ongoing operating expense, so the project money might fund 2 more staff for 1 year, but who's going to cover those staffs wages when the project is completed? Therefore we can't hire based on project funding).
2) They expect us to do work for them on-the-fly, to immediately respond to their emails/calls/IMs since they are 'agile' and need work done for them to complete this weeks sprint. This basically assumes we've got nothing else to do other than sit their waiting for their calls to do work. Whereas we may be
busy doing work for a project that submitted it's work request 3 weeks ago and have no time to work on their shit - until they cry and whine that we are the reason they can't make their sprint/release objectives and manage to find someone senior enough to either tell us to do their work as higher priority or increasingly often as my manager's manager is starting to do - tell em to fuck off and submit a proper work request and get in the queue behind everyone else
The problem is, Agile seems to require a massive increase in staffing level to support their iterative - i.e. read redoing the same work multiple times (a least in the infrastructure/middleware/backend sides) - and quick turn-around - i.e. expect you to be able to drop anything else you are doing and do work for them - approach because they haven't provided an end-state DB/hardware/support/operations/monitoring/capacity requirements that we can plan around and just build once and mostly forget about.
So buying the DBA (insert here other backend-type staff, infrastructure, server support, etc ) a beer is going to do fuck all for all the extra work and stress the agile teams are throwing around.