How to optimize trials-and-errors to develop better products - 如何在反覆試用中開發更好的產品 -

3e77f9dbec6a87756d1dbdddab283aee?s=47 Nulab Inc.
August 31, 2014

How to optimize trials-and-errors to develop better products - 如何在反覆試用中開發更好的產品 -

Presentation slides at Agile Meetup 2014 八月份假日聚會http://www.accupass.com/go/agilemeetup20140831

3e77f9dbec6a87756d1dbdddab283aee?s=128

Nulab Inc.

August 31, 2014
Tweet

Transcript

  1. 如何在反覆試⽤用中開發更更好的產品 Agile  Meetup  2014  ⼋八⽉月份假⽇日聚會 2014/08/31(⽇日) How  to  optimize  trials-‐‑‒and-‐‑‒errors

      to  develop  better  products
  2. 染⽥田  貴志 SOMEDA  Takashi @tksmd Nulab  Inc. Technology  Evangelist

  3. http://nulab-‐‑‒inc.com/blog/nulab/generating-‐‑‒value-‐‑‒for-‐‑‒users/

  4. None
  5. None
  6. Backlog  is  a  project  management  tool  that  2,700  clients  use.

    In  addition  to  issue  management  feature,  Backlog  provides •  File  sharing  by  WebDAV •  Git  and  Subversion  repository  hosting. Visit  http://backlogtool.com/
  7. http://backlogtool.com/git-‐‑‒guide/en/ Git  Beginners  Guide  For  Dummies

  8. 1.3M  users  around  the  world  draw  wireframes,  network   diagrams,

     UML,  business  plans  and  so  on. Cacoo  provides  basic  functionality  as  a  draw  tool  and  powerful  collaborative   features  like •  Simultaneous  Editing  on  same  diagram  by  multiple  users •  Integration  with  Google  Services  like  Google  Apps,  Google  Drive  and   Google+  Hangouts
  9. A  new  collaborative  chat  app  has  just  been  out  of

     beta  this  year. •  Integration  with  nulabʼ’s  other  services •  Provide  easy-‐‑‒to-‐‑‒use  API  for  developers http://typetalk.in/
  10. Growth  of  Backlog 0 50000 100000 150000 200000 250000 300000

    350000 2011 2012 2013 2014 users spaces •  The  speed  of  growth  has  changed  around  2013  
  11. 0 50000 100000 150000 200000 250000 300000 350000 2011 2012

    2013 2014 users spaces Growth  of  Backlog Big  Bang  release   failed •  Dashboard  renewal,  overseas  payment,  and…
  12. 0 50000 100000 150000 200000 250000 300000 350000 2011 2012

    2013 2014 users spaces Growth  of  Backlog KAIZEN(改善)   started •  KAIZEN  in  delivery  and  “dogfooding”  way
  13. 0 50000 100000 150000 200000 250000 300000 350000 2011 2012

    2013 2014 users spaces Growth  of  Backlog The  risk  of  delivery   was  hugely  lowered •  Confirm  that  we  do  deliver  “right”  things  to  users
  14. Agenda 1.  Trend  of  Service  Development 2.  Everyone  on  Thinking

     UI 3.  Build  Environment  for  Trial 4.  Practice  of  Continuous  Delivery 5.  Communication  among  team
  15. 1.  Trend  of  Service  Development http://www.flickr.com/photos/ancientsword/2856148716/

  16. Lean  Startup •  Turn  around  the  loop  as  quickly  as

     possible
  17. Agile  (Scrum) •  Product  Backlog  can  be  mapped  to  “Idea”

    •  Working  Software  can  be  mapped  to  “Code”
  18. Lean  x  Agile •  Shorten  the  “Build”  part  for  more

     quick  loop •  Effective  “trial”  ways  are  important
  19. http://www.flickr.com/photos/nicmcphee/2558167768/ 2.  Everyone  on  Thinking  UI

  20. 「The  DESIGN  of  EVERYDAY  THINGS」 It  is  the  duty  of

     machines  and  those  who   design  them  to  understand  people.  It  is  not   our  duty  to  understand  the  arbitrary,   meaningless  dictates  of  machines. 「The  DESIGN  of  EVERYDAY  THINGS」   DON  NORMAN
  21. UI  Driven  Development •  Start  development  with  drawing  UI  images

    •  Thinking  UI  as  much  as  possible
  22. Create  Many  UI  Sketches •  Drawing  costs  much  less  than

     developing •  Discussion  with  visual  is  effective  than  with  verbal  only
  23. Think  Interaction  by  Mock •  Developing  UI  alone  still  costs

     less  than  developing  all   •  Using  real  data  for  sample
  24.  Chrome  Extension Experimental  UI  on  browser •  Test  on  real

     environment  without  any  affects  to  others •  HTML,  CSS,  JS  skills  are  only  required  to  develop
  25. Director Developer Designer Product Owner UI Everyone  Must  Think  UI

    •  Thinking  UI  from  the  beginning  finally  reduces  cost •  The  final  decision  should  be  done  by  one  person
  26. http://www.flickr.com/photos/alexmartin81/5883645329/ 3.  Build  Environment  for  Trial

  27. 3  Environments  for  Service •  “beta”  environment  installed  after  the

     release  failure •  “beta”  servers  access  to  production  database  
  28. Use  it  For  Real •  Testing  over  time  makes  us

     recognize  whether  your   work  is  really  useful  or  not
  29. 1.Virtual  Host

  30. 2.Dispatch  by  Cookie

  31. 3.Switching  Resource

  32. 4.Feature  Flag

  33. Ways  of  Building  “beta”   Application Infrastructure Notes Virtual  Host

    No  change  required Dedicated  server   needed Switch  upstream   servers  based  on   hostname No  authentication   required Only  applicable  to   services  that  includes   user  information   within  hostname Dispatch  by  Cookie Add  special  cookie  if  a   authenticated  user  is   recognized  as  beta   user Dedicated  server   needed Switch  upstream   servers  based  on   cookie Authentication   required Applicable  to  most   services Switching  Resource Switch  returning   resources   (JS,CSS,SWF  etc)   based  on  user   information   No  change  required Authentication   required Applicable  to  most   services Feature  Flag Allow/Disallow  each   functionality  based  on   user  information No  change  required Authentication   required Applicable  to  most   services
  34. https://www.flickr.com/photos/kamshots/468265643/ 4.  Practice  of  Continuous  Delivery

  35. Build  Easy  Way  for  Delivery •  You  have  to  solve

    •  Limited  people  can  deliver •  Delivery  requires  manual  operation
  36. Continuous  Delivery •  Build  deployment  pipeline  for  automatic  update • 

    Delivery  should  be  usual  thing  for  “beta”
  37. 3  Rules  of  “beta”  delivery   1.  Delivery  can  be

     done  by  everyone 2.  Delivery  fail  doesnʼ’t  affect  othersʼ’  work 3.  Delivery  should  be  visible  to  everyone
  38. Demo

  39. https://www.flickr.com/photos/twosevenoneonenineeightthreesevenatenzerosix/8187732414/ 5.  Communication  among  team

  40. Active  Feedback  from  Teams

  41. 「確保吐槽⼒力力」 當製作的作品越趨龐⼤大,⼀一個⼈人將無法完全掌握事物的全貌。 雖然在組成團隊的時候我們不不得不不承認這個事實,然⽽而關鍵在 於團隊中各個成員的⽬目光所在。 在⼤大家的關注下,什什麼⼈人出了了錯應該⾺馬上就能發現,⽽而能否讓 這個問題點顯現化,就是組織的問題所在。 http://aiming-‐‑‒inc.com/tw/developer-‐‑‒credo/problem-‐‑‒vs-‐‑‒us/

  42. Information  Transparency •  Make  all  information  accessible  to  all  members

    •  Anyone  can  give  feedback  to  any  projects
  43. Issue Assignee Feedback  -‐‑‒  Usual •  Feel  blamed  if  he/she

     gets  feedback  from  others
  44. Issue Feedback  –  To  Be •  Should  be  “people  versus

     issues”
  45. Tend  To  Be,  Though Issue Assignee •  Weʼ’re  indeed  emotional

     animal…
  46. Feedback  Manners •  When  giving  feedback •  Do  positive  feedback

    •  Suggestion  rather  than  indication   •  When  asking  others  to  give  feedback •  Clarify  what  others  should  check •  Prepare  the  place  for  feedback
  47. http://www.flickr.com/photos/munaz/2498380666/ Summary

  48. Agenda 1.  Trend  of  Service  Development 2.  Everyone  on  Thinking

     UI 3.  Build  Environment  for  Trial 4.  Practice  of  Continuous  Delivery 5.  Communication  among  team
  49. Monthly  Delivery  Counts 0 5 10 15 20 25 30

    35 40 45 50 Oct-‐‑‒12 Nov-‐‑‒12 Dec-‐‑‒12 Jan-‐‑‒13 Feb-‐‑‒13 Mar-‐‑‒13 Apr-‐‑‒13 May-‐‑‒13 Jun-‐‑‒13 Jul-‐‑‒13 Aug-‐‑‒13 Sep-‐‑‒13 Oct-‐‑‒13 Nov-‐‑‒13 Dec-‐‑‒13 Jan-‐‑‒14 Feb-‐‑‒14 Mar-‐‑‒14 Apr-‐‑‒14 May-‐‑‒14 Jun-‐‑‒14
  50. If  you  want  to  go  fast, go  alone. If  you

     want  to  go  far, go  together. African  Proverb
  51. Write  your  thought  to  Post-‐‑‒it •  Whatʼ’s  interesting  about  my

     talk •  Tell  me  about  your  own  issue •  Tell  me  how  you  think/work  for  that  issue
  52. Thank  You!! Follow  us  on  twitter   @nulabinc