5. Individuals and interactions
over processes and tools
Working Software
over comprehensive documentation
Customer colaborations
over contract negotiation
Responding to change
over following a plan
9. simplicity
do what is needed, but no more.
maximize the value created.
take small simple steps to our goal.
mitigate failures as they happen.
10. communication
Everyone is part of the team and we communicate
face to face daily.
We will work together on everything from
requirements to code.
11. feedback
We will take every iteration commitment seriously by
delivering working software.
We demonstrate our software early and often then
listen carefully and make any changes needed.
12. respect
Everyone gives and feels the respect they deserve as a
valued team member.
Everyone contributes value even if it's simply
enthusiasm.
Developers respect the expertise of the customers
and vice versa
13. courage
We will tell the truth about progress and estimates.
We don't fear anything because no one ever works
alone.
We will adapt to changes when ever they happen.
15. user stories
As a user closing the application,
I want to be prompted to save anything that has
changed since the last save so that I can preserve
useful work and discard erroneous work.
17. test driven development
first the developer writes a failing automated test case
that defines a desired improvement or new function,
then produces code to pass that test and
finally refactors the new code to acceptable
standards.
18. refactoring
"disciplined technique for restructuring an existing
body of code, altering its internal structure without
changing its external behavior"
Advantages include improved code readability and
reduced complexity to improve the maintainability of
the source code.
23. behavior driven development
Feature: Division
In order to avoid silly mistakes
Cashiers must be able to calculate a fraction
Scenario: Regular numbers
* I have entered 3 into the calculator
* I have entered 2 into the calculator
* I press divide
* the result should be 1.5 on the screen
24. lean ux
just the ux process
concept prototype validate test
learn iterate
internally externally
32. backlog sprint
user story 1 point user story 3 points
user story 3 points user story 1 point
user story 5 points
user story 1 point
user story 1 points
user story 3 points
34. sprint planning
daily meeting 15m
what have you done since yesterday?
what are you planning to do today?
any impediments/stumbling blocks?
sprint retrospective 3h
what went well during the sprint?
what could be improved in the next sprint?
35. summary
all about an empirical process to deliver quality
software often
assumption: committed people and flat
maintenance cost
37. part 1: problem/solution fit
do you have a problem worth solving?
part 2: product/launch fit
are you ready to learn from customers?
part 3: product/market fit
have you built something customers want?
scale
38.
39. summary
all about validating business assumptions and
maximizing the delivered value.
assumption: committed people, flat
maintenance cost and deliver quality software
often
40. conclusion
what do you need?
committed people
flat maintenance cost
quality software delivered often
validate business assumptions
maximize delivered value
result: scalable business model