Transcript Document
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