The Agile manifesto is 16 years old by now, defenitly not new, but hundreds of companies use Agile principles in thier proyects. Lest review them:
- Satisfy the customer through early and continuous delivery of valuable software
- Welcome changing requirements, even late in development.
- Deliver working software frequently.
- Daily work between business people and developers
- Motivated individuals and trust.
- Information to a development team is better with face to face conversations.
- Working sotfware is the primary measure of progress.
- Sustainable development to maintain a constant pace indefinitely.
- Technical excellence and good desing enhances agility
- Simplicity, the art of maximizing the amount of work not done, is essential.
- Self organizing teams.
- Reflection on how to be more effective, tune, adjust and behave accordingly.
This ideas fits naturally with SOLID design principles. To respond quick to changes is better have our classes well designed, but keeping them simple with only one reason to change and single resposibility.
Here is not excplicity declared, but pair programming is algo a good technique for Agile environments.
The Agile manifesto focus on flat small teams with direct and daily access to core business people to maximize the chances that the software features add real business value by solving and automatizing real business problems.