Slow Down to Go Fast: Lessons Learned Shipping Bing Voice Search on - - PowerPoint PPT Presentation

slow down to go fast
SMART_READER_LITE
LIVE PREVIEW

Slow Down to Go Fast: Lessons Learned Shipping Bing Voice Search on - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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) jamesw@crosslaketech.com

Randy Santossio Senior SDET, Microsoft (Xbox) ransan@microsoft.com

slide-2
SLIDE 2

2

Microsoft

Agile 2012 2

Microsoft

Agile 2012 2 J J

Who is this James guy?

http://blogs.msdn.com/b/progressive_development/

slide-3
SLIDE 3

3

Microsoft

Agile 2012 3

Microsoft

Agile 2012 3 J J

The little engine that could

slide-4
SLIDE 4

4

Microsoft

Agile 2012 4

Microsoft

Agile 2012 4 R R

Who is this Randy guy?

slide-5
SLIDE 5

5

Microsoft

Agile 2012 5

Microsoft

Agile 2012 5 R R

From that little Redmond startup…

slide-6
SLIDE 6

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.”

slide-7
SLIDE 7

7

Microsoft

Agile 2012 7

Microsoft

Agile 2012 7 J J

How to win the race

slide-8
SLIDE 8

8

Microsoft

Agile 2012 8

Microsoft

Agile 2012 8 R R

Agile vs. agile

slide-9
SLIDE 9

9

Microsoft

Agile 2012 9

Microsoft

Agile 2012 9 J J

Just Bing it!

slide-10
SLIDE 10

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

slide-11
SLIDE 11

11

Microsoft

Agile 2012 11

Microsoft

Agile 2012 11 J J

Story time!

slide-12
SLIDE 12

12

Microsoft

Agile 2012 12

Microsoft

Agile 2012 12 J J

Once upon a time…

slide-13
SLIDE 13

13

Microsoft

Agile 2012 13

Microsoft

Agile 2012 13 R R

They lived in a world where…

slide-14
SLIDE 14

14

Microsoft

Agile 2012 14

Microsoft

Agile 2012 14 R R

Boundaries existed

“Before agile, dev and test were enemies; now they are partners”

slide-15
SLIDE 15

15

Microsoft

Agile 2012 15

Microsoft

Agile 2012 15 J J

Kick off!

slide-16
SLIDE 16

16

Microsoft

Agile 2012 16

Microsoft

Agile 2012 16 J J

Their first task

slide-17
SLIDE 17

17

Microsoft

Agile 2012 17

Microsoft

Agile 2012 17 J J

Best buddies?

slide-18
SLIDE 18

18

Microsoft

Agile 2012 18

Microsoft

Agile 2012 18 J J

Test/Dev: Best Buddies?

slide-19
SLIDE 19

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

slide-20
SLIDE 20

20

Microsoft

Agile 2012 20

Microsoft

Agile 2012 20 R R

They huddled every day around this archaic board

slide-21
SLIDE 21

21

Microsoft

Agile 2012 21

Microsoft

Agile 2012 21 J J

Did we mention OneNote?

slide-22
SLIDE 22

22

Microsoft

Agile 2012 22

Microsoft

Agile 2012 22 R R

Many dependencies, great responsibility

slide-23
SLIDE 23

23

Microsoft

Agile 2012 23

Microsoft

Agile 2012 23 R R

We used Milestones “checkpoints”

  • r
slide-24
SLIDE 24

24

Microsoft

Agile 2012 24

Microsoft

Agile 2012 24 J J

Nobody is perfect

slide-25
SLIDE 25

25

Microsoft

Agile 2012 25

Microsoft

Agile 2012 25 R R

“I got your back, Bro”

slide-26
SLIDE 26

26

Microsoft

Agile 2012 26

Microsoft

Agile 2012 26 R R

What’s this about “Exit Criteria”?

slide-27
SLIDE 27

27

Microsoft

Agile 2012 27

Microsoft

Agile 2012 27 J J

Reality hurts

slide-28
SLIDE 28

28

Microsoft

Agile 2012 28

Microsoft

Agile 2012 28 J J

The answer? Begin with the end in mind!

slide-29
SLIDE 29

29

Microsoft

Agile 2012 29

Microsoft

Agile 2012 29 J J

It’s the thought that counts

slide-30
SLIDE 30

30

Microsoft

Agile 2012 30

Microsoft

Agile 2012 30 R R

Automation happens!

slide-31
SLIDE 31

31

Microsoft

Agile 2012 31

Microsoft

Agile 2012 31 R R

…but we didn’t automate everything

slide-32
SLIDE 32

32

Microsoft

Agile 2012 32

Microsoft

Agile 2012 32 R R

Why NOT automate everything?

slide-33
SLIDE 33

33

Microsoft

Agile 2012 33

Microsoft

Agile 2012 33 J J

We all took responsibility for quality

Quality Ownership

Dev Test PM Design

slide-34
SLIDE 34

34

Microsoft

Agile 2012 34

Microsoft

Agile 2012 34 R R

Working in lockstep

slide-35
SLIDE 35

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,

  • r 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

slide-36
SLIDE 36

36

Microsoft

Agile 2012 36

Microsoft

Agile 2012 36 J J

No unit tests? You’ve got some ‘splaining to do!

slide-37
SLIDE 37

37

Microsoft

Agile 2012 37

Microsoft

Agile 2012 37 R R

Bugs still happen

slide-38
SLIDE 38

38

Microsoft

Agile 2012 38

Microsoft

Agile 2012 38 J J

Bugs were “bliss” to this team

slide-39
SLIDE 39

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

slide-40
SLIDE 40

40

Microsoft

Agile 2012 40

Microsoft

Agile 2012 40

slide-41
SLIDE 41

41

Microsoft

Agile 2012 41

Microsoft

Agile 2012 41

James Waletzky Director of Development & QA Practices, Crosslake

(formerly Dev Lead @ Microsoft) jamesw@crosslaketech.com

Randy Santossio Senior SDET, Microsoft (Xbox) ransan@microsoft.com