This is not going to be pretty. You're in charge of a software development team, your two-year project was delivered over budget and over deadline - and the users are complaining that it doesn't do what they want. Simply using an integrated development environment (IDE) isn't enough to produce robust software these days. Application lifecycle management (ALM) is a category of software designed to manage all aspects of a software application's production, giving earnest developers the chance to answer those questions, or better still, avoid them coming up at all.