Allows to blend methodologies to create the right approach
planning your project adaptively
focusing on value
enabling effective collaboration
creating short feedback cycles
Agility (circular) is different from a waterfall process (linear)
Expectation of collaboration can be demanding
Can be challenging for distributed teams
Agile more likely to empower the team in the planning and in its change
Risk increase the longer you wait to validate what your team has produced
Value is only realised at the end of the chain
Early delivery approach, feature by feature
Agile manifesto
2001: Agile manifesto for software development with 4 values and 12 principles
Built on earlier agile methodologies, based on first hand experience
Scrum 1993: uses 1-2 weeks sprints and incremental iteration approach. Formalises application of feedback from previous sprints
XP 1996 (eXtreme Programming): focuses on the technical side of product delivery. Specifies 12 specific practices teams must follow.
FDD: 1997 (Feature Driven Development): No more that 2 weeks to produce a feature. More formalised approach to engineering. Designed with scale in mind
4 Agile Values
Individuals and interactions are above processes and tools
Team of talented individuals
Process only here to support a talented team
Working software above comprehensive documentation
include fast feedback cycles
put software in hand of customer fast
Customer collaboration over contract negotiation
Responding to change over following a plan
12 Agile Principles
Highest priority is to satisfy the customer
put software in customer hand as soon as possible
recommend early and frequent update
Welcome changing requirements
change is inevitable
adaptive planning is key
Deliver working software frequently
shorter time scales are preferred
get feedback to validate you are on the right track
Business people and developers must work together
Build project around motivated and talented individuals
need time to learn to work together
keep team intact for as long as possible
new projects are usually matched to existing teams to minimise learning learning curve of working together
Most effective mean of communication is FACE to FACE! (but not the only one)
working software is the primary measure of progress (other metrics are not reliable)
Use a sustainable pace
reduce burnout or turnover otherwise quality decrease on the long term
allow however for a surge in effort (rare) but should be able to go back to sustainable pace to recharge
Continuous attention to technical and design excellence
Simplicity
adding unneeded functionalities is rarely a one time cost and often a hidden commitment to ongoing support
Empowering your team
self organising teams is key
let people close to the work make the decisions
Reflect on how to become more effective at regular intervals