using developer conversations to resolve uncertainty in software development: a position paper

31
Ahmed Shah Mashiyat, Michalis Famelis , Rick Salay, Marsha Chechik University of Toronto RSSE@ICSE 2014 Using Developer Conversations to Resolve Uncertainty in Software Development: A Position Paper

Upload: michalis-famelis

Post on 15-Jul-2015

85 views

Category:

Technology


0 download

TRANSCRIPT

PowerPoint Presentation

Ahmed Shah Mashiyat, Michalis Famelis, Rick Salay, Marsha Chechik

University of Toronto

RSSE@ICSE 2014Using Developer Conversations to Resolve Uncertainty in Software Development: A Position Paper

Software Development is Social2

Conversation between developers on jazz.net about an enhancement ticket

Software Development is Social3

Conversation between developers on jazz.net about an enhancement ticket

Ideal conversation: Question, Debate, SolutionThe Managers PerspectiveGoals:Product qualitySpeedy delivery

So, conversations should:cover all issuesinclude all stakeholdersnot take longer than necessary

But that is not always the case4

Manager

Software Development is Social5

(The conversation has been abstracted and simplified for presentation purposes. The listing to the left is not intended to be legible.Software Development is Social6

Ali is leading the development of a component.(The conversation has been abstracted and simplified for presentation purposes. The listing to the left is not intended to be legible.

Software Development is Social7

He seeks input from stakeholders.`Color?

Orientation?

Software Development is Social8

Stakeholders start discussing.

?

?

Christine

Software Development is Social9

Stakeholders start discussing.

?

?

Bao

Software Development is Social10

Stakeholders start discussing.

?

?

Software Development is Social11

Ali thinks he has found the answers he needs

=

=

Bao agrees

Software Development is Social12

Ali marks the issue as resolved

=

=

Software Development is Social13

=

=

But Dimitra thinks that the issue is not settledSize??

Software Development is Social14

=

=

But nobody takes her objection into accountSize??

Guys?Conversations are MessyThe decision about orientation was not debated

The question about size was left unanswered

Stakeholder Dimitra was not consulted until late

Changing the status to resolved was premature

15

Manager

Proposed Solution16Mine conversationsGather AnalyticsGenerate Action Recommendations

Proposed Solution17Mine conversationsGather AnalyticsGenerate Action Recommendations

Generating RecommendationsUse metrics to support managers in facilitating conversations:

18

Intervene when questions are left unanswered for a long period of time

Alert when questions are prematurely marked as resolved

Report when a question has been discussed enough to be considered mature

If a question is re-opened, create a context reminder of previously examined alternativesProposed Solution19Mine conversationsGather AnalyticsGenerate Action Recommendations

Online vs Offline (post-hoc)

Main challenge: determining resolution of a point of uncertainty:Trusting status changes not necessarily a good ideaWho should be part of discussion?Peoples stance may not be obviousE.g. does elaboration imply endorsement?What does absence of comment (a persons default) mean?

For now: Compute metrics from the structure of the conversation20Gathering Analytics about Uncertainty

Dashboard Mock-ups21

Proposed Solution22Mine conversationsGather AnalyticsGenerate Action Recommendations

Mining the Conversations23

`

Identify unique Points of Uncertainty from question utterancesMining the Conversations24

Identify unique Points of Uncertainty from question utterances

Associate them with Proposed AlternativesMining the Conversations25

Identify unique Points of Uncertainty from question utterances

Associate them with Proposed Alternatives

Track the stakeholders arguments

Mining the ConversationsIdentify unique Points of Uncertainty from question utterances

Associate them with Proposed Alternatives

Track the stakeholders arguments

Recognize the Resolution of Uncertainty26

Construct a Model of the Conversation27

Twente Argumentation Schema (TAS)

Time: left-to-right, top-to-bottomConstructing the TAS Model28Automation Challenges

Identifying unique points of uncertainty among many utterances of questions

Identifying proposals when they are not stated explicitlye.g. cultural differences in assertiveness

Mapping utterances of proposals to points of uncertainty

Benefits

Associates points of uncertainty with proposed answers

Easy to compute structural metrics

Can be used to trace uncertainty to software artifacts

Summary

29

qualityspeedFuture WorkHow to best automate the creation of the TAS model?

How can we safely determine that a point of uncertainty has been resolved?

What are the most useful metrics, analytics and action recommendation for managers?

How to connect uncertainty in conversations with relevant organizational, social and software models?30Questions?

icons by:31