The traditional predictive methodologies follow an approach that goes from the general to the particular in project management. The fundamental premise is the if there is sufficient planning and management then the result can be predicted and the risks can be avoided.
These methods are more effective in situations where the business and technical requirements remain stable. However, in an increasing number of projects, the predictive approach does not give the flexibility or the speed for delivering what the enterprise needs. Frequently, the final result is not quality software but a great deal of analysis artefacts that only take up space in the manager's office. That is far from what the business really needs.
We, the ITBrainers have always promoted the use of agile methods because they provide effective means to:
We, the ITBrainers have successfully used agile methods in a wide range of projects.
The agile methods are based on very disciplined processes. In fact, a lot of theses practices are so defined that can be incorporated in the development tools. Unit tests frameworks, tools for continuous integration, and development environments with support to do refactoring are some of the tool suites that allow us to create software with better quality in less time.
Numerous research studies have proved once and again that the major impact in the productivity of software development are the individuals. The agile methods are the first group of practices of software engineering based in the real way that the software is developed.
At the same time, in ITBrain, we know that there is not a silver bullet. As proponents of these methods, we are aware of the benefits and limitations they have. Nevertheless, the agile methods contain a lot of useful practices derived from many of the more successfull projects in recent history. Agile methods as Extreme Programming (XP), SCRUM, Crystal among others recommend practices with a lot of common sense such as continuous integration, programming directed by the tests and refactoring.