Difference between revisions of "Bug Resolution Case Study"

From Scube-casestudies
Jump to: navigation, search
Line 39: Line 39:
 
| Should have.
 
| Should have.
 
|}
 
|}
 +
  
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
Line 50: Line 51:
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Short Name  
 
! Short Name  
| Enable efficient issues resolution
+
| Enable efficient issue resolution
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Type  
 
! Type  
Line 56: Line 57:
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Description  
 
! Description  
| As much as possible relevant information should be provided in order to resolve an issue.
+
| As much as possible relevant information should be providedd in order to resolve an issue
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Rationale  
 
! Rationale  
Line 65: Line 66:
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Conflicts
 
! Conflicts
| None.
+
| None
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Priority of accomplishment  
 
! Priority of accomplishment  
 
| Must have.
 
| Must have.
 
|}
 
|}
 +
 +
 +
== Scenarios==
 +
The following figure shows the general use-case diagram for the Bug Resolution case study.
 +
 +
 +
[[File:ALERT.JPG]]
 +
  
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
|+ Table BG3. Business Goal BUG-BG3<br>
+
|+ Table S1: Scenario S1.1
 
|-
 
|-
 
! Field  
 
! Field  
Line 78: Line 87:
 
|- style="background:#f0f0f0; color:black"
 
|- style="background:#f0f0f0; color:black"
 
! UniqueID  
 
! UniqueID  
| BUG-BG3
+
| S1.1
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Short Name  
 
! Short Name  
| Reduce emails, increase relevance
+
| Detect possible duplicate issues at creation
 +
|- style="background:white; color:black"
 +
! Brief Description
 +
| The Customer (or developer) enters and describes an issue
 +
|- style="background:white; color:black"
 +
! Related To
 +
| BUG-BG1
 +
|- style="background:white; color:black"
 +
! Involved Actors
 +
| Customer
 +
|- style="background:white; color:black"
 +
! Detailed Operational Description
 +
|The customer enters an issue. If a potential duplicate is spotted, he is asked to check it. A gatekeeper is notified about the new issue.
 +
|- style="background:white; color:black"
 +
! Problems and Challenges
 +
| Notify the customer on time, so he/she can validate it's duplicate.
 +
Good quality detection.
 +
! Business Trigger
 +
| Customer encounters an issue and reports it.
 +
! Preconditions
 +
| An issue tracking system is installed and ALERT is configure to retrieve information from it.
 +
! Postconditions
 +
| If the customer validate the duplicate it is marked as a very probable duplicate, and a gatekeeper has been asked to merge it.
 +
If the customer didn't validate the duplicate it is marked as a potencial duplicate.
 +
|}
 +
 
 +
 
 +
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
 +
|+ Table S2: Scenario S1.2
 +
|-
 +
! Field
 +
! Description
 +
|- style="background:#f0f0f0; color:black"
 +
! UniqueID
 +
| S1.2
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Type
+
! Short Name
| Business Goals.
+
| Spot a duplicated issue for merging.
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Description  
+
! Brief Description  
| Developers get a lot of information by emails, and it begins difficult to select which one is relevant. ALERT should send only relevant information to developer. The notifications can be customized with custom rules, or be integrated in standard ALERT process.
+
| The Gatekeeper spots a duplicated issue and merge it.
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Rationale
+
! Related To
| Developers get too many emails and would save time and do not miss important information, if they get relevant notifications.
+
| BUG-BG1
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Involved Stakeholders
+
! Involved Actors
| Customer, Gatekeeper
+
| Gatekeeper, Developer, Customer
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Conflicts
+
! Detailed Operational Description
| Notifications need to be relevant.
+
|The gatekeeper is suggested potential duplicates in order to merge them or take an action on them.
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Priority of accomplishment
+
! Problems and Challenges
| Must have.
+
| Duplicates detection is very complex. If not efficient enough, it will be useless.
 +
! Business Trigger
 +
| A newly created issue was identified as possible duplicate.
 +
! Preconditions
 +
| ALERT is installed. A new issue has just been created, but not reviewed yet.
 +
! Postconditions
 +
| Suggestion is remembered as good by the system. The gatekeeper is ready to merge the issue.
 
|}
 
|}
 +
  
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
|+ Table BG4. Business Goal BUG-BG4<br>
+
|+ Table S3: Scenario S2.1
 
|-
 
|-
 
! Field  
 
! Field  
Line 109: Line 159:
 
|- style="background:#f0f0f0; color:black"
 
|- style="background:#f0f0f0; color:black"
 
! UniqueID  
 
! UniqueID  
| BUG-BG4
+
| S2.1
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Short Name  
 
! Short Name  
| Accelerate issue distribution
+
| Show issues relevant to my code
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Type
+
! Brief Description
| Business Goals.
+
| Present the developer all information relevant to his/her code.
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Description
+
! Related To
| A new issue has been entered in the system and a developer and/or leader should be informed about the issue as soon as possible.
+
| BUG-BG2
It includes the situation that the sequence of interactions with the different information sources should be considered as a whole.
 
It considers that the issue duplicates for this issue are resolved, i.e. this issue should not be considered as a duplicate issue.
 
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Rationale
+
! Involved Actors
| The information about a new issue should be spread over all relevant people (it might be only one) as soon as possible in order to create awareness about that issue, its consequences and urgency (for resolving).
+
| Developer
This approach decreases the information overloaded.
 
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Involved Stakeholders
+
! Detailed Operational Description
| Developer, Leader
+
|Developer wants to get all possible information which is relevant to his/her code. The developer searches through the relevant information space and can select part of the results to be visualized in a proper way.
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Conflicts
+
! Problems and Challenges
 +
| The code must be annotated properly.
 +
The extracted knowledge must be annotated properly.
 +
! Business Trigger
 
| None
 
| None
|- style="background:white; color:black"
+
| System installed. Knowledge is extracted from available information sources.
! Priority of accomplishment
+
! Postconditions
| Must have.
+
| The developer found all the issues related to the work he did in the past, or he is doing now (similar issues).
 
|}
 
|}
  
== Domain Analysis ==
 
  
=== Strategic Dependency Model and Context Diagram ===
+
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
 
+
|+ Table S4: Scenario S2.2
=== Domain Model===
+
|-
 
+
! Field
== Scenarios==
+
! Description
The scenarios
+
|- style="background:#f0f0f0; color:black"
 +
! UniqueID
 +
| S2.2
 +
|- style="background:white; color:black"
 +
! Short Name
 +
| Display extended issue view
 +
|- style="background:white; color:black"
 +
! Brief Description
 +
| Add more information about an issue on the BTS.
 +
|- style="background:white; color:black"
 +
! Related To
 +
| BUG-BG2
 +
|- style="background:white; color:black"
 +
! Involved Actors
 +
| Gatekeeper, Developer, Leader
 +
|- style="background:white; color:black"
 +
! Detailed Operational Description
 +
|The BTS shows standard information about an issue when looking at an issue, ALERT will enhance this view with additional information. The developer will know all the history of this issue, potential duplicates and useful information to solve this issue. The leader will be able to assign this issue from this view, and the gatekeeper will be able to get suggested potential duplicates.
 +
|- style="background:white; color:black"
 +
! Problems and Challenges
 +
| Have a smooth transition between ALERT UI and other UIs when taking an action (i.e. I want to merge two duplicates in the BTS, propose me a link going to the bug description page or, if possible, to the page to merge this bug).
 +
The additional information must be relevan enough, which involves an efficient filtering system.
 +
! Business Trigger
 +
| An actor (except customer) is viewing the issue.
 +
| ALERT installed. An issue is entered.
 +
! Postconditions
 +
| The developer has had all necessary information about the issue he is working on.
 +
Suggest assignees to the leader: Go to "Assign one issue" scenario.
 +
Suggest duplicates to the Gatekeeper: Go to S1.2
 +
|}
  
  
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
 
{| cellspacing="0" cellpadding="5" border="1" align="center" style="background:#cccc99;color:black;width:80%;"
|+ Table S1: Scenario ID
+
|+ Table S5: Scenario S2.3
 
|-
 
|-
 
! Field  
 
! Field  
Line 153: Line 231:
 
|- style="background:#f0f0f0; color:black"
 
|- style="background:#f0f0f0; color:black"
 
! UniqueID  
 
! UniqueID  
| ID
+
| S2.3
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Short Name  
 
! Short Name  
| <br>
+
| Search the knowledge base with a keyword or topic
 +
|- style="background:white; color:black"
 +
! Brief Description
 +
| Enable searching through the knowledge based using keywords.
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
 
! Related To  
 
! Related To  
| <br>
+
| BUG-BG2
|- style="background:white; color:black"
 
! Involved Actors
 
| <br>
 
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Detailed Operational Description
+
! Involved Actors
| <br>
+
| Gatekeeper, Developer, Leader
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Problems and Challenges
+
! Detailed Operational Description
|<br>
+
|Leader, developer, gatekeeper perform keyword-based search using a suitable interface. The returned list is sorted by the relevance and clustered based on predefined criteria and customer profile. In case of too lees or too many results, appropiate changes in the search criteria should be provided.
<br>
 
 
|- style="background:white; color:black"
 
|- style="background:white; color:black"
! Additional Material
+
! Problems and Challenges
| <br>
+
| The code and all other information sources must be annotated properly.
 +
The actors profile must be available.
 +
The developer did not define the key words for the issue precisely or did not access to other information sources, so the system does not have the input data.
 +
! Business Trigger
 +
| A new developer joined the organization and began working on one part of the code.
 +
! Preconditions
 +
| System installed. Knowledge is extracted from available information sources. Actor's profile available.
 +
The new developer has access to the ALERT system, authorized access to his/her profile and access to its basic options.
 +
! Postconditions
 +
| The actor found the information he/she was looking for (any kind of information) from subsystems (wiki, forum, BTS...).
 +
In case that the list of search results is empty: New result page is shown with the same result or more.
 +
In case that the list of search results is too long: New result page is shown with the same results or less.
 +
In the case that the actor is a new developer: The new developer is familiarized with the project and the code parts he/she is interested in.
 
|}
 
|}

Revision as of 11:04, 22 September 2011

Description

Case study Description

Business Goals and Domain Assumptions

Business Goals for the current case study.

Business Goals

Table BG1. Business Goal BUG-BG1
Field Description
UniqueID BUG-BG1
Short Name Enable efficient duplicates identification
Type Business Goals.
Description Help developers and gatekeepers to manage issues. Developers should not work on duplicates, but instead access all duplicates issue entries to get more description on the issue. Gatekeepers should be notified of possible duplicates. Customers should be notified when their entry is a possible duplicate.
Rationale Developers lose time with duplicates. Duplicate entries should instead help to get more complete information.
Involved Stakeholders Customer, Gatekeeper
Conflicts Poor detection could ruin the process.
Priority of accomplishment Should have.


Table BG2. Business Goal BUG-BG2
Field Description
UniqueID BUG-BG2
Short Name Enable efficient issue resolution
Type Business Goals.
Description As much as possible relevant information should be providedd in order to resolve an issue
Rationale The resolution of an issue requires an appropiate provision of relevant information, timely and content-based
Involved Stakeholders Developer, Leader, Gatekeeper
Conflicts None
Priority of accomplishment Must have.


Scenarios

The following figure shows the general use-case diagram for the Bug Resolution case study.


ALERT.JPG


Table S1: Scenario S1.1
Field Description
UniqueID S1.1
Short Name Detect possible duplicate issues at creation
Brief Description The Customer (or developer) enters and describes an issue
Related To BUG-BG1
Involved Actors Customer
Detailed Operational Description The customer enters an issue. If a potential duplicate is spotted, he is asked to check it. A gatekeeper is notified about the new issue.
Problems and Challenges Notify the customer on time, so he/she can validate it's duplicate.

Good quality detection.

Business Trigger Customer encounters an issue and reports it. Preconditions An issue tracking system is installed and ALERT is configure to retrieve information from it. Postconditions If the customer validate the duplicate it is marked as a very probable duplicate, and a gatekeeper has been asked to merge it.

If the customer didn't validate the duplicate it is marked as a potencial duplicate.


Table S2: Scenario S1.2
Field Description
UniqueID S1.2
Short Name Spot a duplicated issue for merging.
Brief Description The Gatekeeper spots a duplicated issue and merge it.
Related To BUG-BG1
Involved Actors Gatekeeper, Developer, Customer
Detailed Operational Description The gatekeeper is suggested potential duplicates in order to merge them or take an action on them.
Problems and Challenges Duplicates detection is very complex. If not efficient enough, it will be useless. Business Trigger A newly created issue was identified as possible duplicate. Preconditions ALERT is installed. A new issue has just been created, but not reviewed yet. Postconditions Suggestion is remembered as good by the system. The gatekeeper is ready to merge the issue.


Table S3: Scenario S2.1
Field Description
UniqueID S2.1
Short Name Show issues relevant to my code
Brief Description Present the developer all information relevant to his/her code.
Related To BUG-BG2
Involved Actors Developer
Detailed Operational Description Developer wants to get all possible information which is relevant to his/her code. The developer searches through the relevant information space and can select part of the results to be visualized in a proper way.
Problems and Challenges The code must be annotated properly.

The extracted knowledge must be annotated properly.

Business Trigger None System installed. Knowledge is extracted from available information sources. Postconditions The developer found all the issues related to the work he did in the past, or he is doing now (similar issues).


Table S4: Scenario S2.2
Field Description
UniqueID S2.2
Short Name Display extended issue view
Brief Description Add more information about an issue on the BTS.
Related To BUG-BG2
Involved Actors Gatekeeper, Developer, Leader
Detailed Operational Description The BTS shows standard information about an issue when looking at an issue, ALERT will enhance this view with additional information. The developer will know all the history of this issue, potential duplicates and useful information to solve this issue. The leader will be able to assign this issue from this view, and the gatekeeper will be able to get suggested potential duplicates.
Problems and Challenges Have a smooth transition between ALERT UI and other UIs when taking an action (i.e. I want to merge two duplicates in the BTS, propose me a link going to the bug description page or, if possible, to the page to merge this bug).

The additional information must be relevan enough, which involves an efficient filtering system.

Business Trigger An actor (except customer) is viewing the issue. ALERT installed. An issue is entered. Postconditions The developer has had all necessary information about the issue he is working on.

Suggest assignees to the leader: Go to "Assign one issue" scenario. Suggest duplicates to the Gatekeeper: Go to S1.2


Table S5: Scenario S2.3
Field Description
UniqueID S2.3
Short Name Search the knowledge base with a keyword or topic
Brief Description Enable searching through the knowledge based using keywords.
Related To BUG-BG2
Involved Actors Gatekeeper, Developer, Leader
Detailed Operational Description Leader, developer, gatekeeper perform keyword-based search using a suitable interface. The returned list is sorted by the relevance and clustered based on predefined criteria and customer profile. In case of too lees or too many results, appropiate changes in the search criteria should be provided.
Problems and Challenges The code and all other information sources must be annotated properly.

The actors profile must be available. The developer did not define the key words for the issue precisely or did not access to other information sources, so the system does not have the input data.

Business Trigger A new developer joined the organization and began working on one part of the code. Preconditions System installed. Knowledge is extracted from available information sources. Actor's profile available.

The new developer has access to the ALERT system, authorized access to his/her profile and access to its basic options.

Postconditions The actor found the information he/she was looking for (any kind of information) from subsystems (wiki, forum, BTS...).

In case that the list of search results is empty: New result page is shown with the same result or more. In case that the list of search results is too long: New result page is shown with the same results or less. In the case that the actor is a new developer: The new developer is familiarized with the project and the code parts he/she is interested in.