AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has...

Post on 25-Dec-2015

222 views 0 download

Tags:

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

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