When an engineering manager tries to sell you on developing software in iterations, it sounds like a scam waiting to happen. You pay them money to write software for some number of hours, but the developers offer no guarantee that they’ll finish the features you’re asking for. It’s not even like getting your bathroom renovated; sure, the contractors take way longer than they said they would, but at least they don’t charge you more for the privilege of waiting. Why would any business agree to that for software?
This question is more interesting than it looks. It seems like common sense to us not to trust the iteration—but only because we make a common set of assumptions about how we should produce, consume, and pay for software.
And maybe, just maybe, those assumptions are wrong.