Upload
drewz-lin
View
177
Download
0
Tags:
Embed Size (px)
Citation preview
1 Microsoft Agile 2012 1 Microsoft Agile 2012 1
Slow Down to Go Fast: Lessons Learned Shipping
Bing Voice Search on Xbox
James Waletzky
Director of Development & QA Practices, Crosslake
(formerly Dev Lead @ Microsoft)
Randy Santossio
Senior SDET, Microsoft (Xbox)
2 Microsoft Agile 2012 2 Microsoft Agile 2012 2 J J
Who is this James guy?
http://blogs.msdn.com/b/progressive_development/
3 Microsoft Agile 2012 3 Microsoft Agile 2012 3 J J
The little engine that could
4 Microsoft Agile 2012 4 Microsoft Agile 2012 4 R R
Who is this Randy guy?
5 Microsoft Agile 2012 5 Microsoft Agile 2012 5 R R
From that little Redmond startup…
6 Microsoft Agile 2012 6 Microsoft Agile 2012 6 J J
How is your short term memory?
Dory says… “Please jot down your
questions and save
them for the end.”
7 Microsoft Agile 2012 7 Microsoft Agile 2012 7 J J
How to win the race
8 Microsoft Agile 2012 8 Microsoft Agile 2012 8 R R
Agile vs. agile
9 Microsoft Agile 2012 9 Microsoft Agile 2012 9 J J
Just Bing it!
10 Microsoft Agile 2012 10 Microsoft Agile 2012 10 R R
The internal workings
Controller
Input
Voice Input
(Kinect)
Voice to
Text
Xbox
LIVE
bing
Games
Movies TV
Music Apps
Applications
11 Microsoft Agile 2012 11 Microsoft Agile 2012 11 J J
Story time!
12 Microsoft Agile 2012 12 Microsoft Agile 2012 12 J J
Once upon a time…
13 Microsoft Agile 2012 13 Microsoft Agile 2012 13 R R
They lived in a world where…
14 Microsoft Agile 2012 14 Microsoft Agile 2012 14 R R
Boundaries existed
15 Microsoft Agile 2012 15 Microsoft Agile 2012 15 J J
Kick off!
16 Microsoft Agile 2012 16 Microsoft Agile 2012 16 J J
Their first task
17 Microsoft Agile 2012 17 Microsoft Agile 2012 17 J J
Best buddies?
18 Microsoft Agile 2012 18 Microsoft Agile 2012 18 J J
Test/Dev: Best Buddies?
19 Microsoft Agile 2012 19 Microsoft Agile 2012 19 R R
The buddies worked together…
Dev:
• sends code review
Team:
• reviews code changes
• builds & tests new code
• finds new bugs
Dev:
• fixes found bugs
• updates code review
Team:
• signs off on code
• dev checks in code
20 Microsoft Agile 2012 20 Microsoft Agile 2012 20 R R
They huddled every day around this archaic board
21 Microsoft Agile 2012 21 Microsoft Agile 2012 21 J J
Comprehensive documentation? Well, no…
22 Microsoft Agile 2012 22 Microsoft Agile 2012 22 R R
Many dependencies, great responsibility
23 Microsoft Agile 2012 23 Microsoft Agile 2012 23 R R
We used Milestones “checkpoints”
or
24 Microsoft Agile 2012 24 Microsoft Agile 2012 24 J J
Nobody is perfect
25 Microsoft Agile 2012 25 Microsoft Agile 2012 25 R R
“I got your back, Bro”
26 Microsoft Agile 2012 26 Microsoft Agile 2012 26 R R
What’s this about “Exit Criteria”?
27 Microsoft Agile 2012 27 Microsoft Agile 2012 27 J J
Reality hurts
28 Microsoft Agile 2012 28 Microsoft Agile 2012 28 J J
The answer? Begin with the end in mind!
29 Microsoft Agile 2012 29 Microsoft Agile 2012 29 J J
It’s the thought that counts
30 Microsoft Agile 2012 30 Microsoft Agile 2012 30 R R
Automation happens!
31 Microsoft Agile 2012 31 Microsoft Agile 2012 31 R R
…but we didn’t automate everything
32 Microsoft Agile 2012 32 Microsoft Agile 2012 32 R R
Why NOT automate everything?
33 Microsoft Agile 2012 33 Microsoft Agile 2012 33 J J
We all took responsibility for quality
Quality Ownership
Dev Test PM Design
34 Microsoft Agile 2012 34 Microsoft Agile 2012 34 R R
Working in lockstep
35 Microsoft Agile 2012 35 Microsoft Agile 2012 35 J J
I Unit Tests!
“Unit Tests make
me feel cuddly”
“Thinking test-first
helped me get the
design right the
first time”
“Is it failing because of
a problem in the code,
or because I don’t
understand the code”
“Unit tests flagged a
real bug in legacy
code that I never
would have found”
“In God we trust.
Everything else we
unit test”
“My unit tests revealed a
subtle bug that never would
have been found otherwise
[except potentially by the
customer]”
Real, unsolicited quotes
from Xbox developers
36 Microsoft Agile 2012 36 Microsoft Agile 2012 36 J J
No unit tests? You’ve got some ‘splaining to do!
37 Microsoft Agile 2012 37 Microsoft Agile 2012 37 R R
Bugs still happen
38 Microsoft Agile 2012 38 Microsoft Agile 2012 38 J J
Bugs were “bliss” to this team
39 Microsoft Agile 2012 39 Microsoft Agile 2012 39 J J
What should YOUR team do?
Start “by the book”, and always follow the principles, but break agile
as necessary
Form dev/test buddies early
Build quality in early – remove the walls
Collaborate in person and in writing
Create “done” definitions based on tests
Automate pragmatically, using coverage to adapt
Pay down your technical debt before it is long-term
40 Microsoft Agile 2012 40 Microsoft Agile 2012 40
41 Microsoft Agile 2012 41 Microsoft Agile 2012 41
James Waletzky
Director of Development & QA Practices, Crosslake
(formerly Dev Lead @ Microsoft)
Randy Santossio
Senior SDET, Microsoft (Xbox)