If your app passes on any of the three tests, it may be worth salvaging—3 strikes, it’s out.
Who is to blame for an application to get to the point that it needs tossed out the door? If resources were unreasonably constrained by non-IT management against the recommendations made by IT, then the non-IT management is to blame. However, if IT never asked for additional resources to avoid the 3 strikes, then it must take full responsibility for the impending death of a codebase.