Agile Software Development Robert Moore Senior Developer Curtin University
What is Agile? • Agile Manifesto - 4 values: • We are uncovering better ways of developing software by doing it and helping others do it.Through this work we have come to value: • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan • That is, while there is value in the items on the right, we value the items on the left more.
What is Agile? • Agile Manifesto - 4 values: • In other words: We are uncovering better ways of developing software by doing it and helping others do it.Through this work we have come to value: • People-oriented • Value-driven • Client collaborative • Adaptive and flexible
Traditional Software Engineering • Fundamentally flawed!
Common Misconceptions • Agile is simple, so it must be easy! • Lack of process (cowboy coding) • No documentation • It makes software engineering redundant
Agile Project Management • Self-organising teams • Daily progress communication • Continual process improvement • Regular review, planning and estimation • Very accurate and lightweight project estimation and tracking • Face-to-face communication
Agile Technical Processes • Test-driven development • Continuous Integration • Focus on code quality and maintainability • Pair programming and Peer-reviewed production code
Barriers to adoption • Agile is common sense. When then isn’t it endemic?
Agile isn’t just Software projects • The core values behind Agile are relevant for other IT projects • Agile PM can be applied to non-software projects and teams • Some companies have looked at how to adopt Agile ideas in non-IT areas • Some Agile methodologies are very well suited for operational work