5. Abstraction layers that just pass the buck, with each layer adding, recomputing, removing or re-arranging parameters. Abstractions are like peanut butter; a layer or two is fine, but once you’re down five or six layers and nothing has fucking happened yet you’re in definite “even if I could get my mouth open to scream now, that would just let in the evil stuff I’m swimming in” territory.I'm living this every day. I support a homegrown script processor, switching abstraction tables with their own macros, poor instument drivers and multiple spreadsheet files to enforce configuration all glued together with TestStand that has patterns required in v 1.0 (input buffer and seq context). Some developers got creative and accessed TestStand vars using the seq context, others built elaborate TestStand expressions in the pre expressions while others used the properties page. Throw in a bunch of dynamically loaded sequences from external sequence files with parameters passed by ref and you can't change anything without causing the apple cart to dump it's rotting load in the middle of the road.Sorry, I've been keeping this steaming pile running for too long...