We write unit tests, but it doesn't matter if they pass or not
Writing unit tests and automating them into the build is an obvious best development practice. While many people are willing to write unit tests, they are not necessarily diligent about maintaining them.
We pair, but only when we have trouble
Pairing is often considered a "nice to have" rather than an absolute necessity. The reality is that pairing maintains consistent throughput of Agile teams, as well as the great team benefit of knowledge sharing.
The work we do doesn't lend itself to Agile "stories" so we track to technical tasks
Teams define work not as an end to end story but as a task. Requirements are structured as statements of technical activity for developers, not as user-valued features understood by the customer. Often its easier for technical teams to produce collections of technical tasks and try to pass them off as Agile stories.
Petit concludes: "A shortcut is the longest distance between two points." It seems half-done Agile may be even worse than the monolithic procedure it's aiming to replace.