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

21
AgileCamp Presents: Agile Software Development

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

Page 1: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

AgileCamp Presents: Agile Software Development

Page 2: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

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.

Page 3: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Agenda

● History of XP● XP Practices● How to apply XP Practices

Page 4: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

First there was Waterfall

Design

Analysis

Coding

Testing

Release

Page 5: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

History of XP

● Stands for eXtreme Programming

● Developed by Kent Beck in 1999

● Takes existing best practices to the extreme

Page 6: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

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

Page 7: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

XP Practices

● Coding● Testing● Listening● Designing

Page 8: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Coding

● Working code is the only thing that matters

● Quality from the start

● Working Software over Comprehensive Documentation

Page 10: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Code Reviews

● Always have someone review your code

● Think of those who will come after you

Page 11: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

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

Page 12: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Testing

● TDD - Test Driven Development– Write Tests First!

● BDD - Behavior Driven Development– Living Documentation– Bridges the gap

● Continuous Integration

Page 13: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Page 14: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Page 15: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Configuration Management

● Branches and Trunk for code management

● Different environment ensure proper testing at different levels

Page 16: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

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

Page 17: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Listening

● Iterative Development● Acceptance Tests by

Customer● Make sure we’re still headed

in the right direction

Page 18: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Listening

● Address Tech Debt when appropriate

● If not paid off, Tech Debt will kill a product

Page 19: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

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

Page 20: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

Designing

● Good design allows change in the future, when needed– Object-oriented

programming● Confidence in Refactoring● Responding to Change over

Following a Plan

Page 21: AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.

XP Values

● Communication● Simplicity (YAGNI)● Feedback

– System Feedback– Customer Feedback– Team Feedback

● Courage● Respect