Post on 17-Jan-2016
CSE 403, Spring 2008, Alverson
Agile Development Practices
Reading summaries
CSE 403, Spring 2008, Alverson
Tips:• 1/3 page max summary • Relate to project• Opinion on concepts
Project teams
CSE 403, Spring 2008, Alverson
CSE 403, Spring 2008, Alverson
Outline
Agile processes One last lifecycle – XP Team time
CSE 403, Spring 2008, Alverson
Agile principles
Agility is: Observing and Adapting to your environment . Moving
faster than things that will harm your project Keeping up with relevant changes
o In requirements o In priorities o In environmento In budget
Goal of Agility - develop software in the face of changing environment and constrained resources
CSE 403, Spring 2008, Alverson
Agile principles
Satisfy the customer through early and continuous deliveryo Studies show a strong correlation between final quality and
frequent deliveries of increasing functionality. More frequent == higher quality.
Deliver working software frequentlyo Working software is the primary measure of progress
Cost/Benefit?
CSE 403, Spring 2008, Alverson
Agile principles
Welcome changing requirements, even late in development
o Statement of attitudeo Agile team works hard to keep the structure of software
flexible
CSE 403, Spring 2008, Alverson
Agile principles
Customers, developers, stakeholders work together dailyo An agile project must be continuously guided
CSE 403, Spring 2008, Alverson
Agile Principles
Build projects around motivated individuals
o Other things may need to change to enable this
Promote self-organizing teams, and teams that reflect and adjust as needed
CSE 403, Spring 2008, Alverson
Agile Principles
Simplicity is essentialo Take the simplest path that is consistent with the
goals (and be confident that it will be easy to change if needed)
o YAGNI (you ain’t gonna need it) (GA: shortsighted?)
CSE 403, Spring 2008, Alverson
Standish data argues for simplicity…
54% of features were rarely or never used! That effort could have been productively spent elsewhere! (1994 report)
Never 45%
Rarely 19%
Always 7%
Often 13%
Sometimes 16%
Continuous attention to technical excellenceHigh quality is the key to high speed“Do no harm” creed Plug for refactoring
CSE 403, Spring 2008, Alverson
Agile Principles
CSE 403, Spring 2008, Alverson
Continuous Delivry
WelcomChanging Req
Stakeholders work together daily
Motivatedindivid, self org teams
Sustainable development
Techexcellence
Simplicty
CodeFix
Water-fall
Spiral
Staged Delivery
Evolutionary
CSE 403, Spring 2008, Alverson
“Features” are the control variable of the triangleo Can deliver less, but on time and on budget
Expert customer is part of the team, involved in all stages; No complete up-front analysis and design
Extreme Programming
FEATURES
TIME RESOURCES
CSE 403, Spring 2008, Alverson
Development cycle (2 week period)o Meet with client to elicit requirementso Planning – break requirements into taskso Implementation
Write tests first Simplest possible design to pass the tests Can refactor occasionally
o Evaluate progress
Extreme Programming
CSE 403, Spring 2008, Alverson
Development cycle (2 week period)o Meet with client to elicit requirementso Planning – break requirements into taskso Implementation
Write tests first Simplest possible design to pass the tests Can refactor occasionally
o Evaluate progress
Extreme Programming
Feels a little like evolutionary prototyping …
Focuses on employing a number of Agile practices
Feels a little like evolutionary prototyping …
Focuses on employing a number of Agile practices
CSE 403, Spring 2008, Alverson
Pair Programming
CSE 403, Spring 2008, Alverson
When to use XPUse for:
o A dynamic project done in small teamso Projects with requirements prone to changeo Customer is available
Not for:o Requirements are truly fixedo Cost of late changes is very higho Customer is not available