130 likes | 297 Views
Agile Methods. Presentation By: Jason Abbett. Definition. A process to rapidly develop software Many kinds of agile methods but few are practiced. Benefits. Allows developers to focus on software Supports rapid requirement change Deliver working software quickly.
E N D
Agile Methods Presentation By: Jason Abbett
Definition • A process to rapidly develop software • Many kinds of agile methods but few are practiced
Benefits • Allows developers to focus on software • Supports rapid requirement change • Deliver working software quickly
Principles of Agile Methods • Customer involvement • Incremental delivery • People not process • Embrace change • Maintain simplicity
Extreme Programming (XP) • System requirements are expressed as scenarios (user stories) • Programmers work in pairs • Develop tests
Select User Stories Break down stories to tasks Plan Release Develop Integrate Test software Evaluate System Release Software Release Cycle
Extreme Programming Practices • Incremental planning • Small releases • Simple design • Test-first development • Refactoring • Pair Programming • Collective Ownership • Continuous integration • Sustainable pace • On-site customer
Testing in XP • Test-first development • Incremental test development • User involvement • User of automate test harnesses
Pair Programming • Common ownership and responsibility • Informal review process • Software Improvement
Summary • Agile methods are good for small to medium sized companies • Should not be used for large-scale systems • Should not be used for critical systems