When the once-promising horizon of a software project turns stormy with delays, errors and missed targets, it's important to take a considered approach instead of abruptly discontinuing it. There's ...