Code that hampers productivity and is dreaded by developers because:
- There’s a lot of it
- It’s written using old idioms or is based on an end-of-life framework
- It has lots of Singletons
- It has no tests
- It’s written in such a way that adding tests to it is extremely hard
- It can’t be changed in a safe way
- You’re not allowed to just delete it
- It contains business-critical logic that isn’t documented anywhere else
- Some architect defends it for personal reasons
- It’s just a Big Ball of Mud
- It relies on huge amounts of state and exhibits a large degree of temporal coupling