Agile methodology can greatly increase your project's prospects for success. It uses short development cycles called sprints that usually last two to three weeks. Each sprint is a small-scale project, which includes all the tasks necessary to improve functionality: planning, requirements analysis, design, programming, testing, and documentation.
- Agile Modeling
- Agile Unified Process
- Agile Data Method
- Essential Unified Process
- Extreme Programming
- Feature Driven Development (FDD)
- Getting Real
- Lean Software Development
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
Customer satisfaction through early and continuous software delivery.
Accommodate changing requirements throughout the development process (even at the end of development since it can increase a completive advantage of the product).
Frequent delivery of working software (monthly, weekly, or even more often).
Everyday collaboration between the customers and developers throughout the project.
Motivated teams are involved in the project only. They are provided with the necessary working conditions, support, and trust.
Enable face-to-face interactions.
Working software is the primary measure of progress.
Business stakeholders, developers, and users should establish and support a consistent development pace throughout the project.
Regular attention to technical detail and design.
Simplicity – the art of doing just enough to get the job done.
Self-organizing teams encourage great architectures, requirements, and designs.
Constant adaptation to changing circumstances. The team should reflect on how to become more effective and adjust its work style accordingly.