I think it's code that does what you need it to do and is ready when you need it. Those are the two iron requirements. If it doesn't do the job or isn't ready when I need it, it's not good code. Testability, maintainability, extensibility, the mythical "elegance": all great qualities of code. Sacrificing them entirely to ship faster is lazy hacking. Do as much of them as you have time to do. But they're not more important. If the code is wonderfully tested and six weeks late it