user involvement in software evolution practice: a case study

16
User Involvement in Software Evolution Practice: A Case Study Dennis Pagano (@dennispagano), Bernd Bruegge Technische Universität München

Upload: dennis-pagano

Post on 27-May-2015

580 views

Category:

Technology


1 download

DESCRIPTION

User involvement in software engineering has been researched over the last three decades. However, existing studies concentrate mainly on early phases of user-centered design projects, while little is known about how professionals work with post-deployment end-user feedback. In this paper we report on an empirical case study that explores the current practice of user involvement during software evolution. We found that user feedback contains important information for developers, helps to improve software quality and to identify missing features. In order to assess its relevance and potential impact, developers need to analyze the gathered feedback, which is mostly accomplished manually and consequently requires high effort. Overall, our results show the need for tool support to consolidate, structure, analyze, and track user feedback, particularly when feedback volume is high. Our findings call for a hypothesis-driven analysis of user feedback to establish the foundations for future user feedback tools.

TRANSCRIPT

Page 1: User Involvement in Software Evolution Practice: A Case Study

User  Involvement  in  Software  Evolution  Practice:    A  Case  Study  Dennis  Pagano  (@dennispagano),  Bernd  Bruegge  Technische  Universität  München  

Page 2: User Involvement in Software Evolution Practice: A Case Study

Foundations  

•  User  Involvement  

•  Aims  at  maximizing  system  usefulness  and  usability  by  understanding  users’  needs  and  expecta0ons    

•  So3ware  Evolu7on  •  So<ware  has  been  delivered  (this  is  a  simplified  view)  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

2  

Page 3: User Involvement in Software Evolution Practice: A Case Study

D.  Edsger  Dijkstra  D.  Edsger  Dijkstra  

Why  User  Involvement?  «The  no7on  of  ’user’  cannot  be  precisely  defined,  and  therefore  has  no  place  in  computer  science  or  so>ware  engineering.»      

A.  Alexander  G.  Bell   B.  Michael  Jackson  

C.  Christopher  Columbus  

That  was  in  1979.  Of  course,  the  rest  is  history.   3  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

Page 4: User Involvement in Software Evolution Practice: A Case Study

In?luential  Changes  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

4  

•  From  programmers  to  arbitrary  persons  

•  From  few  vicYms  to  many  paramount  stakeholders  

•  More  demanding  

Users  •  From  expensive  scienYfic  programs  to  cheap  apps  

•  Running  on  new  devices  •  Delivered  via  applicaYon  distribuYon  pla[orms  

So3ware  

•  Users  and  use  context  unknown  upfront  •  Increasing  distance  between  users  and  developers  

➡  User  involvement  changed:  from  user-­‐centered  design  to              con7nuous  interpreta7on  of  post-­‐deployment  user  feedback  

Page 5: User Involvement in Software Evolution Practice: A Case Study

Study  Goal  and  Questions  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

5  

Understand  current  prac7ce  of    user  involvement  during  so3ware  evolu7on  

Workflow:  Why  and  how  do  developers  work  with  user  feedback,  and  which  problems  arise?  

2  

   

Requirements:  What  do  developers  expect  from  tool  support  for  user  involvement?  

3  

   

SeIng:  

How,  when,  and  where  may  users  provide  feedback?  

   

1  

Page 6: User Involvement in Software Evolution Practice: A Case Study

Research  Method  and  Data  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

6  

•  Semi-­‐structured,  open  ended  interviews  •  Audio  recording  and  manual  transcripYon  •  Coding  and  building  hypotheses  

•  Five  developers  from  small  and  medium  sized  companies  (SMEs)  

•  Focus:  Large  number  of  applicaYon  users  (>  10,000)  •  Different  audiences  (consumers  and  professionals)  •  Different  plaOorms  (desktop  and  mobile)  

Method  

Data  

Page 7: User Involvement in Software Evolution Practice: A Case Study

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

7  

1  

User  Involvement  Sefng  

Results  

Page 8: User Involvement in Software Evolution Practice: A Case Study

User  Involvement  Setting  •  Four  main  user  feedback  arYfacts:  Error  reports,  feature  requests,  feedback  on  exis7ng  features,  ra7ngs  

•  User  feedback  scaQered:  email,  applicaYon  distribuYon  pla[orms,  integrated  feedback  mechanisms  etc.  

•  Users  inten7onally  select  feedback  channel:  The  more  cri7cal  the  feedback,  the  more  public  the  channel  

•  Users  not  systema7cally  involved:  No  agreed  pracYce  how  to  provide  nor  how  to  gather  user  feedback  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

8  

1  

Page 9: User Involvement in Software Evolution Practice: A Case Study

2  

Results  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

9  

User  Involvement  Workflow  

Page 10: User Involvement in Software Evolution Practice: A Case Study

Bene?its  of  User  Feedback  1.  Allows  for  conYnuous  assessment  of  product  acceptance  

(real-­‐world  usage  data)  

2.  Helps  to  improve  so3ware  quality  

3.  PosiYve  raYngs  and  user  experience  convey  trust:  adver7sement  and  marke7ng  

4.  Helps  idenYfying  missing  features,  BUT  developers  need  to  assess  how  many  users  will  benefit  from  new  feature  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

10  

2  

Page 11: User Involvement in Software Evolution Practice: A Case Study

User  Feedback  Analysis  •  Developers  analyze  user  feedback  to  create  priori7zed  tasks  fifng  into  current  product  roadmap  

•  Feedback  importance  depends  on  frequency  of  its  occurrence  

!"#$"%&'(#)"&%

*+,#-),%&./$0"%1""23-)4&%

5&&"&&%./2.6.2(-0%7#.'#.,8%

*&9:-,"%.:7-),%

;0-&&.18%1""23-)4%

!"#$%&'()*+,&'

!"#$%&',-*#.('

/(&+'0&&123,.'

!"#$%"%&'()!*%+#)

4+")+"56'

7893,5'

,"-%.#)!*%+#)

:++)+'+&9)+5''#'0&35*+&'+&;*&(5'

</&"#,%./%)'/6"/9'/-0%,''0&%-/2%='#4>'=&%

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

11  

2  

Page 12: User Involvement in Software Evolution Practice: A Case Study

1.  Natural  language  content,  low  feedback  quality,  contradictory  feedback  

2.   Communica7on  gaps  in  user  feedback  channels  disconnect  users  and  developers  

Problems  and  Challenges  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

12  

2  

➡  Main  problem:  manual  analysis  process  •  Developers  read  feedback  mulYple  Ymes  •  Manual  esYmaYon  of  how  many  users  are  affected  

➡  Feedback  quan7ty  amplifies  these  problems  

Page 13: User Involvement in Software Evolution Practice: A Case Study

3  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

13  

Tool  Requirements  

Results  

Page 14: User Involvement in Software Evolution Practice: A Case Study

Tool  Requirements  •  Consolidate,  structure,  analyze,  and  track  user  feedback  •  Group  duplicate  or  similar  feedback,  capture  feedback  type,  and  associated  feature  

•  Measure  frequency  of  user  feedback  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

14  

3  

•  Collect  feedback  and  analyze  later  

•  Less  feedback  and  professional  end-­‐users  

Re-­‐ac7ve  approach  •  RecommendaYon  of  exisYng  feedback  

•  High  volume  of  non-­‐confidenYal  feedback  

Pro-­‐ac7ve  approach  

Page 15: User Involvement in Software Evolution Practice: A Case Study

Implications  of  Findings  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013    

15  

Researchers  1.   Extract  informa7on  from  natural  language  user  feedback  

(microtext  understanding,  island  parsing)  2.  Elicit  context  informa7on  for  analysis  process  

Companies  

1.  Consolidate,  structure,  analyze,  and  track  user  feedback  2.  IdenYfy  similar  reports,  feedback  type,  and  affected  feature  3.  Assess  feedback  impact  (frequency)  and  reporYng  user  

Tool  Developers  

1.  Offer  fewer,  suitable,  bidirec7onal  feedback  channels  2.  Educate  users  how  to  provide  helpful  feedback  

Page 16: User Involvement in Software Evolution Practice: A Case Study

Feel  free  to  contact  us  for  feedback…   16  

Dennis  Pagano  TU  Munich  

[email protected]  @dennispagano  

Bernd  Bruegge  TU  Munich  

[email protected]  

Denn

is  Pagano

 -­‐  TU

 Mun

ich  -­‐  M

ay  2013