On the Socialness of Software

37
On the Socialness of So/ware Walid Maalej – UTS / HCTD – Dec. 2011 1

description

Conventional software engineering processes are rather transactional and lack a common theory for the involvement of users and their communities. Users are regarded as pure consumers, who are, at most, able to report issues. In the age of easy knowledge access and social media, discounting the users of software might threaten its success. Potentially valuable experiences and volunteered resources get lost. Frustrated users might even meet in social communities to argue against the software and harm its reputation. The goal of this research is to revolutionize the role of users, dissolving the boundaries to software engineers. We propose a novel framework for increasing the software socialness, being the degree of user and community involvement in the software lifecycle. Our framework consists of a benchmark, a process, and a reference architecture. The benchmark includes metrics for assessing and monitoring software socialness. The process enables engineering teams to systematically gather and exploit user feedback in the software lifecycle. The context aware reference architecture integrates social media into software systems and the engineering infrastructure. It observes users’ interactions while they use the software and proactively collects in situ feedback. (paper

Transcript of On the Socialness of Software

Page 1: On the Socialness of Software

On  the  Socialness  of  So/ware  

Walid  Maalej  –  UTS  /  HCTD  –  Dec.    2011  1  

Page 2: On the Socialness of Software

Outline  of  the  Talk  

Research  Challenges  

So/ware  Socialness    

SSE  Framework  

MoHvaHon  

2  

1  

3  

4  

2  

Page 3: On the Socialness of Software

Reasons  for  canceled  projects  

Incomplete  Requirements  

No  customer  requirements  

Lack  of  resources  

Unrealis9c  expecta9ons  

Uncontrolled  changes  of    

requirements  

User  Involvement  is  CriHcal  for  the  Success  of  So/ware  Projects  

13%  

12%  

11%  

10%  

9%  

Factors  of  success  

Customer/User  involvement  

Ex.  Management  support  

Clear  Statement  of    

requirements  

Proper  planning  

Realis9c  expecta9ons  

16%  

14%  

13%  

10%  

8%  

[Standish  Group  2003,    recent  studies  with  similar  results]   3  

Page 4: On the Socialness of Software

State  of  the  Art  of  User  Involvement…  

•  Conven9onal  soRware  processes  are  transac'onal  regarding  users  are  pure  consumers  

•  Users  involved  in  requirements  ac9vi9es  

•  “2nd  class  ci9zen”  

…in  processes  

•  Heterogeneous,  vendor  specific  feedback  interfaces  

•  User  input  is  difficult  to  provide  since  full  context  informa9on  must  be  entered  

•  There  is  no  feedback  on  the  user  feedback  

…in  systems  

Serious  problems  can  emerge  from  this  situa9on  

4  [Maalej  et  al.  OOPSLA  2009]  

Page 5: On the Socialness of Software

Consequence  1:  LiWle  or  no  indicators  about  real  so/ware  usage  

Only  download  or  sales  numbers  

Page 6: On the Socialness of Software

6  

Page 7: On the Socialness of Software

Consequence  2:  Valuable  experiences  and  volunteered  resources  get  lost  

Knowledgeable  users  are  unable  to  contribute  easily    

Page 8: On the Socialness of Software

Eric  von  Hippel  of  M.I.T.,  leR,  and  Nathaniel  Sims,  with  hospital  devices  Sims  has  modified.  Von  Hippel  says  users  can  improve  on  products.  

[The  New  York  Times,  2007]   8  

Page 9: On the Socialness of Software

Consequence  3:  Frustrated  users  can  harm  the  reputaHon  of  so/ware!  

Users  organize  communi9es  against  the  soRware  

Page 10: On the Socialness of Software

10  

Page 11: On the Socialness of Software

11  

Page 12: On the Socialness of Software

Our  Vision  

1.  Revolutionizing the role of end users

2.  Dissolve the boundaries to software engineers

3.  Make software processes and systems social

12  

Page 13: On the Socialness of Software

Outline  of  the  Talk  

Research  Challenges  

So/ware  Socialness    

SSE  Framework  

MoHvaHon  

2  

1  

3  

4  

13  

Page 14: On the Socialness of Software

Socialness  of  So/ware  

User  involvement  

Socialness  is  the  degree  of  involvement  of  its  users  and  their  communi3es  in  the  so4ware  lifecycle  

•  AcHvely  work  on  specific  project  ac9vity  (e.g.  tes9ng,  documenta9on,  development)  

•  Influence  management  or  engineering  decision    (e.g.  give  feedback,  vote)  

Community  involvement  

•  Externalize  important  knowledge  

•  Share  common  interests  

14  

Page 15: On the Socialness of Software

Benchmarking  Socialness  

TransacHonal  

So/ware  

Community  Involvement  

Social    

So/ware  

Popular    

So/ware  

CollaboraHve    

So/ware  

User  Involvem

ent  

15  

Page 16: On the Socialness of Software

Measuring  User  Involvement  

1  

2  

3  

4  

ContribuHon    Quality  

ContribuHon    Explicitness  

ContribuHon  Time  

ContribuHon    Means   Individual  

Metrics    

How  is  the  quality  of  the  contribu9on?  

Is  the  contribu9on  explicit  (intended)  or  implicit?  

Does  the  contribu9on    occur  during  the  user  tasks?  

Is  the  contribu9on    integrated  into  the  work  environment?    

16  

Page 17: On the Socialness of Software

Measuring  Community  Involvement  

Community    Size  

Community    AcHvity  

Community  Interweaving  

Community    AWracHveness   Community    

Metrics    

How  many  members  does  the  soRware  community  have?  

How  is  the  communica9on    volume  and  topic  varia9on  in  the  community?  

How  is  the  ra9o  of  contributors  in  the  whole  community?  

How  is  the  ra9o  of  member  gain  and  member  loss?  

1  

2  

3  

4  

Community    Metrics    

17  

Page 18: On the Socialness of Software

Outline  of  the  Talk  

Research  Challenges  

So/ware  Socialness  

SSE  Framework  

MoHvaHon  

2  

1  

3  

4  

18  

Page 19: On the Socialness of Software

Outline  of  the  Talk  

Process  

So/ware  Socialness  

SSE  Framework  

MoHvaHon  

2  

1  

3  

19  

Architecture    

Page 20: On the Socialness of Software

SNAIL:  A  Social  So/ware  Engineering  Process  

Community Observation

User Observation

ProactiveFeedback

Update

SystematicAnalysis

Decision

Engi-neering

Time

20  

Page 21: On the Socialness of Software

SNAIL:  A  Social  So/ware  Engineering  Process  

Community Observation

User Observation

ProactiveFeedback

Update

SystematicAnalysis

Decision

Engi-neering

Time

Con9nuous  gathering  of  context  informa9on  to  understand  circumstances  under  which  a  user  provides  feedback  

21  

Page 22: On the Socialness of Software

SNAIL:  A  Social  So/ware  Engineering  Process  

Community Observation

User Observation

ProactiveFeedback

Update

SystematicAnalysis

Decision

Engi-neering

Time

Systema9c  observa9on  of  user  communi9es  to  gather  input  and  benefit  from  social  dynamics  

22  

Page 23: On the Socialness of Software

SNAIL:  A  Social  So/ware  Engineering  Process  

Community Observation

User Observation

ProactiveFeedback

Update

SystematicAnalysis

Decision

Engi-neering

Time

Proac9vely  ask  users  to  provide  individual  and  social  feedback  to  improve  soRware  (e.g.  in  problem  situa9ons)  

23  

Page 24: On the Socialness of Software

SNAIL:  A  Social  So/ware  Engineering  Process  

Community Observation

User Observation

ProactiveFeedback

Update

SystematicAnalysis

Decision

Engi-neering

Time

Reduce  the  amount  of  informa9on  for  engineers  and  iden9fy  conflic9ng  preferences  

24  

Page 25: On the Socialness of Software

SNAIL:  A  Social  So/ware  Engineering  Process  

Community Observation

User Observation

ProactiveFeedback

Update

SystematicAnalysis

Decision

Engi-neering

Time

Give  users  the  possibility  to  influence  ac9ons  triggered  by  the  analysis  (e.g.  vote,  rate,  comment)  

25  

Page 26: On the Socialness of Software

SNAIL:  A  Social  So/ware  Engineering  Process  

Community Observation

User Observation

ProactiveFeedback

Update

SystematicAnalysis

Decision

Engi-neering

Time

Inform  users  about  engineering  decisions  and  ra9onale  and  propagate  changes  to  soRware  

26  

Page 27: On the Socialness of Software

Outline  of  the  Talk  

Process  

So/ware  Socialness  

SSE  Framework  

MoHvaHon  

2  

1  

3  

27  

Architecture    

Page 28: On the Socialness of Software

FastFix  Reference  Architecture  

Social  

Media  

Social  Engineering  Client  

Social  Engineering  Center  

Context  System  

User  Feedback  System  

User  Feedback  Analysis  System  

Back-­‐Feedback  System    

Applica9on  Engineering  Environment    

Applica9on  Usage    Environment  Target  Applica9on  

Community    Center  

Communica9on  System  

Communica9on  System  

Social  Media  Bridge  

Social  Media  Bridge  

28  

Page 29: On the Socialness of Software

Context  ObservaHon  and  Processing  

 problem    problem  

ExecuHon  Ontology  

InteracHon    Ontology  

Feedback  ReporHng  Interface  

OS    sensors  

User  Profile  

ElicitaHon  

 Problem  

events  

update  

trigger  

ApplicaHon    sensors  

Exec.  Env.  sensors  

AddiHonal    feedback  

interact  

Session-­‐  izaHon  

Context  System  

www.teamweaver.org  www.fasaixproject.eu     29  

Page 30: On the Socialness of Software

Unified  Interface  for  User  Feedback  

SNAIL Feedback Report

Provide feedback Use this form to report on your experience.

This report will contain additional context information that helps to understand your experience.

Share with the community

I agree to make this experience report public to create awareness about my experience in the community.

Show additional information

I did not understand the export dialog. It said export to, but instead it only saved the document to the specified folder.

Tag your report

Use tags to help other users find your report and to help engineers understand your experience.

export, usability, difficulty

Mark similar reports

Context information included

SNAIL has found reports that are similar to yours. Help to focus by selecting relevant similar reports. Show similar reports

30  

Page 31: On the Socialness of Software

Community  Center  on  Social  Media  

SNAIL Community Center

Help others

Documentation Discussions

Help other users with their problems.

Knowledgebase

Get information

Documentation Discussions

Browse through the know- ledgebase or ask questions.

Knowledgebase

Development corner

Feature request list List of known errors

Contribute to make the software better.

Source code repository

Provide feedback

Report error Request modification

Report on your exper- ience.

Report experience

Future directions

Request feature Vote on features

Influence the future development directions.

Vote on release plan

Test bed

Beta download page Release plan

Perform tests of early versions.

Source code repository

31  

Page 32: On the Socialness of Software

Example  of  Community  Center  FuncHonality    

SNAIL Feature Requests

Influence future directions

Request new feature On this page you can request new features and vote on existing ones.

Dennis (17 features)

Creator:

votes

1746

!"#

Add a PDF export feature. Currently files can only be saved in the proprietary SNL format. Interchange with other platforms would be a very important feature.

View comments Add comment

Walid (19 features)

Creator:

votes

1031

!"#

It would be helpful to be able to compare two documents. Currently this is only possible using a workaround.

View comments Add comment

32  

Page 33: On the Socialness of Software

Example  of  User  Feedback  Analysis  

SNAIL Social Analytics

Documentation statistics This page shows statistics about the documentation of SNAIL written by users.

2000

1000

April 2011 May 2011 June 2011 July 2011

Documented Features

Visualization options

Overall statistics By component

33  

Page 34: On the Socialness of Software

Outline  of  the  Talk  

Research  Challenges  

So/ware  Socialness  

SSE  Framework  

MoHvaHon  

2  

1  

3  

4  

34  

Page 35: On the Socialness of Software

Challenges  for  So/ware  Socialness  

Scalability  

ContribuHon  Quality  

Conflict  ResoluHon  

IntegraHon  

Human  Issues  

Cultural  Issues  

Different  types  

of  challenges    

Huge  amount  of  gathered  (unstructured)  data    complicates  manual    

analysis   Unpredictable  content  and  varying  quality,  complicates  automated  analysis  

Conflic9ng  preferences  and  input,  complica9ng  manual  iden9fica9on  and  resolu9on  techniques  

Diverse  systems  and  technologies  have  to  be  monitored  and  integrated    

Ensure  the  privacy  of  users,  giving  incenHves  to  contribute  in  a  usable  non-­‐intrusive  manner  

Accep9ng  users  as  contributors  requires  a  

paradigm  shiR  in  commercial  organiza9ons  

35  

Page 36: On the Socialness of Software

Summary  of  the  Talk  

Making  user  involvement    and  user  

communiHes    a  first  order  concern  of  so/ware  

systems  and  processes  

So/ware  Socialness  

•  Degree of user and community "involvement in the software lifecycle

•  Benchmark for assessing socialness "of software

SSE  Framework  

•  Social engineering process (SNAIL) "involves users thoroughly and continuously

•  Reference architecture integrated into target application and engineering environment

Challenges  •  Main challenges are in the systematic

analysis of continuous user feedback

•  Other cultural and human challenges

36  

Page 37: On the Socialness of Software

For  Feedback,  QuesHons  and  CollaboraHon...  

Dennis Pagano [email protected]

Walid Maalej [email protected]

37