SlideShare a Scribd company logo
1 of 90
Download to read offline
Agile
 Outside the Code
 Using agile discovery ideas to drive product success




 Jeff Patton
 AgileProductDesign.com
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>
A story about Gary and his rough start
                  creating a product using an agile
                              approach
             4 strategies Gary used to course correct
                       Gary’s successful product today


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   #
@''4"A*0B9""
C'D5"*">;51<1*-"E*551,-*4'"*F,;4"*"E0,7;<4"17'*9




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?
?*0@"8*-45"4,"A;1/7"*"B0,7;<4"C,0"
 B',B/'"/1D'"31>5'/C
                                                        E3'"B0,7;<4"8,;/7"3'/B"
                                                        >;51<1*-5"<,//*A,0*4'
                                                                B/*-"B0,F'<45"*-7"2125
                                                                A;1/7"'/'<40,-1<"B0'55"D145
                                                                >*-*2'"*"A*-7">*1/1-2"/154
                                                                B0,>,4'"2125"430,;23"'>*1/

                                                        !"#$%&'&()%*+&*,-)%#./&
                                                        ('.012,3&*,#1.4'+156
                                                        ?*0@"<*//'7"14"!"#$!%&%
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                             G
?*0@"A,;-7"*"43'"B'54"C*1/5"7'6'/,D'0"
 3'"<,;/7




       :0>'7"8143"*"D0,7;<4"6151,-."43'"4'*>"
       2,4"54*04'79
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   E
?3'@";5'7"*"51>A/'"*21/'"*AA0,*<3."B0'*C1-2"
 7,8-"8,0C"1-4,"5>*//"A*045"D";5'0"54,01'5




       E,0C"A0,20'55'79""F*0@"5*8"20'*4"
       5,G8*0'"B'1-2"B;1/4"'6'0@"7*@9
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   H
:5"5,?8*0'"2'45"@;1/4."A*0BC5"<*53"
 0'5'06'5"2,"7,8-




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   D
:5"5,?8*0'"2'45"@;1/4."A*0BC5"<*53"
 0'5'06'5"2,"7,8-




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   D
What was going wrong?



!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   %
='4'0>1-1-2"'?*<4/@"83*4"4,"A;1/7"15"
 71B<;/4
                                “The hardest single
                                 part of building a
                                software system is
                              deciding precisely what
                                     to build.”


                                              :21/'C5"51>D/'"54,0@"801E-2"
                                              *-7"D01,01EF*E,-"15"51>D/'
                                              G,,"51>D/'9
  I0'7"J0,,K5."
  *;43,0",L"MN,"O1/6'0"J;//'4P."H%QR

!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>            H$
Typical process:

            discovery                                          delivery



!"#$%"&'()*+"',,"-./012"-$2$-3$4+"55567/.,$&-)4891:$2./*69);              <<
Bad agile process:

           delivery




!"#$%"&'()*+"',,"-./012"-$2$-3$4+"55567/.,$&-)4891:$2./*69);   <=
Good agile process:
        discovery


           delivery




!"#$%"&'()*+"',,"-./012"-$2$-3$4+"55567/.,$&-)4891:$2./*69);   <=
discovery: figuring out
              what to build, and
          validating those decisions
                      delivery: building it
!"#$%"&'()*+"',,"-./012"-$2$-3$4+"55567/.,$&-)4891:$2./*69);   <=
Think of a product you were
              proud to have contributed to...
     How did discovery happen
       before and during the
              project?
                       (take 5 minutes and talk with someone near you)


!"#$%"&'()*+"',,"-./012"-$2$-3$4+"55567/.,$&-)4891:$2./*69);             <=
Delivery:                                                  Discovery:
         •   Specify product to build                               •   Understand customers & market
         •   Write code                                             •   Understand competitors
         •   Test working software                                  •   Understand users
         •   Document product                                       •   Distill business strategy into
         •   Manage product delivery                                       product strategy
                                                                    •   Ideate product ideas
                                                                    •   Prototype user experience
                                                                    •   Validate prototype user
                                                                           experience with users
                                                                    •   Create detailed UI design
                                                                    •   Validate working software with
                                                                           users
                                                                    •   Compare expected market results
                                                                           with actual market results
                                                                           after delivery


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                         ?@
Common agile practice
          today, and what’s missing


!"#$%"&'()*+"',,"-./012"-$2$-3$4+"55567/.,$&-)4891:$2./*69);   <=
3 general roles:
                                            team (delivers)
      customer/product owner (discovers)
             coach/ScrumMaster (supports &
                                                        facilitates)


!"#$%"&'()*+"',,"-./012"-$2$-3$4+"55567/.,$&-)4891:$2./*69);           <=
?-"*21/'"7'6'/,@>'-4"8'A0'"1-6,/6'7"1-"
  >*-B"-'54'7"<B</'5
                                                    product


                         release                                           release




        Sprint

   daily story
  development
     cycles

                                                   time

© 2006-2009 Jeff Patton, All rights reserved, www.agileproductdesign.com
  !"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                  39
!""#$%&'()(%*+,#$%*('%+,#'(,(+-(-#*.#/'(+0#
  12#,.%3#2('$."-#/(*4((%#21/,$&#'(,(+-(-
                                                                               product


                                                public release


                       incremental                                         incremental
                         delivery                                            delivery


        Sprint

   daily story
  development
     cycles
                                                   time
© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com
  5#6778#9(:#;+<.%=#+,,#'$3>*-#'(-('?("=#444@!3$,(;'."1&*A(-$3%@&.)                      40
                                                                                          67
!"#$$%$&'#$(')%*%+%"%,-'"../'(%0121$,'#,'
  (%0121$,'#"3,4(1*
                                                                             product


                        D<1'G2.(4@,',1#B'"%)1*'<121
                                 public release
                                   E F.@4*'.$'21"1#*1'&.#"*
                       incremental E H11G'#$'1-1'4G',.',<1'2.#(B#G
                                                           incremental
                         delivery                                          delivery


        Sprint
                                      D<1',1#B'"%)1*'<121
   daily story                        E F.@4*'.$'*G2%$,'&.#"*
  development
     cycles                           E H11G'#$'1-1'4G',.',<1'21"1#*1
                                                   time
© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com
  5'6778'910'!#:.$;'#""'2%&<,*'21*12)1(;'===>?&%"1!2.(4@,A1*%&$>@.B                    40
                                                                                        6C
!"#$%&'()*+&#,-".(*+('/-(0*++*12(3/4+-

                                                                               product


                                                public release


                       incremental                                         incremental
                         delivery                                            delivery


      Sprint
      Product
     Discovery
    daily story
  development
     cycles


© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com
  5(6778(9-:(!4;#1<(4==("*2/'+("-+-",-$<(>>>?@2*=-!"#$%&')-+*21?&#0                      40
                                                                                          66
We’ll focus on 4 emergent agile
                    strategies that emphasize discovery:
            1. Understand users and what they need
                          to succeed
                  2. Prioritize goals and users before
                                  features
                 3. Make the product concept visible
               4. Use both iterative and incremental
                  delivery strategies that maximize
                               discovery
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   #?
Practice #1: Understand
            users to understand your
                     product

!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   #?
Gary assumed his users were just
        like him, so he didn’t have to
           think much about them.
             The Rails expert assumed the
                         same.

!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   #?
You aren’t your user. And
         likely neither is your
           client or customer.

!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   #?
?4*04"@A"/15B-2"'*<3"C1-7",D";5'0",D"A,;0"
 E0,7;<4
                      J*-7"K*-*2'0                                  M*5;*/"<,-<'04N2,'0


                      K;51<1*-                                      M/;@">*-*2'0


                      J*-7"L*-                                      )0'55


 F*<3"4AE'",D";5'0"3*5"5,>'431-2"43'AG7"/1C'"4,"
 *<<,>E/153"8143"A,;0"E0,7;<4."83*4"15"14H
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                         #I
?,0'"4@A'5",B";5'05"C">,0'"4@A'5",B"
 ;5'5
                      F*-7"?*-*2'0                                  H*5;*/"<,-<'04I2,'0


                      ?;51<1*-                                      H/;J">*-*2'0


                      F*-7"G*-                                      )0'55




 ?,0'"4@A'5",B";5'5"C">,0'"5,D8*0'
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                         #E
Different users don’t just do
                       different things
            Different users value software
                  things... differently


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   #%
?@'4<3"*"/12348'1234"A'05,-*"4,"
;-7'054*-7"83B"B,;0";5'05"*0'-C4"/1@'"B,;




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   D$
?0'*@-2"A'05,-*5"<*-"B'"C*54"*-7"
<,//*B,0*@6'




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   DE
?0'*@-2"A'05,-*5"<*-"B'"C*54"*-7"
<,//*B,0*@6'




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   D#
Premier Health User Constituencies



                           am ple
                   ex
    Mary                                       Patricia                         Partner Physician Staff
    Member                                     Personal Health Advisor          • Experienced clinicians and
                                                                                  medical office staff.
    • 50+, above average                       • Experienced nurse, with
      income                                     good phone and computer        • Desire to serve patients
                                                 skills                           better, but frustrated by
    • Mixed health – some very
                                                                                  the economics that make
      healthy, others managing                 • Uses the application many
                                                                                  it difficult.
      chronic problems                           hours at a time, multiple
                                                 days a week                    • Computer skills vary wildly.
    • Looking for better quality
      health care – specifically               • Will receive training and      • Fast paced office with a
      more help and advice than                  support                          big workload.
      a doctor and staff seem to               • Access to peers to ask         • Likely buried in paper
      have time to give.
    • Not computer phobic, but
                                       ?0'*4'"51>@/'"A;1<B"
                                                 questions                        records

      not particularly skilled.
    • Uses the application             0'C'0'-<'"@*2'5"4,"5,<1*/1D'"
                                                  “I want to efficiently help
                                                  members and not have to
                                                                                 “I’m excited that Premier
                                                                                   can offer my patients the
                                                                                   extra attention I can’t.
      infrequently from home.                     worry about the technology

     “I want someone who can
                                       E,;0">,54"<01F<*/"@'05,-*5
                                                  while doing it”                  But I want to make sure
                                                                                   that the extra record
                                                                                   keeping isn’t a burden for
      answer questions and give                                                    my staff.”
      me advice.”
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                                GG
?*7"?1>1@5"A054"51>B/'";5'0"B0,A/'5




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   CD
Use lightweight user personas to
        identify what you do and don’t
             know about your users
     Backfill with lightweight research


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
Practice # 2: Identify and
         prioritize goals and users
               before features

!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
=,-?4"<,-@;5'"@'*4;0'5"A,;"<0'*4'"B"A,;0"
 !"#$"#"B"@0,>"C0,7;<4?5"%&$'(#




 D,,7"C0,7;<4"2,*/5"@,<;5",-"-,4"E83*4F"4,"G;1/7"G;4"7'5<01G'"E83AF"
 1-"43'"@,0>",@"G'-'H4"8'?//"0'<'16'
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>      IJ
)0,7;<4"2,*/5.";5'05"*-7"*<?61?'5"5;@@,04'7"
AB"5,C8*0'"D,0>"*"7'@'-7'-4"31'0*0<3B
 Product Goals
 (Increase Revenue,
      Reduce Costs)


          User Types
(The people that will
use some solution to
   meet their goals)




         Activities &
                Tasks
(performed by users
     using software)
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   EF
)01,01?@1-2"2,*/5"*-7"'/1>1-*?-2"/,8"
A01,014B"2,*/5"3*5"<*5<*71-2"'('<45",-"5<,A'
 Product Goals
 (Increase Revenue,
      Reduce Costs)


          User Types
(The people that will
use some solution to
   meet their goals)




         Activities &
                Tasks
(performed by users
     using software)
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   C%
)01,01?@'"A,;0"2,*/5"B'C,0'"A,;"D01,01?@'"
A,;0"C'*4;0'5
 Product Goals
 (Increase Revenue,
      Reduce Costs)


          User Types
(The people that will
use some solution to
   meet their goals)




         Activities &
                Tasks
(performed by users
     using software)
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   E$
Identify your product goals and your users
          What goals are most important to achieve
                           first?
          What users are critical to support to reach
                         those goals?
      Prioritize goals and users before digging too
                     deep into features

!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
Practice #3: Collaborate to create
        visualizations that build shared
                 understanding


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?#
?@'-"83'-"8'"6'0A*//B"715<;55"17'*5."8'">*B"
1-<,00'<4/B"A'/1'6'"8'"3*6'"43'"5*>'";-7'054*-71-2




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   CD
?'@0'5'-A-2",;0"17'*5"*5">,7'/5"*//,85";5"4,"
7'4'<4"1-<,-5154'-<1'5"1-",;0";-7'054*-71-2




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   BB
?30,;23"715<;551,-"*-7"14'0*@6'">,7'/"A;1/71-2"
8'"*0016'"*4"*"540,-2'0"53*0'7";-7'054*-71-2




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   BC
?51-2"43*4"<,>>,-";-7'054*-71-2"8'"<*-"
8,0@"4,2'43'0"4,"*0016'"*4"43'"5*>'",AB'<C6'5




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   DE
?;1/71-2"*">*@"A0,>"*21/'";5'0"54,01'5"
B;1/75"53*0'7"@0,7;<4";-7'054*-71-2




Gary Levitt, owner & designer of Mad Mimi

!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   CD
?02*-1@'";5'0"54,01'5"4,"4'//"*"A122'0"54,0B"
*A,;4"B,;0";5'05"'CD'01'-<'"




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   EF
?5'">*@5"*5"*"A*<B70,@"C,0"715<;551,-




 =15<;551,-"17'-DCE"015B5."1-<,>@/'4'"
 ;-7'054*-71-2."*-7"7'@'-7'-<1'5
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   F%
?014'";5'0"5<'-*01,5"4,"431-@"430,;23";5'0"'AB'01'-<'
                              Steven
                              Credit Card Marketing Field
                                Manager
                              Steven is a field manager
                                working at the local shopping           5. The date is defaulted to today, and the shift is defaulted to ‘morning’
                                center. He’s in the middle of a            since he hasn’t yet entered info for today. Steve begins to enter the
                                long workday supervising 13                reps name, but after a few characters the system auto-completes his
                                reps who are busy talking to               name.
                                people trying to convince
                                                                        6. The rep’s ID is already filled in, along with the code for the credit card
                                them to apply for a credit                 promotion they’re working on today.
                                card.
                                                                        7. Steve fills in the shift information for his rep. He then enters the total
                                                                           number of applications taken.
 Field Manager enters daily performance reports                         8. It looks like from the notes on this sheet that this rep left sick two
 1. The shift has just ended and his reps are coming up with their         hours early. Steve adds a note about this in the system.
    totals. They have printed sheets with totals written on them.       9. Time passes as more reps bring in their sheets and Steve completes
    Steve quickly looks them over and signs them off. His assistant        entering them in between conversations.
    manager brings him other sheets with totals he’s signed off.
                                                                        10. After all the sheets are done, Steve looks at a summary screen for
 2. In between visits by reps, Steve opens his Field Manager
                                                                            the day. It looks like he’s close to his goal. If the next shift continues
    Workbench on his laptop. After logging in he sees today’s date
    and the planned number of applications his reps should be               at this rate he’ll beat the plan by 5% or so. That’s good.
    gathering – 180 for today.                                          11. Steve validates that the base pay is correct at $5 per app, and that
 3. He also sees yesterday’s numbers, and last week’s numbers,              he’s set an individual bonus giving reps $50 each if they reach 20
    and the last 30 days in graph that shows applications relative to       apps. Next to each rep he sees the calculated pay, base, bonus, and
    approval rate. Last week’s numbers were bad, and it’s the last          total pay for the day.
    week of the month, so Steve knows he’s got to do well today.
                                                                        12. The annual sale at Macy’s has brought a lot of people in today. Steve
 4. Steve clicks “enter rep performance data.” He shuffles his reps         chooses a “sale increases mall foot traffic” code to add to his shift
    performance sheets and grabs the first one.                             data sheet. Frank, his boss, has pestered him to make sure he
                                                                            includes this type of information in his daily summaries.
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                                                                       C$
?,>1<"@,,A1-2"5'45"*";5'0"5<'-*01,"4,"
B1<4;0'5




C''"88897'512-<,>1<59,02"D,0"</1B*04"*-7"'E*>B/'5
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   FG
?@'4<3A,*071-2"15"<,//*A,0*B6'"8*C"4,"
<,>'";D"8143"EF"17'*5




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   G#
?3'"7'512-"54;71,"*@@0,*<3"/'4A5"'6'0B,-'"
  3*6'"*"2,"*4"14




Design Studio Approach
http://interaction08.ixda.org/Jeff_White%20and%20Jim%20Ungar.php

© 2006-2009 Jeff Patton, All rights reserved, www.agileproductdesign.com
  !"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>        177
?;1/7"@*@'0"@0,4,4A@'5"*5"A,;"8,;/7"*"
;5'0"1-4'0B*<'




 C,>@,-'-DE'7"@*@'0"@0,4,4A@'5"*0'"F;1<G"4,"
 H;1/7"<,//*H,0*D6'/A"*-7"'*5A"4,"<3*-2'
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   IJ
?,6'*@/'"<,>A,-'-45"*//,8"51>;/*B-2"
43'";5'",C"*"A0,7;<4"@'C,0'"14"'D1545




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   EE
&,'"0'<,>>'-75";51-2"43'"?*?'0"
?0,4,4@?'"4,"<,>>;-1<*4'"43'"AB"7'512-




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   CD
?,>>;-1<*4'"@,8"8143"/12348'1234"
  54,0AB,*075




© 2006-2009 Jeff Patton, All rights reserved, www.agileproductdesign.com
  !"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>        176
)0,7;<4"=15<,6'0?"/,,@5"/1@'"4315




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   AB
)0,7;<4"=15<,6'0?"/,,@5"/1@'"4315




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   A%
At every stage of building product
         understanding, make your
           understanding visible


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?$
Practice #4: When developing use
         iterative and incremental
     strategies to maximize learning,
             and minimize risk


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
Don’t confuse a purely
              incremental approach with an
                iterative and incremental
                         approach


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?#
?1-<0'>'-@-2A"7'/16'05"*"B14"*4"*"@>'

                                                       Incrementing calls for a fully
                                                       formed idea.
                                                       And, doing it on time requires
                                                       dead accurate estimation.


        1                         2                          3        4           5



!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                       CD
During delivery we often fail to
    answer some critical questions




                                                    A*6'"8'"B;1/4"43'"    A*6'"8'"B;1/4"43'"
                                                    5,/;C,-"43'">*0D'4"   5,/;C,-"*4"*"I;*/14J"
                                                    6*/;'5E               /'6'/",;0"4*02'4"
                                                    F43'"01234"G0,7;<4H   *;71'-<'"8*-45E
                                                                          F43'"G0,7;<4"01234H


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                 ?@
?14'0*@-2A"'BC'<45"<3*-2'."D;1/75"*"0,;23"6'051,-."
6*/17*4'5"*-7"<3*-2'5."43'-"5/,8/E"D;1/75";C"F;*/14E

                                                       A more iterative strategy
                                                       allows you to move from
                                                       vague idea to realization
                                                       making course corrections as
                                                       you go.

        1                          2                          3      4          5




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                     GH
@*-A",02*-1B*C,-5"<,-517'0"0'6151-2"43'"5*>'"
              D;-<C,-*/14A"*5"D*1/;0'9""E4'0*C,-"15"-,4"
              4,/'0*4'79

193
  !"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ??
An iterative strategy builds up
                   subjective quality
              (did you know there were two kinds of
                             quality?)



!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
)0,7;<45"8143"51>1/*0"?'*4;0'5",@'-"6*0A"
5;B54*-C*//A"1-"43'"D01<'"8'"D*A
E31-F"*B,;4"43'"3123G/'6'/"?'*4;0'5"
                                                                                    '-21-'
1-"*"<*0"G"8'//"*"B;5"1-",;0"'H*>D/'                                                40*-5>1551,-
:4"*"3123"/'6'/."*//"?'*4;0'5"*0'"                                                  B0*F'5
                                                                                    5;5D'-51,-
-'<'55*0A
                                                                                    5'*45
I;4"8'"F-,8"43*4"*//"B;5'5"7,-J4"                                                   54''01-2"83''/
3*6'"43'"5*>'"D01<'                                                                 Q"

K*<3"'55'-C*/"?'*4;0'"6*01'5"1-"
5;BL'<C6'"M;*/14A"*('<C-2"43'"N-*/"
D01<'

                                                                                                       51
                                                   low cost         moderate cost          high cost
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                           OP
?*-,"<*;@,-5";5"4,"<,-517'0"A;*/14B"*5"C'1-2"
 <,>D,5'7",E"!"#$%&'$"*-7"()"#$%&'$"'/'>'-45
                                                        F=15<;551,-5",E"A;*/14B"3*6'"0'6,/6'7"
                                                        *0,;-7"43'"48,"*5D'<45",E"5;CG'<@614B"
                                                        *-7",CG'<@614B"51-<'"43'"@>'",E"
                                                        :0154,4/'9"
                                                        H>C'77'7"1-"4315",CG'<@6'I5;CG'<@6'"
                                                        5D/14"15"43'"17'*"43*4"!"#$%&'$*+),-./0*
                                                        1$2/,.3(*/!*/4$*5%!36!27,3%$*/!*
There’s more to
 me than that
                                                        2$+).2$7$3/(8"831/'"()"#$%&'$*
  silly survey                                          +),-./0*1$2/,.3(*/!*/4$*5(,&(6,%&!3*
  technique!                                            !6*)($2(9JK
                                                       IIL,01*M1"?*-,

 !"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                 N%
?*-,"'@A/*1-5"430''"2'-'0*/"</*551B<*C,-5"D,0"A0,7;<4"
D'*4;0'5E"!"#$%&'()#."*+)%,-!)+#-*+'.#."*-7",).-/&$)0#1

                                                                    2"#$%&'()#
                                                                    F3'"A0,7;<45">;54"3*6'"4315"
                                                                    D'*4;0'5"D,0">'"4,"G'"
                                                                    <,-517'0"43'"A0,7;<4"
                                                                    *<<'A4*G/'

                                                                    3+)%,-!)+#-*+'.#
   “This car has many flaws. Buy it
                                                                    F3'">,0'",D"4315"H"2'4."43'"
   anyway. It’s so much fun to                                      G'+'0
   drive”
   -- from a NY Times review of the                                 4).-/&$)0#
      Mini Cooper                                                   H"/,6'"4315"'/'>'-4",D"43'"
                                                                    A0,7;<4I
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                  J$
?5'"43'"@*-,"</*551A<*B,-5"4,"C,43"
D01,01BE'"*-7"5D/14
                                                                                     Brakes
                                                                                   (must have)



                                                                                      Cool dashboard
          Basic brakes                    Stopping                  Anti-locking        light when
          (must have)                     distance                  (delighter)           slipping
                                       (one dimensional)                                (delighter)

         @''D"1-">1-7H"I,;">;54"J-,8"I,;0"<;54,>'05"*-7";5'05"4,"
         7'4'0>1-'"5;CK'<B6'"6*/;'9
         L-'"D'05,-M5"7'/1234'0">*I"/'*6'",43'05"*D*43'B<9""
         :-,43'0M5">;54N3*6'">*I"C'";5'/'55"4,"5,>',-'"'/5'
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                      FG
@'4A5"/,,B"*4"83*4"3*CC'-5"1D"8'"4*B'"*"
-*16'"1-<0'>'-4*/"*CC0,*<3"4,"<,-540;<E,-
 @'4A5"54*04"8143"43'"F*51<"D'*4;0'5",D",;0"F;59
 sprint
       4
       3
       2
       1
                                                              release




                                                                                             Interior seating
                                                                             exterior body
                                 transmission



                                                suspension
     features




                                                                    brakes
                  engine




                                                                                                                tires
                Product goal: (in 4 sprints) be driving the coolest bus in town
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                                       ?#
?'"<*-"/'6'0*2'"14'0*@,-"4,"A;1/7";B"
C;*/14D

                                                          Iterating affords
                                                          building up quality
                                                          over time


                1                                       2             3



!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>               EF
?,-517'0"43'5'"@,;0"54,0A"5B/1C-2"
3';015D<5"43*4"E;1/7";B"F;*/14A
 !"#$%&$'$(()*+%                                                    3"4$*+"
 G,0"43'"@'*4;0'"4,"E'">1-1>*//A"                                   I3*4"8,;/7">*J'"4315"@'*4;0'"5*@'0"
 7'>,-540*E/'"H"E;4"-,4"0'/'*5*E/'."                                @,0">'"4,";5'K""G,0"E,43"43'";5'0."*-7"
 83*4"15"43'">1-1>*/"@;-<D,-*/14A                                   @,0"43'"E;51-'55"B*A1-2"@,0"43'"
 !"#$%&'()*)+,-$)./01),2&3)2'4'55#-3)                               5,L8*0'K
 6'&75)#27)2,)8#&/7#9,2                                             !"#$%&'()/2%<0)8#&/7#9,2:)
                                                                    '2+,-4'$'20),+)=<5/2'55)-<&'5)5<41)#5)
 ,"-".)/)*+%0%1/$2).)/)*+"                                          4-'7/0)4#-7)8#&/7#9,2))
 I3*4"8,;/7"*77"43'"*E1/14A"4,"B'0@,0>"
 43'";5'0"4*5J"1-"71('0'-4"8*A5K""                                  5(".)/)*+6%7$#48#9":'$6%3$2%
 :771-2"1-"5;E"4*5J5"43*4"*0'",BD,-*//A"                            ;--$"/
 B'0@,0>'7K                                                         I3*4"8,;/7">*J'"4315"@'*4;0'"'*51'0"
 !"#$%&'()#)+,-$)./01),%9,2#&)6'&75:)                               4,";5'K"M,0'"7'510*E/'"4,";5'K""G*54'0"
 7#0')&,,;<%)0,,&5:)/2%<0)0-#25&#9,2),2)                            4,";5'K
 7#0'5                                                              !"#$%&'()#<0,>4,$%&'9,2:)5'"3)8/5<#&)
* Adapted from Gerard Meszaros’ “Storyotypes”                       7'5/?2:)5%''7);'35
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                             NO
A;1/71-2";B"C;*/14D"14'0*E6'/D"*-7"
1-<0'>'-4*//D"531B5"43'"F'54"B0,7;<4"B,551F/'
                               G9 H'"I-,8"'*<3"54,0D"<*-"F'"5B/14"1-4,"*4"/'*54"J,;0"B*045
                               #9 K*0/D"14'0*E,-5"54016'"4,"F;1/7"F*0'"-'<'551E'5."/*4'0"14'0*E,-5"F;1/7";B"
                                  C;*/14D
 sprint                        L9 K6*/;*E-2"0'*71-'55"F*5'7",-"5;FM'<E6'"C;*/14D"4,";-7'054*-7"7,-'-'55

            4
            3
            2
            1                 A-
                              B-
                              D          C
                                         D
                                         A
                                         B          C-
                                                    B-
                                                    D
                                                    B               D
                                                                    A
                                                                    B      A-
                                                                           D
                                                                           B           A-
                                                                                       D
                                                                                       BI         B-
                                                                                                  DI
                                                              release
     user tasks to support




                             Product goal: (in 4 sprints) be driving the highest quality bus possible
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                              ?@
=1617'"0'/'*5'"7'512-"?"7'6'/,@>'-4"1-4,"
430''"@3*5'5
 !"#$%$&'()*#+"A;1/7"*"51>@/'"5B54'>"5@*-",C"-'<'55*0B"C'*4;0'5"
 D054"E"43'"8*/F1-2"5F'/'4,-
 ,%-.()*#+":77"<*@*G1/14B."H'I1G1/14B."*-7"5*C'4B
 /$-'()*#+"J1-153"8143";5*G1/14B."@'0C,0>*-<'."*-7"5'I"*@@'*/
 K'5'06'"L>'"1-"43'"0'>*1-1-2"43107"C,0";-C,0'5''-"*771L,-5"
 *-7"*7*@4*L,-5


                          Opening                    Mid-Game               End-Game
                           Game                       Build out          Refine the UI and
           uncertainty




                          Build up                 flexibility and       interactions, take
                                                                            advantage of
                         necessities               business rule
                                                                          iterative learning
                                                   enforcement

                            uncertainty decreases over time
                                                           time
     Construx on the Cone of Uncertainty: http://www.construx.com/Page.aspx?hid=1648
     Visdos on the cone: http://www.implementingscrum.com/2008/02/19/vegas-hangover-enlightenment/
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                    MN
?315"@0,7;<4"20,81-2"540*4'2A"5/,8/A"
B01-25"43'"@0,7;<4"1-4,"C,<;5
 :-"*0D54"'-6151,-5"*-"'-D0'"@*1-D-2"BA"54*0D-2"8143"*"5E'4<3",0"*-"
 ;-7'0F@*1-D-2"*-7"5/,8/A"B;1/71-2";@"7'4*1/"
 :@@/A"43'"5*>'"540*4'2A"4,"/'*0-"*B,;4"43'"@0,7;<4"7,>*1-"*5"G;1<E/A"
 *5"@,551B/'"H"4,"<3*5'",;4";-<'04*1-4A"B'C,0'"4,,"3'*61/A"1-6'5D-2


                          Opening                    Mid-Game          End-Game
                           Game                       Build out      Refine the UI and
           uncertainty




                          Build up                 flexibility and   interactions, take
                                                                        advantage of
                         necessities               business rule
                                                                      iterative learning
                                                   enforcement

                            uncertainty decreases over time
                                                           time


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                          II
?,,@"*4"43'"!"#$%"&'",A"6*/;'",6'0"B>'
                                                                                                         C,"D-153",-"B>'"
 cumulative business value




                                                                                                         8'">*E"F401>"43'"
                                                                                                         4*1/G"HE"7'A'001-2"
                                                                                                         54,01'5",A">,7'54"
                                                                                                         6*/;'




                                                            time
                             Opening                   Mid Game                End Game
                             Game
                             Early stories emphasize   Once we’re confident    Over time the value of
                             iteration and learning.   we have the “shape”     stories begin to
                             We need to be sure        of the product right,   diminish signaling it’s
                             we’re building the        we begin to pile in     time for release
                             right product             value


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                                              IJ
?,<;51-2",-"@0,7;<4"A-,8/'72'"*<B;10'7."
43'"!"#$%&'()."43'"<;06'"/,,A5"71('0'-4
                                                                                                          C3'"1-6'05'",D"015A"
 acquired product knowledge




                                                                                                          15"A-,8/'72'
                                                                                                          E'*0-1-2"'*0/1'0"1D"
                                                                                                          8'F0'"G;1/71-2"43'"
                                                                                                          01234"@0,7;<4"
                                                                                                          >1H2*4'5"015A


                                                             time
                              Opening                   Mid Game                End Game
                              Game
                              Early stories emphasize   Once we’re confident    Over time the value of
                              iteration and learning.   we have the “shape”     stories begin to
                              We need to be sure        of the product right,   diminish signaling it’s
                              we’re building the        we begin to pile in     time for release
                              right product             value


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                                                                I%
Gary applied each of these
                 strategies for MadMimi.com
                                              (and lots more)




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?$
Practice #1: Understand users to
                                 understand your product

    Gary identified different types of
          users he’d targeted.
     He quickly saw how serving too
     many people wasn’t helping him
              get to market
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
Practice # 2: Identify and prioritize goals
                               and users before features

         Gary originally had goals to serve
          many markets, challenging many
                    competitors
      In the end he chose differentiate his
       product in a smaller, more specific,
                     market
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?#
Practice #3: Collaborate to
                                               create visualizations that build
                                                    shared understanding


     Gary mapped the user stories that
        described his product, and
         prototyped UI relentlessly
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>                 ?@
Practice #4: Use iterative and
                                      incremental strategies to maximize
                                          learning, and minimize risk

         Gary built up the product in thin
             slices seeing the first fully
         functional product in a few weeks.
     (Rails really is fast when you know
             what you’re building)
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>          ?@
Gary describes MadMimi.com




!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
Mimi’s visitors have grown steadily
                        over time
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
Today MadMimi.com sends tens
          of millions of messages per
                     month


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?@
Mimi earns over $100,000 USD
         per month in recurring revenue
            from thousands of active
                   customers


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ??
The strategies described here are
          used on small products like
        Mimi, and many larger products
                  world wide


!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>   ?%
Agile
 Outside the Code
 Using agile discovery ideas to drive product success




 Jeff Patton
 AgileProductDesign.com
!"#$$%"&'(")*+,-."*//"012345"0'5'06'7."8889:21/')0,7;<4='512-9<,>

More Related Content

Similar to Outside The Code

Application security
Application securityApplication security
Application securitykrusty43
 
Spare clive grinyer
Spare   clive grinyerSpare   clive grinyer
Spare clive grinyerlightningUX
 
Turbocharge your automated tests with ci
Turbocharge your automated tests with ciTurbocharge your automated tests with ci
Turbocharge your automated tests with ciOpenSource Connections
 
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...Rick G. Garibay
 
OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerSkills Matter
 
Business Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 WorkshopBusiness Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 WorkshopJess McMullin
 
Consumer Life Cycle Research - Brand Pioneers 2012
Consumer Life Cycle Research - Brand Pioneers 2012Consumer Life Cycle Research - Brand Pioneers 2012
Consumer Life Cycle Research - Brand Pioneers 2012Panelteam
 
Pearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the AirPearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the AirDan Murphy
 
The Lean Startup - simplified
The Lean Startup - simplifiedThe Lean Startup - simplified
The Lean Startup - simplifiedStefano Bernardi
 
Investor2017 show final_v3_rainvestors_compressed
Investor2017 show final_v3_rainvestors_compressedInvestor2017 show final_v3_rainvestors_compressed
Investor2017 show final_v3_rainvestors_compressedRockwellAutomationIR
 
Agility and the Customer Experience
Agility and the Customer ExperienceAgility and the Customer Experience
Agility and the Customer ExperienceThoughtworks
 
Designing Customer Experience - Cookbook
Designing Customer Experience - CookbookDesigning Customer Experience - Cookbook
Designing Customer Experience - CookbookJin Kang Møller
 
Christian Bason, MindLab Denmark - MaRS Global Leadership Series
Christian Bason, MindLab Denmark - MaRS Global Leadership SeriesChristian Bason, MindLab Denmark - MaRS Global Leadership Series
Christian Bason, MindLab Denmark - MaRS Global Leadership SeriesMaRS Discovery District
 
Velocity 2011: Production Begins in Development
Velocity 2011: Production Begins in DevelopmentVelocity 2011: Production Begins in Development
Velocity 2011: Production Begins in Developmentdev2ops
 
Smart 看 tv!
Smart 看 tv!Smart 看 tv!
Smart 看 tv!Becker Lai
 
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеYandex
 
Shouji Mobile Company Introduction - Public
Shouji Mobile Company Introduction - PublicShouji Mobile Company Introduction - Public
Shouji Mobile Company Introduction - PublicShoujiMobile
 
[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programmingnpinto
 
2017 investors day_v21.4_toq4_compressed
2017 investors day_v21.4_toq4_compressed2017 investors day_v21.4_toq4_compressed
2017 investors day_v21.4_toq4_compressedRockwellAutomationIR
 

Similar to Outside The Code (20)

Application security
Application securityApplication security
Application security
 
Spare clive grinyer
Spare   clive grinyerSpare   clive grinyer
Spare clive grinyer
 
Turbocharge your automated tests with ci
Turbocharge your automated tests with ciTurbocharge your automated tests with ci
Turbocharge your automated tests with ci
 
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
Visual Studio 2013, Xamarin and Microsoft Azure Mobile Services: A Match Made...
 
OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle Manager
 
Business Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 WorkshopBusiness Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 Workshop
 
Consumer Life Cycle Research - Brand Pioneers 2012
Consumer Life Cycle Research - Brand Pioneers 2012Consumer Life Cycle Research - Brand Pioneers 2012
Consumer Life Cycle Research - Brand Pioneers 2012
 
Pearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the AirPearson Plug and Play @ Over the Air
Pearson Plug and Play @ Over the Air
 
The Lean Startup - simplified
The Lean Startup - simplifiedThe Lean Startup - simplified
The Lean Startup - simplified
 
Investor2017 show final_v3_rainvestors_compressed
Investor2017 show final_v3_rainvestors_compressedInvestor2017 show final_v3_rainvestors_compressed
Investor2017 show final_v3_rainvestors_compressed
 
Agility and the Customer Experience
Agility and the Customer ExperienceAgility and the Customer Experience
Agility and the Customer Experience
 
Designing Customer Experience - Cookbook
Designing Customer Experience - CookbookDesigning Customer Experience - Cookbook
Designing Customer Experience - Cookbook
 
Christian Bason, MindLab Denmark - MaRS Global Leadership Series
Christian Bason, MindLab Denmark - MaRS Global Leadership SeriesChristian Bason, MindLab Denmark - MaRS Global Leadership Series
Christian Bason, MindLab Denmark - MaRS Global Leadership Series
 
The Project Trap
The Project TrapThe Project Trap
The Project Trap
 
Velocity 2011: Production Begins in Development
Velocity 2011: Production Begins in DevelopmentVelocity 2011: Production Begins in Development
Velocity 2011: Production Begins in Development
 
Smart 看 tv!
Smart 看 tv!Smart 看 tv!
Smart 看 tv!
 
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
 
Shouji Mobile Company Introduction - Public
Shouji Mobile Company Introduction - PublicShouji Mobile Company Introduction - Public
Shouji Mobile Company Introduction - Public
 
[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming
 
2017 investors day_v21.4_toq4_compressed
2017 investors day_v21.4_toq4_compressed2017 investors day_v21.4_toq4_compressed
2017 investors day_v21.4_toq4_compressed
 

More from Naresh Jain

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingNaresh Jain
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniNaresh Jain
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniNaresh Jain
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNaresh Jain
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016Naresh Jain
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 ConferenceNaresh Jain
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
 

More from Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Outside The Code