AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has...
-
Upload
dinah-watts -
Category
Documents
-
view
222 -
download
0
Transcript of AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has...
AgileCamp Presents: Agile Software Development
Good luck in your presentation!
• This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution 4.0 International License
• The views expressed in this slide deck are of the AgileCamp Kit team and do not necessarily reflect the views of their employer, Return Path.
• You may remove this slide for your presentation, but please attribute AgileCamp Kit in some way in your presentation.
Agenda
● History of XP● XP Practices● How to apply XP Practices
First there was Waterfall
Design
Analysis
Coding
Testing
Release
History of XP
● Stands for eXtreme Programming
● Developed by Kent Beck in 1999
● Takes existing best practices to the extreme
Agile Manifesto
● Individuals and interactions over processes and tools
● Working software over comprehensive documentation
● Customer collaboration over contract negotiation
● Responding to change over following a plan
Learn more at agilemanifesto.org
XP Practices
● Coding● Testing● Listening● Designing
Coding
● Working code is the only thing that matters
● Quality from the start
● Working Software over Comprehensive Documentation
Pair Programming
“April 073” by Menlo Innovations is licensed under CC BY 2.0
Code Reviews
● Always have someone review your code
● Think of those who will come after you
Testing
● Unit Tests– The code is doing things
right– A home inspector visits a
job site● Functional Tests
– The code is doing the right thing
– A future home owner visits a job site
● Integration Tests– Systems are playing nice
together
Testing
● TDD - Test Driven Development– Write Tests First!
● BDD - Behavior Driven Development– Living Documentation– Bridges the gap
● Continuous Integration
Configuration Management
● Branches and Trunk for code management
● Different environment ensure proper testing at different levels
Listening
● Focus on the customer and business needs
● Capture requirements in User Stories
● As a _______, I want to ______ so that _______
● Customer Collaboration over Contract Negotiation
Listening
● Iterative Development● Acceptance Tests by
Customer● Make sure we’re still headed
in the right direction
Listening
● Address Tech Debt when appropriate
● If not paid off, Tech Debt will kill a product
Standups
● What did I accomplish yesterday?
● What am I going to accomplish today?
● Do I have any blockers?
“Discussion after the daily stand up meetings” by Antonio Silveira is licensed under CC BY 2.0
Designing
● Good design allows change in the future, when needed– Object-oriented
programming● Confidence in Refactoring● Responding to Change over
Following a Plan
XP Values
● Communication● Simplicity (YAGNI)● Feedback
– System Feedback– Customer Feedback– Team Feedback
● Courage● Respect