Earlier quoted context omitted.
> nothing gets shipped unless it's perfect, and so nothing gets iterated on… That’s why a solid, painless, quick rollback story is absolutely vital but underrated for agility. It’s not a big deal if you ship a regression but can roll back quickly. On the other hand, if every release is playing for keeps, you’ll slow down to a glacial pace to try to ship perfection. But perfection is impossible no matter how much proc…
The issue is that big messes can be made that are hard to clean up in one small release. For example, one of our teams had the requirement "Allow end users to programmatically configure widget xyz". Now, widget xyz has a janky design and a table with 50 columns associated with it. So what did this team do? They took that internal table definition, made a CRUD api that exposes the whole thing, and moved on. Tell me, h…
A little at a time; continuous refactoring/improvement is a vital pillar of agile. You've got 50 redundant fields that can be inferred but you have to understand the domain to do that? Well, understand the domain a bit, and infer one of them. Then next time you come back to that part of the code do another one.
(I mean, if the table was like that already then it sounds like the API didn't introduce a new problem, it just surfaced a problem you already had)