Agile software development focuses on small increments of functionality and collaboration within self-organizing teams, with working software being the only measure of progress.
Software that works
What matters most in software development is shipping software that works. If it never ships,
then it has no value. While design documentation, diagrams, meetings and charts can be helpful –
the primary value of the project is in the software that ships.
Small increments
Highest priority features should be tackled first. If it can be used sooner then it will deliver value sooner,
Smaller units are easier to discuss, build, test, and deliver. Breaking large pieces down into smaller units reduces
complexity and makes them more manageable.
Collaboration
Through face to face communication, teams can best understand and discuss requirements. Empowered
teams will figure out the best way to get things done.