This document discusses going Agile and provides context around why it may be beneficial. It outlines the key principles of the Agile Manifesto which values individuals and interactions, working software, customer collaboration, and responding to change over processes, tools, documentation, contract negotiation, and following a plan. It then provides an overview of common Agile practices for requirements, design, construction, testing, process, and organization. It suggests using practices like test-driven development to increase quality but challenges include dependencies on other practices, needing a testable codebase, and requiring testing expertise. The document prompts thinking about how to introduce practices to get the most feedback.
1. Don't go Agile
... unless you know why
Gino Marckx!
Agile Competency Center
cba Lodge Pan with Sausage and Potatoes - Joshua Tree, CA by Marshall Astor
5. “
to satisfy the customer
through early and continuous !
delivery of !
valuable software
”
First Principle of Manifesto for Agile Software Development - www.agilemanifesto.org
6. What is the goal of Agile on your team?
cbn Group work by Eldan
10. Requirements
Product Vision / Vision Statement
Product Backlog
User Stories
Use Cases
Usage Scenarios
Personas
Planning Poker
Requirement Prioritization
!
Design
Architectural Spikes / Spike Solutions
Domain Driven Design
Emergent Design / Evolutionary Design
CRC Cards
Design by Contract
System Metaphor
!
Construction
Coding Style / Coding Guidelines / Coding Standard
Test Driven Development
Behavior Driven Development
Pair-Programming / Pairing
Refactoring
Collective Code Ownership
Daily Builds / Automated Builds / Ten-Minute Builds
Continuous Integration
Code Reviews / Peer Reviews
Software Metrics / Code Metrics & Analysis
Source Control / Version Control
Issue Tracking / Bug Tracking
Configuration Management
Frequent Delivery / Frequent Releases
!
!
!
Jurgen Appelo - http://www.noop.nl/2009/04/the-big-list-of-agile-practices.html
Testing
Unit Testing
Smoke Testing / Build Verification Test
Integration Testing
System Testing
Exploratory Testing
Test Automation
Storytesting / Acceptance Criteria / Acceptance Testing
!
Process
Timeboxing / Fixed Sprints / Fixed Iteration Length
Release Planning
Iteration Planning / Planning Game / Sprint Planning
Sprint Backlog
Task Board
Definition of Done / Done Done
Daily Stand-up Meeting / Daily Scrum
Velocity
Sprint Review / Iteration Demo
Value Stream Mapping
Root Cause Analysis / 5 Whys
Burn Down Charts / Burn Up Charts
Big Visible Charts / Information Radiators
Retrospective / Reflection Workshop
!
Organization
Small Team
Cross-Functional Team
Self-Organizing Team / Scrum Team
Colocated Team / Sitting Together / Common
Workspace
On-Site Customer / Product Owner
Scrum Master
Sustainable Pace
Move People Around
Scrum of Scrums
11. Test Driven Development
+
Increases test coverage!
Prevents regression bugs!
Finds errors sooner
-
Depends on other practices!
Need highly testable code base!
Requires automated testing expertise!
Disciplined practices across team members
Increase Quality
12. Which practices help achieve that goal?!
What are the challenges?
cbn Group work by Eldan
15. What problem are we trying to solve?!
How can we use the technology to solve that
problem?!
How will users respond to our solution?!
What will the solution be?