Upload
trinhthien
View
215
Download
0
Embed Size (px)
Citation preview
User stories
Adaptive planning
Continuous integration
Unit testing
Test first
Iterative development
Changing requirements
Refactoring
Monday, 21 January, 13
ToDo List
Clean houseDo dishesGet wineVacuumWrite poemGet handsomeWash carGet flowersIron shirtWork out
You make a list
What do I need to doto get ready for
this date?
This alone makes you feel good
Monday, 21 January, 13
ToDo for date
1 hr½ hr2 hr½ hr½ hr1 hr1 hr½ hr½ hr½ hr
~ 8 hrs
You size things up
Clean houseDo dishesGet wineVacuumWrite poemGet handsomeWash carGet flowersIron shirtWork out
Shouldn’t take more than a couple of hours!
Monday, 21 January, 13
ToDo for date
Mostimportant
Least important
You set some priorities
Clean houseDo dishesGet wineVacuumWrite poemGet handsomeWash carGet flowers
Iron shirtWork out
1 hr½ hr2 hr½ hr½ hr1 hr1 hr½ hr
½ hr½ hr
Out of scope
Dang! Too much to do.
Monday, 21 January, 13
ToDo for date
Start executing
Clean houseDo dishesGet wineVacuumWrite poemGet handsomeWash carGet flowers
Iron shirtWork out
1 hr½ hr2 hr½ hr½ hr1 hr1 hr½ hr
½ hr½ hr
Ah! Didn’t really needthat shirt anyways.
This is what most people do ...
Monday, 21 January, 13
Estimates
Master story1 day3 days5 days3 days1 day...
160 days
Create invoiceAdd userPrint reportBasic searchUpdate trade...
User stories Iterations
1 2 3 nPrioritized
Agile planning
Monday, 21 January, 13
Agile is the best expectation setting framework
I know for consistently producing software in an industrialized way.
Monday, 21 January, 13
• Inception deck
• User stories
• Estimates
• Burn downs
• Retrospectives
Agile planning right?
Monday, 21 January, 13
• Inception deck
• User stories
• Estimates
• Burn downs
• Retrospectives
It didn’t work!
Monday, 21 January, 13
Book writing ≠ Work
• You are the boss (customer)
• There is no one telling you what to do
• You decide when it’s ‘good enough’
• You decide when it is done
• It ceases to be work - and becomes something else
Monday, 21 January, 13
Just one problem...
What if you don’t care what others think?
What if you don’t wan’t to pivot.
Monday, 21 January, 13
“We think the Mac will sell zillions, but we didn’t build the Mac for anybody else.
We built it for ourselves. We were the group of people who were going to
judge whether it was great or not. We weren’t going to go out and do market research.
We just wanted to build the best thing we could build.” Steve Jobs
Monday, 21 January, 13
The purpose of a company
“If anything imaginable is possible, If there are no constraints whatever, what would be the nature of an ideal organization to...”
Dee Hock, Founder VISABirth of the Chaordic Age
Monday, 21 January, 13
• Autonomy
• Master
• Purpose
There is a class of work that defies ‘management’
Monday, 21 January, 13
The work becomes artIt’s highly personal, andThere’s a strong sense of purpose
So when...
Formal methods
Monday, 21 January, 13
• Unit tests
• TDD
• Continuous Integration
• Refactoring
It worked!
The hypocrite
Monday, 21 January, 13
•Unit tests
• TDD
• Continuous Integration
• Refactoring
Not doing this one really bugged me
Monday, 21 January, 13
The rational explanation
• Smaller screen size
• One language
• No legacy
• Very visual
But that still didn’t explain the reputation for quality.
Monday, 21 January, 13
#1 Reason why I believe iOS developersbuild quality products without extensive
suites of unit tests...
Monday, 21 January, 13
Out caring the competition
• Care about the art
• Care about the experience
• Care about the words
• Human interface guidelines
• They curate out bad apps
• They make is easy to care - it’s expected
Monday, 21 January, 13
Care about experience
• Focus on the primary task.
• Elevate content people care about.
• Make usage easy and obvious.
• Minimize effort required for user input.
• Be succinct
• Consider adding physicality and realism
• Delight people with stunning graphics
Monday, 21 January, 13
Care about words
• Write text that succinctly describes the situation and explains what people can do about it.
• Avoid single-word titles that don’t provide useful information.
• Title-style capitalization
• Sentence-style capitalization
Monday, 21 January, 13
Note: I am not saying
• Unit tests are not important.
• Unit tests don’t contribute to quality.
• iOS developers don’t need to unit test.
Monday, 21 January, 13
What I am saying:
• There is a lot more to quality than unit tests.
• There is a lot I can learn from this community in terms of quality.
• I still have a lot to learn in terms of building a quality product and experience.
• Don’t judge (the Apple community)
Monday, 21 January, 13
Want better UX?Want higher quality?
Want better customer service?
Find people who care.(the rest will take care of itself)
Monday, 21 January, 13
The Point
• Whether you agree/disagree with these assertions I am making doesn’t matter.
• What matters is...
Monday, 21 January, 13
Your cheese will move• Never assume you’ve got it all figured out.
• If it makes you uncomfortable that’s good!
• It shows you care.
Monday, 21 January, 13