where user experience and software engineering meet
play

where user experience and software engineering meet Andrew J. - PowerPoint PPT Presentation

where user experience and software engineering meet Andrew J. Ko Monday, November 30, 2009 in method , Im an HCI researcher I study problems I evaluate I design


  1. where ¡ user ¡experience ¡ and software ¡engineering ¡meet Andrew ¡J. ¡Ko Monday, November 30, 2009

  2. in ¡ method , ¡I’m ¡an ¡ HCI ¡researcher I ¡study ¡ problems I ¡ evaluate ¡ I ¡ design ¡ solutions solutions 2 Monday, November 30, 2009

  3. in ¡ method , ¡I’m ¡an ¡ HCI ¡researcher I ¡study ¡ problems I ¡ evaluate ¡ I ¡ design ¡ solutions solutions 2 Monday, November 30, 2009

  4. in ¡ topic , ¡I’m ¡an ¡ SE ¡researcher I ¡want ¡to ¡make ¡it ¡ easy ¡to ¡ create ¡ useful , ¡ usable ¡software that ¡ empowers ¡ and ¡ enriches ¡ users’ ¡lives 3 Monday, November 30, 2009

  5. human-­‑computer ¡ software ¡ interaction engineering me 4 Monday, November 30, 2009

  6. human-­‑computer ¡ software ¡ interaction engineering how ¡do ¡we ¡get ¡the ¡ how ¡do ¡get ¡the ¡ right ¡design ? design ¡right ? (the ¡lives ¡of ¡users) (the ¡lives ¡of ¡developers) 5 Monday, November 30, 2009

  7. user-­‑centered ¡ software ¡evolution how ¡do ¡we ¡get ¡the right ¡design design ¡right ? 6 Monday, November 30, 2009

  8. talk ¡outline why ¡is ¡software ¡evolution ¡ difficult ? a ¡study ¡of ¡information ¡needs ¡at ¡Microsoft how ¡can ¡ tools ¡help ¡software ¡evolution? debugging ¡with ¡the ¡Whyline how ¡can ¡ users ¡help ¡software ¡evolution? !"#$% !"#$%&'()*+ recent ¡work ¡in ¡leveraging ¡the ¡crowd !(" !#" ,!#" ,!%" ,!!" ,!7" 7 Monday, November 30, 2009

  9. talk ¡outline why ¡is ¡software ¡evolution ¡ difficult ? a ¡study ¡of ¡information ¡needs ¡at ¡Microsoft how ¡can ¡ tools ¡help ¡software ¡evolution? debugging ¡with ¡the ¡Whyline how ¡can ¡ users ¡help ¡software ¡evolution? !"#$% !"#$%&'()*+ recent ¡work ¡in ¡leveraging ¡the ¡crowd !(" !#" ,!#" ,!%" ,!!" ,!7" 8 Monday, November 30, 2009

  10. information ¡needs ¡at ¡Microsoft with ¡the ¡ Human ¡Interactions ¡in ¡Programming ¡group ¡at ¡Microsoft ¡Research observed ¡ 25 ¡hours ¡of ¡coding ¡and ¡bug ¡ fixing, ¡in ¡the ¡role ¡of ¡“new ¡hires” 357 ¡pages ¡of ¡handwritten ¡notes 4,231 ¡events ¡in ¡ an ¡spreadsheet 9 Monday, November 30, 2009

  11. 17 ¡developers ¡ hard ¡at ¡work ¡ across ¡ 25 ¡hours Visual ¡Studio Windows ¡Vista service ¡packs mobile ¡devices discussion ¡boards educational ¡tools SQL ¡server MS ¡Office Encryption DRM ... 10 Monday, November 30, 2009

  12. 8 ¡activities writing ¡code submitting ¡code triaging ¡bugs reproducing ¡a ¡failure understanding ¡behavior reasoning ¡about ¡design maintaining ¡awareness non-­‑work ¡activity 11 Monday, November 30, 2009

  13. 8 ¡activities writing ¡code submitting ¡code triaging ¡bugs reproducing ¡a ¡failure understanding ¡behavior reasoning ¡about ¡design maintaining ¡awareness non-­‑work ¡activity 11 Monday, November 30, 2009

  14. 9 ¡reasons ¡for ¡ switching ¡tasks face ¡to ¡face ¡conversation phone ¡call instant ¡message e-­‑mail ¡alerts bug ¡report ¡change ¡alerts task ¡avoidance getting ¡blocked meetings task ¡completion 12 Monday, November 30, 2009

  15. 9 ¡reasons ¡for ¡ switching ¡tasks face ¡to ¡face ¡conversation phone ¡call instant ¡message e-­‑mail ¡alerts bug ¡report ¡change ¡alerts task ¡avoidance getting ¡blocked meetings task ¡completion 12 Monday, November 30, 2009

  16. software ¡ interrupted ¡every ¡ development ¡ ~5-­‑10 ¡minutes work ¡is ¡highly ¡ fragmented blocked ¡every ¡ ~10 ¡minutes 13 Monday, November 30, 2009

  17. next, ¡we ¡looked ¡ for ¡ information ¡ that ¡developers ¡ sought ¡to ¡get ¡ their ¡work ¡ done ¡... 14 Monday, November 30, 2009

  18. next, ¡we ¡looked ¡ for ¡ information ¡ that ¡developers ¡ sought ¡to ¡get ¡ their ¡work ¡ done ¡... 14 Monday, November 30, 2009

  19. 21 ¡information ¡needs ¡observed ¡(by ¡frequency) what ¡have ¡my ¡coworkers ¡been ¡doing? ¡ what ¡code ¡could ¡have ¡caused ¡this ¡behavior? ¡ have ¡resources ¡I ¡depend ¡on ¡changed? ¡ what ¡code ¡caused ¡this ¡program ¡state? how ¡do ¡I ¡use ¡this ¡data ¡structure ¡or ¡function? did ¡I ¡make ¡any ¡mistakes? what ¡is ¡the ¡program ¡supposed ¡to ¡do? in ¡what ¡situations ¡does ¡this ¡failure ¡occur? is ¡this ¡problem ¡worth ¡fixing? why ¡was ¡this ¡code ¡implemented ¡this ¡way? what’s ¡statically ¡related ¡to ¡this ¡code? 15 what ¡are ¡the ¡implications ¡of ¡this ¡change? what ¡does ¡the ¡failure ¡look ¡like? Monday, November 30, 2009

  20. 5 ¡information ¡needs ¡least ¡often ¡satisfied what ¡have ¡my ¡coworkers ¡been ¡doing? ¡ % ¡unsatisfied what ¡code ¡could ¡have ¡caused ¡this ¡behavior? ¡ 36% have ¡resources ¡I ¡depend ¡on ¡changed? ¡ what ¡code ¡caused ¡this ¡program ¡state? 61% how ¡do ¡I ¡use ¡this ¡data ¡structure ¡or ¡function? did ¡I ¡make ¡any ¡mistakes? what ¡is ¡the ¡program ¡supposed ¡to ¡do? 15% in ¡what ¡situations ¡does ¡this ¡failure ¡occur? 41% is ¡this ¡problem ¡worth ¡fixing? why ¡was ¡this ¡code ¡implemented ¡this ¡way? 44% what’s ¡statically ¡related ¡to ¡this ¡code? 16 what ¡are ¡the ¡implications ¡of ¡this ¡change? what ¡does ¡the ¡failure ¡look ¡like? Monday, November 30, 2009

  21. 3 ¡ were ¡debugging ¡ related ¡... what ¡have ¡my ¡coworkers ¡been ¡doing? ¡ what ¡code ¡could ¡have ¡caused ¡this ¡behavior? reproducing , ¡ have ¡resources ¡I ¡depend ¡on ¡changed? ¡ diagnosing , ¡ what ¡code ¡caused ¡this ¡program ¡state? and ¡ scoping ¡ how ¡do ¡I ¡use ¡this ¡data ¡structure ¡or ¡function? failures ¡were ¡ the ¡most ¡time-­‑ did ¡I ¡make ¡any ¡mistakes? consuming ¡ what ¡is ¡the ¡program ¡supposed ¡to ¡do? activities in ¡what ¡situations ¡does ¡this ¡failure ¡occur? is ¡this ¡problem ¡worth ¡fixing? why ¡was ¡this ¡code ¡implemented ¡this ¡way? what’s ¡statically ¡related ¡to ¡this ¡code? 17 what ¡are ¡the ¡implications ¡of ¡this ¡change? what ¡does ¡the ¡failure ¡look ¡like? Monday, November 30, 2009

  22. 2 ¡were ¡design ¡ related what ¡have ¡my ¡coworkers ¡been ¡doing? ¡ what ¡code ¡could ¡have ¡caused ¡this ¡behavior? have ¡resources ¡I ¡depend ¡on ¡changed? ¡ what ¡code ¡caused ¡this ¡program ¡state? ¡ how ¡do ¡I ¡use ¡this ¡data ¡structure ¡or ¡function? did ¡I ¡make ¡any ¡mistakes? what ¡is ¡the ¡program ¡supposed ¡to ¡do? knowing ¡what ¡ software ¡ in ¡what ¡situations ¡does ¡this ¡failure ¡occur? should ¡ do ¡was ¡ is ¡this ¡problem ¡worth ¡fixing? rarely ¡known why ¡was ¡this ¡code ¡implemented ¡this ¡way? what’s ¡statically ¡related ¡to ¡this ¡code? 18 what ¡are ¡the ¡implications ¡of ¡this ¡change? what ¡does ¡the ¡failure ¡look ¡like? Monday, November 30, 2009

  23. software ¡development ¡is ¡tacit plans ¡and ¡specifications ¡are ¡ unwritten developers ¡have ¡to ¡ communicate ¡to ¡make ¡progress 19 Monday, November 30, 2009

  24. software ¡quality ¡depends ¡highly ¡on ¡the ¡quality ¡of ¡ human ¡ communication ¡ and ¡cognition these ¡human ¡activities ¡are ¡ faulty ¡and ¡unreliable 20 Monday, November 30, 2009

  25. talk ¡outline why ¡is ¡software ¡evolution ¡ difficult ? a ¡study ¡of ¡information ¡needs ¡at ¡Microsoft how ¡can ¡ tools ¡help ¡software ¡evolution? debugging ¡with ¡the ¡Whyline how ¡can ¡ users ¡help ¡software ¡evolution? !"#$% !"#$%&'()*+ recent ¡work ¡in ¡leveraging ¡the ¡crowd !(" !#" ,!#" ,!%" ,!!" ,!7" 21 Monday, November 30, 2009

Recommend


More recommend