Intro to Agile Development

1,718 views
1,665 views

Published on

High-level intro to agile software development.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,718
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
192
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Intro to Agile Development

  1. 1. Agile Development <ul><ul><li>Dave Ross </li></ul></ul><ul><ul><li>March 5, 2007 </li></ul></ul>
  2. 2. Waterfall Development <ul><li>Term dates back to 1970 </li></ul><ul><li>Process even older </li></ul><ul><li>Borrowed from engineering </li></ul><ul><li>Sequential model </li></ul>
  3. 3. Waterfall Process <ul><li>Requirements Analysis </li></ul><ul><li>Design </li></ul><ul><li>Implementation </li></ul><ul><li>Validation (testing) </li></ul><ul><li>Integration </li></ul><ul><li>Maintenance </li></ul>
  4. 4. Problems With Waterfall <ul><li>Long development cycle </li></ul><ul><li>Assumes analysis is perfect </li></ul><ul><li>No changes after analysis </li></ul><ul><li>Customer only sees finished product </li></ul>
  5. 5. Iterative Development <ul><li>Early 1970s </li></ul><ul><li>Design, implementation, and testing repeat </li></ul><ul><li>Long cycles </li></ul>
  6. 6. Agile Development <ul><li>Mid-1990s </li></ul><ul><li>Agile Manifesto (2001) </li></ul><ul><li>“Change happens” </li></ul>
  7. 7. Agile Is Not... <ul><li>Management By Crisis </li></ul><ul><li>Cowboy Coding </li></ul><ul><li>Easy </li></ul>
  8. 8. Characteristics <ul><li>Short “sprints” </li></ul><ul><li>Refactoring </li></ul><ul><li>Test-driven development </li></ul><ul><li>Efficient meetings </li></ul><ul><li>Funny names </li></ul>
  9. 9. Short Sprints <ul><li>4-6 weeks </li></ul><ul><li>Adjustable </li></ul><ul><li>Defined goals/tasks </li></ul><ul><li>Check sprint status every day </li></ul><ul><li>Check project status after every sprint </li></ul>
  10. 10. Refactoring <ul><li>Architectural changes </li></ul><ul><li>Not personal </li></ul><ul><li>Optimize when time permits </li></ul>
  11. 11. Test-Driven Development <ul><li>Use cases </li></ul><ul><li>Unit tests </li></ul><ul><li>Code not “checked-in” unless tested </li></ul><ul><li>Work isn't “done” until “checked-in” </li></ul>
  12. 12. Efficient Meetings <ul><li>Short (15 minutes) </li></ul><ul><li>Specific (no chit-chat) </li></ul><ul><li>Tardy penalty (Scrum: $1) </li></ul><ul><li>Stand-up </li></ul>
  13. 13. Agile Examples <ul><li>Scrum </li></ul><ul><li>Extreme Programming (XP) </li></ul><ul><li>Agile Unified Process (AUP) </li></ul>
  14. 14. Problems with Agile <ul><li>Cultural change </li></ul><ul><li>Stakeholder involvement </li></ul><ul><li>Team size </li></ul><ul><li>Appearances </li></ul><ul><li>“No silver bullet” </li></ul>

×