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) jamesw@crosslaketech.com Randy Santossio Senior SDET, Microsoft (Xbox) ransan@microsoft.com Microsoft Microsoft 1 1 Agile 2012 Agile 2012 1
Who is this James guy? http://blogs.msdn.com/b/progressive_development/ Microsoft Microsoft 2 2 J J Agile 2012 Agile 2012 2
The little engine that could Microsoft Microsoft 3 3 J J Agile 2012 Agile 2012 3
Who is this Randy guy? Microsoft Microsoft 4 4 R R Agile 2012 Agile 2012 4
From that little Redmond startup… Microsoft Microsoft 5 5 R R Agile 2012 Agile 2012 5
How is your short term memory? “Please jot down your Dory says… questions and save them for the end .” Microsoft Microsoft 6 6 J J Agile 2012 Agile 2012 6
How to win the race Microsoft Microsoft 7 7 J J Agile 2012 Agile 2012 7
A gile vs. a gile Microsoft Microsoft 8 8 R R Agile 2012 Agile 2012 8
Just Bing it! Microsoft Microsoft 9 9 J J Agile 2012 Agile 2012 9
The internal workings Games Applications Movies TV Music Apps bing Voice to Text Controller Voice Input Xbox Input (Kinect) LIVE Microsoft Microsoft 10 10 R R Agile 2012 Agile 2012 10
Story time! Microsoft Microsoft 11 11 J J Agile 2012 Agile 2012 11
Once upon a time… Microsoft Microsoft 12 12 J J Agile 2012 Agile 2012 12
They lived in a world where… Microsoft Microsoft 13 13 R R Agile 2012 Agile 2012 13
Boundaries existed “Before agile, dev and test were enemies; now they are partners” Microsoft Microsoft 14 14 R R Agile 2012 Agile 2012 14
Kick off! Microsoft Microsoft 15 15 J J Agile 2012 Agile 2012 15
Their first task Microsoft Microsoft 16 16 J J Agile 2012 Agile 2012 16
Best buddies? Microsoft Microsoft 17 17 J J Agile 2012 Agile 2012 17
Test/Dev: Best Buddies? Microsoft Microsoft 18 18 J J Agile 2012 Agile 2012 18
The buddies worked together… Dev: Team: Dev: Team: • sends code • reviews code • fixes found • signs off on review changes bugs code • builds & tests • updates code • dev checks in new code review code • finds new bugs Microsoft Microsoft 19 19 R R Agile 2012 Agile 2012 19
They huddled every day around this archaic board Microsoft Microsoft 20 20 R R Agile 2012 Agile 2012 20
Did we mention OneNote? Microsoft Microsoft 21 21 J J Agile 2012 Agile 2012 21
Many dependencies, great responsibility Microsoft Microsoft 22 22 R R Agile 2012 Agile 2012 22
We used Milestones “checkpoints” or Microsoft Microsoft 23 23 R R Agile 2012 Agile 2012 23
Nobody is perfect Microsoft Microsoft 24 24 J J Agile 2012 Agile 2012 24
“I got your back, Bro” Microsoft Microsoft 25 25 R R Agile 2012 Agile 2012 25
What’s this about “Exit Criteria”? Microsoft Microsoft 26 26 R R Agile 2012 Agile 2012 26
Reality hurts Microsoft Microsoft 27 27 J J Agile 2012 Agile 2012 27
The answer? Begin with the end in mind! Microsoft Microsoft 28 28 J J Agile 2012 Agile 2012 28
It’s the thought that counts Microsoft Microsoft 29 29 J J Agile 2012 Agile 2012 29
Automation happens! Microsoft Microsoft 30 30 R R Agile 2012 Agile 2012 30
…but we didn’t automate everything Microsoft Microsoft 31 31 R R Agile 2012 Agile 2012 31
Why NOT automate everything? Microsoft Microsoft 32 32 R R Agile 2012 Agile 2012 32
We all took responsibility for quality Quality Ownership Dev Test PM Design Microsoft Microsoft 33 33 J J Agile 2012 Agile 2012 33
Working in lockstep Microsoft Microsoft 34 34 R R Agile 2012 Agile 2012 34
I Unit Tests! Real, unsolicited quotes from Xbox developers “Unit tests flagged a “Unit Tests make real bug in legacy me feel cuddly” code that I never would have found” “Thinking test -first “In God we trust. helped me get the Everything else we design right the unit test” first time” “Is it failing because of “My unit tests revealed a a problem in the code, subtle bug that never would or because I don’t have been found otherwise understand the code” [except potentially by the customer]” Microsoft Microsoft 35 J 35 J Agile 2012 Agile 2012 35
No unit tests? You’ve got some ‘ splaining to do! Microsoft Microsoft 36 36 J J Agile 2012 Agile 2012 36
Bugs still happen Microsoft Microsoft 37 37 R R Agile 2012 Agile 2012 37
Bugs were “bliss” to this team Microsoft Microsoft 38 38 J J Agile 2012 Agile 2012 38
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 Microsoft Microsoft 39 J 39 J Agile 2012 Agile 2012 39
Microsoft Microsoft 40 40 Agile 2012 Agile 2012 40
James Waletzky Director of Development & QA Practices, Crosslake (formerly Dev Lead @ Microsoft) jamesw@crosslaketech.com Randy Santossio Senior SDET, Microsoft (Xbox) ransan@microsoft.com Microsoft Microsoft 41 41 Agile 2012 Agile 2012 41
Recommend
More recommend