There are many practices used to implement successful software development. These practices include Project Management, Six Sigma, or CMMI. There is a new up coming practice called Agile (one of the most famous practice is SCRUM). It was introduced back in 1974, but the SCRUM practice in particular evolved around 1986.
Scrum, like any Agile Methodology, promotes development iterations, collaboration, process adaptability, and teamwork throughout the life-cycle of the project. Unlike the traditional approach Scrum practices makes flaws or work items in the life cycle more visible.
In a traditional approach we work to gather requirements, design, develop, test and rework. So by the time you start the project to when it’s completed, the “needs of the market” might have changed. What’s different about Scrum practice is that it breaks the “project” into iterative cycles meaning, if there are 5 major features that needs to be developed, each iteration (normally about 2 – 4 weeks in length) might only cover one functionality or feature at a time. By the time the iteration is done, work for that feature will be done 100% (requirements gathering, development, testing, rework, and QA).
By completing each iteration 100% if all the major features are done, the product can be set to release while the smaller “not so” critical features are being worked on.
Have fun introducing Scrum into your organization. If the project that you are working on have failed, you have nothing to loose by trying to implement SCRUM. Agile Practice Manifesto states:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer Collaboration over Contract Negotiation
Responding to change over following a plan
You might uncover better ways to develop your software and be successfully.