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!
People-oriented
Value-driven
Client-collaborative
Adaptive and flexible
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
Who is doing Agile?
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