Learnability: How easy is it for users to accomplish basic tasks the first time they encounter the software?Efficiency: Once users have learned the software, how quickly can they perform tasks?Memorability: When users return to the software after a period of not using it, how easily can they re establish proficiency?Errors: How many errors do users make, how severe are these errors, and how easily can they recover from the errors?Satisfaction: How pleasant is it to use the software?
Over-plannedLots of rules and regulationsRegimentedMicromanagedPhased
Fewer rules and regulationsAdaptabilityEvolvesOwnership
17 prominent developersKent Beck (SmallTalk, TDD, JUnit)Martin Fowler (Dependency injection, continuous integration, continuous delivery)Uncle Bob Martin (Software Craftmanship, Clean Code)Practitioners of several programming methodologies
Traditional wisdom: learn the fundamentals, techniques, heuristics, and proverbs
Break with tradition: detachment from the illusions of self
There are no techniques or proverbs, all moves are natural, becoming one with spirit alone without clinging to forms; transcending the physical
Framework for agileCross functional teamsValue at every layer of the system
Break down to smaller tasksSimplify deliveryIterate quickly
Features and development tasks broken down into User storiesStarts out fuzzy but becomes better understood as it is prioritised towards iterations
The Agile ManifestoWe are uncovering better ways of developing software by doing it andhelping others do it. Through this work we have come to value:• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a planThat is, while there is value in the items on the right, we value the items onthe left more.
Value Individuals Working Software Customer collaboration Responding to change