Agile is a philosophy for developing software that revolves around four values and twelve principles that can be found in the Agile Manifesto
Values:
- Individuals and Interactions over processes and tools
- Working Software over comprehensive documentation
- Customer Collaboration over contract negotiation
- Responding to Change over following a plan
Principles:
- Customer satisfaction by early and continuous delivery of valuable software.
- Welcome changing requirements, even in late development.
- Deliver working software frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the primary measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Best architectures, requirements, and designs emerge from self-organizing teams
- Regularly, the team reflects on how to become more effective, and adjusts accordingly
These values and principles try to ensure a good relation between you, your team and the client, by building trust and delivering consistently.
Now, imagine using this philosophy and all the tips that the Head First Object Oriented Analysis and Design gave us. That would only translate to great object oriented software with the contemporary market trend: agile. If you want to find out more about HFOOAD’s tips, check out this other post which basically sums up the whole book: HFOOAD Chapter10 – “Putting It All Together”
