Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "Requirements Tracking"

From EGIWiki
Jump to navigation Jump to search
 
(93 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{TOC_right}}
{{TOC_right}}
[[Category:Community Engagement ]]


 
<!--
= Actions from 2010-12-15 Meeting NA3-SA1-SA2-JRA1=
= Actions from 2010-12-15 Meeting NA3-SA1-SA2-JRA1=


Line 24: Line 25:
*Add “release” tickets to the features queues. Link features tickets to release tickets.  
*Add “release” tickets to the features queues. Link features tickets to release tickets.  
*Release tickets should have Release date instead of Time Estimated (Can the “Reminder” feature be used for this?)
*Release tickets should have Release date instead of Time Estimated (Can the “Reminder” feature be used for this?)
-->


= About this page =
= About this page =


<!--
<span style="color:red">'''This page is only a draft.'''</span>
<span style="color:red">'''This page is only a draft.'''</span>
-->


This page provides technical details about the Requirement Tracker tool (RT), used by the EGI collaboration to store, monitor and resolve requirements and recommendations communcated by user communities and NGIs to EGI. The page provides manuals and background information to those who wish to  
This page provides technical details about the Requirement Tracker tool (RT), used by the [http://www.egi.eu European Grid Infrastructure] collaboration to store, monitor and resolve requirements and recommendations communicated by user communities and EGI stakeholders. The page provides manuals and background information to those who wish to:
# Submit requirements and recommendations to EGI
# Submit requirements and recommendations to EGI
# Browse requirements and monitor progress
# Browse requirements and monitor progress
# Expand or comment requirements
# Expand or comment requirements
# Provide complete or partial solution to requirements
# Offer complete or partial solution to requirements


= Introduction =
= Introduction =


The evolution of the European Grid Infrastructure is driven by the users. Therefore capturing and communicating feedback from users to the infrastructure as well as technology operators and providers is a key goal for User Community Support (NA3 activity of EGI-InSPIRE) and for the project as a whole. The EGI-InSPIRE project has established and runs a [[Requirements_gathering_details#The_requirement_gathering_and_processing_workflow_-_What_happens_with_requirements.3F|well-defined process]] to collect, capture, process, and resolve user requirements and recommendations. Requirements and recommendations are collected from users through various electronic channels and face-to-face communication mechanisms.  
The evolution of the European Grid Infrastructure is driven by the users. Therefore capturing and communicating feedback from users to the infrastructure, as well as to technology operators and providers, is a key goal for the EGI community. The EGI-InSPIRE project has established and runs a [[Requirements_gathering_details#The_requirement_gathering_and_processing_workflow_-_What_happens_with_requirements.3F|well-defined process]] to collect, capture, process, and resolve user requirements and recommendations. Requirements and recommendations are collected from users through various [[Requirements_gathering_details#Requirement_channels_-_How_to_communicate_requirements_to_EGI.3F|electronic channels]] and face-to-face communication mechanisms.  
A queue called "Requirements" hase been setup in the [https://rt.egi.eu/rt/index.html EGI RT (Request Tracker) system] to store requirement tickets, to monitor user demands and to resolve problems. '''This page uses the "Requirement Tracker" name and the "RT" acronym to refer to the "Requirements" queue of the EGI Request Tracker system.'''  
A queue called "Requirements" has been setup in the [https://rt.egi.eu/rt/index.html EGI RT (Request Tracker) system] to store requirement tickets, to monitor user demands and to resolve problems.  
'''Throughout this page the term "Requirement Tracker" and the acronym "RT" refer to the "Requirements" queue of the EGI Request Tracker system.'''  


Additional background information on requirement gathering and processing in EGI can be found on [[Requirements_gathering_details|this page]] and in this [https://documents.egi.eu/document/211 Milestone Document].
The high level description of the requirement gathering and processing workflow of EGI can be found on [[Requirements_gathering_details|this page]] and in this [https://documents.egi.eu/document/211 EGI-InSPIRE project Milestone Document].


= Submitting a new requirement (ticket) to EGI =
= Submitting a new requirement (ticket) to EGI =


This manual describes how can '''any person with an EGI SSO account''' submit a requirement to EGI through the RT system: [[New_Requirement_Manual|How to submit a new requirement]].
Anyone can submit requirements to EGI through the RT system, as long as they have an [https://www.egi.eu/sso/ EGI SSO account]. After [https://rt.egi.eu/rt/index.html login in] into the RT system, the user must choose the "Requirements" queue, the place where all requests are stored and analyzed. The ticket requestor needs to specify both mandatory and optional fields, while providing a detailed description of the requirement. If this step is properly done, the requirement is tagged in such a way that the solution providers can be called to take an action upon the ticket in an easy and timely manner. A detailed description on how to submit a requirement can be found [[New_Requirement_Manual|here]].
 
<!--
Requirements are stored as tickets within the RT system. Such a ticket includes the following information (See also figure below):
# Subject (<span style="color:red">'''Mandatory'''</span>): A short, but informative and, if possible, a unique name to describe the requirement.
# Category (<span style="color:red">'''Level 1 is Mandatory'''</span>): Defines the particular software, human or other entity of the EGI collaboration that need to be changed as requested in the ticket.
# Requestor (<span style="color:red">'''Level 1 is Mandatory'''</span>): Defines the entity (VRC, VO, NGI, etc.) that communicated the requirement to EGI. (This is not necessarily the same who will use the required new feature.)
# Tags: associate words to requirements in order to simplify the lookup and grouping of requirements.(<span style="color:green">'''Optional'''</span>)
# Impact (<span style="color:red">'''Mandatory'''</span>): choose the impact of your requirement
# Description (<span style="color:red">'''Mandatory'''</span>): Description of the requirement. This part evolves and expands over time as the requestor and solution provider(s) investigate and identify particular needs.


Requirements are stored as tickets within the RT system. Such a ticket stores the following information (See also figure below):
# Subject: A short, but informative and, if possible, a unique name to describe the requirement.
# Category: Defines the particular software, human or other entity of the EGI collaboration that need to be changed as requested in the ticket.
# Requestor: Defines the entity (VRC, VO, NGI, etc.) that communicated the requirement to EGI. (This is not necessarily the same who will use the required new feature.)
# Tags: associate words to requirements in order to simplify the lookup and grouping of requirements.
# Description: Description of the requirement. This part expands over time as the result of discussion between the requestor and solution provider(s).


[[File:Createnewticket.PNG|frameless|800px]]
[[File:New_req_colored.png|frameless|800px]]
-->


= Browsing, monitoring requirements - Dashboards =
= Browsing, monitoring requirements - Dashboards =


Pre-defined queries, "Dashboards" are available for the RT system to browse requirement tickets and to monitor progress of solving them.  
Pre-defined queries, "Dashboards", are available for the RT system to browse requirement tickets and to monitor progress while solving them.  
'''All the dashboards are public and tickets are publicly visible through these Dashboards.'''
'''All the dashboards are public''' and thus associated tickets are also publicly visible as well. The RT system can host any number and type of Dashboards. '''Should your community requires a customized view to the requirements, please request the setup of a new Dashboard by sending an e-mail to the [mailto:ucst@egi.eu User Community Support Team].''' A complete list of Dashboards on the EGI RT system can be found [https://rt.egi.eu/rt/Dashboards/index.html here.] A brief description of the currently available Dashboards is presented in the next document sub-sections.
 
The RT system can host any number and type of Dashboards. '''Should your community require custom view to the requirements, please request the setup of a new Dashboard by sending an email to the User Community Support Team (ucst@egi.eu).'''
 
A complete list of Dashboards of the RT system: [https://rt.egi.eu/rt/Dashboards/index.html All Dashboards]




Line 68: Line 74:
{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|All
|[https://rt.egi.eu/guest/Dashboards/704/All All]
|[https://rt.egi.eu/rt/Dashboards/704/All All]
|This dashboard lists all the requirements that EGI is aware of and stores in the RT system
|This dashboard lists all the requirements that EGI is aware of
|-
|-
|}
|}


== Filtering requirements by the submitter ==
== Filtering requirements by the submitter ==


'''These Dashboards filter tickets by Submitter, i.e. by the potential VRC, NGI or other entity who submitted requirements.'''
These Dashboards filter tickets by "Submitter", i.e. by the potential VRC, NGI or other entity who submitted requirements.


<!--
<!--
Line 132: Line 135:




=== Dashboards for science disciplines and more ===
=== Dashboards for scientific communities ===


Scientific communities can use a customized RT Dashboard, where all tickets raised by that community are listed in an easy and friendly way. We envisage that that these Dashboards could be "advertised" inside the respective gateway/webpage, thus making a strong link between user feature requests and EGI.


{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|WeNMR
|[https://rt.egi.eu/guest/Dashboards/1093/Astronomy&Astrophysics  Astronomy & Astrophysics]
|[https://rt.egi.eu/rt/Dashboards/1054/WeNMR WeNMR]
|Requirements from the WeNMR community: WeNMR (potential VRC) and enmr.eu (VO)
|-
|Life Sciences Grid Community
|[https://rt.egi.eu/rt/Dashboards/1084/LifeSciencesGridCommunity Life Sciences Grid Community]
|Requirements from the Life Sciences Grid Community: Life Sciences Grid Community (potential VRC), biomed (VO), lsgrid (VO) and vlemed (VO)
|-
|WLCG
|[https://rt.egi.eu/rt/Dashboards/1092/WLCG WLCG]
|WLCG (potential VRC) requirements listing
|-
|Astronomy & Astrophysics
|[https://rt.egi.eu/rt/Dashboards/1093/Astronomy&Astrophysics  Astronomy & Astrophysics]
|Astronomy & Astrophysics (potential VRC) requirements listing
|Astronomy & Astrophysics (potential VRC) requirements listing
|-
|-
|Computational Chemistry
|[https://rt.egi.eu/guest/Dashboards/1094/ComputationalChemistry Computational Chemistry]
|[https://rt.egi.eu/rt/Dashboards/1094/ComputationalChemistry Computational Chemistry]
|Computational Chemistry (potential VRC) requirements listing
|Computational Chemistry (potential VRC) requirements listing
|-
|-
|Earth Sciences
|[https://rt.egi.eu/guest/Dashboards/1095/EarthSciences Earth Sciences]
|[https://rt.egi.eu/rt/Dashboards/1095/EarthSciences Earth Sciences]
|Earth Sciences (potential VRC) requirements listing
|Earth Sciences (potential VRC) requirements listing
|-
|-
|eHumanities
|[https://rt.egi.eu/guest/Dashboards/1096/eHumanities eHumanities]
|[https://rt.egi.eu/rt/Dashboards/1096/eHumanities eHumanities]
|eHumanities (potential VRC)requirements listing
|eHumanities (potential VRC)requirements listing
|-
|-
|Hydro-meteorology
|[https://rt.egi.eu/guest/Dashboards/1097/Hydro-meteorology Hydro-meteorology]
|[https://rt.egi.eu/rt/Dashboards/1097/Hydro-meteorology Hydro-meteorology]
|Hydro-meteorology (potential VRC) requirements listing
|Hydro-meteorology (potential VRC) requirements listing
|-
|[https://rt.egi.eu/guest/Dashboards/1084/LifeSciencesGridCommunity Life Sciences Grid Community]
|Requirements from the Life Sciences Grid Community: Life Sciences Grid Community (established VRC), biomed (VO), lsgrid (VO) and vlemed (VO)
|-
|[https://rt.egi.eu/guest/Dashboards/1054/WeNMR WeNMR]
|Requirements from the WeNMR community: WeNMR (established VRC) and enmr.eu (VO)
|-
|[https://rt.egi.eu/guest/Dashboards/1092/WLCG WLCG]
|WLCG (potential VRC) requirements listing
|-
|-
|}
|}
Line 176: Line 171:
=== Dashboards by Requirements Status ===
=== Dashboards by Requirements Status ===


The EGI RT "Requirements" queue has six configured ticket status. These status are used in the workflow while processing all requirements arriving to this queue. The respective Dashboards are listed below, as well as a catch-all status.


{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|AllStatus
|[https://rt.egi.eu/guest/Dashboards/1184/AllStatus AllStatus]
|[https://rt.egi.eu/rt/Dashboards/1184/AllStatus AllStatus]
|AllStatus tickets ordered by Status
|AllStatus tickets ordered by Status
|-
|-
|New
|[https://rt.egi.eu/guest/Dashboards/1185/New New]
|[https://rt.egi.eu/rt/Dashboards/1185/New New]
|New Tickets
|New Tickets
|-
|-
|Open
|[https://rt.egi.eu/guest/Dashboards/1186/Open Open]
|[https://rt.egi.eu/rt/Dashboards/1186/Open Open]
|Open Tickets
|Open Tickets
|-
|-
|Accepted
|[https://rt.egi.eu/guest/Dashboards/1187/Accepted Accepted]
|[https://rt.egi.eu/rt/Dashboards/1187/Accepted Accepted]
|Accepted Tickets
|Accepted Tickets
|-
|-
|Rejected
|[https://rt.egi.eu/guest/Dashboards/1190/Rejected Rejected]
|[https://rt.egi.eu/rt/Dashboards/1190/Rejected Rejected]
|Rejected Tickets
|Rejected Tickets
|-
|-
|Stalled
|[https://rt.egi.eu/guest/Dashboards/1188/Stalled Stalled]
|[https://rt.egi.eu/rt/Dashboards/1188/Stalled Stalled]
|Stalled Tickets
|Stalled Tickets
|-
|-
|Resolved
|[https://rt.egi.eu/guest/Dashboards/1189/Resolved Resolved]
|[https://rt.egi.eu/rt/Dashboards/1189/Resolved Resolved]
|Resolved Tickets
|Resolved Tickets
|-
|-
|}
|}


=== Dashboard for Heavy User Communities (HUCs) ===
=== Dashboard for Heavy User Communities ===
This Dashboard lists tickets that were submitted by HUCs. HUCs are User communities that are advanced and experienced in terms of grid usage, operate (at least to some extent) support services for their own members and therefore are less dependent on EGI user support services.  
This Dashboard lists tickets that were submitted by the Heavy User Communities (HUCs). HUCs are User communities that are advanced and experienced in terms of grid usage, operate (at least to some extent) support services for their own members and therefore are less dependent on EGI user support services.  


{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|HUCs
|[https://rt.egi.eu/guest/Dashboards/1048/HUCs HUCs]
|[https://rt.egi.eu/rt/Dashboards/1048/HUCs HUCs]
|Heavy User Communities requirements listing
|HUCs (Heavy User Communities) requirements listing
|-
|-
|}
|}


=== Dashboard for National Grid Infrastructures (NGIs) ===
=== Dashboard for National Grid Infrastructures ===
This Dashboard lists tickets that were submitted by NGIs. NGIs are National Grid Infrastructures/Initiatives those provide the resources within EGI.
This Dashboard lists tickets that were submitted by National Grid Infrastructures/Initiatives (NGIs). These entities provide the resources within EGI.


{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|NGIs
|[https://rt.egi.eu/guest/Dashboards/1047/NGIs NGIs]
|[https://rt.egi.eu/rt/Dashboards/1047/NGIs NGIs]
|National Grid Infrastructures requirements listing
|NGIs (National Grid Infrastructures) requirements listing
|-
|-
|}
|}


=== Virtual Organisations (VOs) ===
=== Virtual Organisations ===
This Dashboard lists tickets that were submitted by VOs. A VO is a group of people with similar interests and requirements, who have physical access to the European Grid Infrastructure thus are able to work collaboratively with other members and/or can share resources regardless of geographical location. A VO can be associated to a VRC, or can exist independently from VRCs.
This Dashboard lists tickets that were submitted by Virtual Organizations (VOs). A VO is a group of people with similar interests and requirements, who have physical access to the European Grid Infrastructure thus are able to work collaboratively with other members and/or can share resources regardless of geographical location. A VO can be associated to a VRC, or can exist independently from VRCs.


{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|VOs
|[https://rt.egi.eu/guest/Dashboards/1044/VOs VOs]
|[https://rt.egi.eu/rt/Dashboards/1044/VOs VOs]
|VOs (Virtual Organisations) requirements listing
|VOs (Virtual Organisations) requirements listing
|-
|-
Line 259: Line 241:
{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|Projects
|[https://rt.egi.eu/guest/Dashboards/1042/Projects Projects]
|[https://rt.egi.eu/rt/Dashboards/1042/Projects Projects]
|Projects requirements listing
|Projects requirements listing
|-
|-
Line 274: Line 254:
{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! Dashboard Name
! Dashboard Name
! Link
! Description
! Description
|-
|-
|Operational Tools
|[https://rt.egi.eu/guest/Dashboards/1034/NA3 NA3]
|[https://rt.egi.eu/rt/Dashboards/1039/Operational%20Tools Operational Tools]
|Requirements for software tools that are developed and/or provided by the NA3 work package of EGI-InSPIRE
|-
|[https://rt.egi.eu/guest/Dashboards/1039/Operational%20Tools Operational Tools]
|Requirements for Grid Operational Tools that are developed by the JRA1 work package of EGI-InSPIRE
|Requirements for Grid Operational Tools that are developed by the JRA1 work package of EGI-InSPIRE
|-
|-
|UMD
|[https://rt.egi.eu/guest/Dashboards/1036/UMD UMD]
|[https://rt.egi.eu/rt/Dashboards/1036/UMD UMD]
|Requirements for Unified Middleware Distribution (UMD)
|Requirements for Unified Middleware Distribution (UMD)
|-
|NA3
|[https://rt.egi.eu/rt/Dashboards/1034/NA3 NA3]
|Requirements for software tools that are developed and/or provided by the NA3 work package of EGI-InSPIRE
|-
|-
|}
|}
Line 495: Line 471:
= Expanding and commenting requirements =
= Expanding and commenting requirements =


While the Subject, Requestor, Category, Tags and Description part of a requirement ticket ''cannot be changed'', the submitter, solution provider(s) or any third party '''can add comments to tickets''' and '''can reply to a ticket'''. Comments and replies are recorded in ticket history and '''both comments and replies are publicly visible'''. Comments are sent by RT in email to the requestor (the person who opened the requirement ticket), while comments are not. Comments and replies must be used to attach details or background information to a requirement ticket, to discuss the reported demand or to discuss possible solutions. Any user with an EGI SSO account can attach comments to requirement tickets as it is described in this manual: [[Commenting_requirements|Adding a comment to a requirement]]<span style="color:orange">Write this page. Insert a screenshot into it</span>
While the "Subject", "Requestor", "Category", "Tags" and "Description" fields of a requirement ticket ''cannot be changed'', the submitter, the solution provider(s) or any third party, can '''attach comments and replies to tickets'''. Comments and replies are recorded in ticket history and both are '''publicly visible'''. Comments are also sent by the RT system in e-mail to the requestor (the person who submitted the requirement ticket), while comments are not sent in e-mail. Comments and replies must be used to attach details and background information to a requirement ticket, to discuss the reported demand and possible solutions. Any user with an EGI SSO account can attach comments to requirement tickets. This process is described below.
 
'''1) Open the ticket you want to comment/reply.'''
 
In order to comment/reply to a ticket, the user should search for the specific ticket in the RT system either through the unique ticket identifier or using keywords. After opening the relevant ticket, the user should click the proper button which triggers the comment/reply (see red box in the figure below).
 
[[File:Reply_ticket.PNG|frameless|800px]]
 
'''Notes:'''
''Reply'' - your reply will be annexed to the ticket and an e-mail notification will be sent to both the "Requestor(s)" and "Owner".
 
''Comment'' - your comment will be annexed to the ticket and no notifications will be sent to "Requestor(s)" or "Owner"; it is considered to be an internal comment.
 
 
'''2) Provide feedback to be annexed into the ticket.'''
 
After the previous step, a new window will be presented to the user. You should reply/comment using the EGI RT in-build text editor.  Once your feedback was typed, do not forget to hit the "Update Ticket" button. The figure below shows the reply window to a ticket, highlighting in red boxes the relevant ticket fields to this step.
 
[[File:Reply_ticket_form.PNG|frameless|800px]]
 
'''Note:'''
 
If we had chosen the "Comment" option instead of "Reply", we would see in the field "Update Type:" the value "Comments (Not sent to requestors)".


= Providing solution to a requirement =
= Providing solution to a requirement =


Comment: (in terms of requirements solving market there is a suggestion to make access right to take the ticket (become Owner of the ticket) for All SSO accounts. The Owner could indicate that ticket/requirement was taken and is in the solving process after the solution will be provided by the Owner.)
The workflow below described was defined taking into consideration the following goals:
* assure that simple requirements are resolved quickly
* complex requirements are expanded and broken into smaller resolvable units, quickly and efficiently
* be fair to technology providers: any potential technology or solution provider can see and offer solution to any requirement
* be transparent: EGI stakeholders can see the evolution or requirements
* identify potential solution providers without causing too much noise (spam) within the community


EGI requirements are resolved according to the following high level workflow:
With these goals present, EGI requirements are resolved accordingly to the following high level workflow:


# Consistency check
# Consistency check
Line 519: Line 523:
| 1.
| 1.
| Consistency check
| Consistency check
| Delegate from User Community Support Team
| UCST
| Actions performed in this step:
| Actions performed in this step:
# Check that the ticket describes a requirement and not a bug. Bugs must be redirected to GGUS. (Manually until RT and GGUS become connected.)
#Check that the ticket describes a requirement and not a bug. Bugs must be redirected to GGUS. (Manually until RT and GGUS become connected.)  
# The "Subject", "Requestor", "Category" and "Description" fields must be filled out.
#The "Subject", "Requestor", "Category", "Impact" and "Description" fields must be filled.  
# Tags must be attached if possible.  
#The Subject must be consistent with the Description.  
# The Subject must be consistent with the Description.  
#Category must be consistent with the Description.  
# Category must be consistent with the Description.  
#Description must be sufficiently detailed: it should include information about the use case that drives the need and a description of the requirement itself
# Description must be detailed enough: it should include information about the use case that motivates the feature and a description of the requirement.
#Set "Priority" for the ticket based on the “Impact” provided by the requestor.
# Set the proper "Priority" value of the ticket based on the priority provided by the requestor in the textfield.
# Check that the ticket describe a requirement, or a bug? Redirect bugs to GGUS.


Change values of fields if necessary. Contact submitter if necessary.
Change values of fields if necessary. Contact submitter if necessary. The ticket status can be either New or Open.
|-
|-
| 2.
| 2.
| Formally accept the ticket
| Formally accept the ticket
| User Community Support Team
| UCST
| Formal acceptance of the ticket means:
| Formal acceptance of the ticket means to allocate an owner to the ticket. '''The owner is responsible for solving the ticket but not necessarily be the solution provider. Owner is chosen based on the content of the "Category (level 1)" field of the ticket:'''
# Allocate an owner to the ticket. The owner is responsible for solving the ticket and not necessarily the solution provider. Owner is chosen based on the content of the "Category (level1)" field of the ticket:
*Support Service --> User Community Support Team  
## Support Service --> User Community Support Team
*Support Action --> User Community Support Team  
## Support Action --> User Community Support Team
*Unified Middleware Distribution (UMD) --> User Community Support Team  
## Unified Middleware Distribution (UMD) --> User Community Support Team
*Operational Tools --> Daniele Cesini (JRA1 leader)  
## Operational Tools --> Daniele Cesini (JRA1 leader)
*User Tools and Applications --> User Community Support Team
## User Tools and Applications --> User Community Support Team
 
# Set the status of the ticket from NEW to OPEN
The ticket status can be either New or Open.
|-
|-
| 3.
| 3.
Line 548: Line 550:
| Ticket owner
| Ticket owner
| Evaluation at this stage means:
| Evaluation at this stage means:
# Description must be detailed enough for owner to find and propose solutions and/or solution providers. Contact requestor if additional information is necessary.  
#Description must be detailed enough for owner to find and propose solutions and/or solution providers. Contact requestor if additional information is necessary.  
# Status must be set to Accepted, Stalled or Rejected:
#Status must be set to Accepted, Stalled or Rejected:  
## '''Accepted''' if the request is found valid. Ticket owner accepts to provide solution directly/indirectly.
#*'''Accepted''' if the request is found valid. Ticket owner accepts to provide solution directly/indirectly.  
## '''Rejected''' if the description is found vague, incorrect or incomplete by the owner and requetor refuses to correct it.  
#*'''Rejected''' if the description is found vague, incorrect or incomplete by the owner and requetor refuses to correct it.  
## '''Stalled''' if the ...
#*'''Stalled''' if any external problem blocks the solution of ticket
 
|-
|-
| 4.
| 4./5.
| Provide solution from the EGI-InSPIRE project
| Provide solution from the EGI-InSPIRE project or Involve external solution providers
| Ticket owner
|
|-
| 5.
| Involve external solution providers
| Ticket owner
| Ticket owner
|  
|  
#Investigate and contact project partner / NGIs that could potentially provide a solution (e.g.:)
#* Use EGEE/EGI events to find experts
#* Survey NGIs
#Provide solution / investigation output into ticket
#Use the UCB to resolve outstanding tickets
<!--
OR
#Investigate and contact projects that could potentially provide solution
#Use the UCB to resolve outstanding tickets
-->
|-
|-
| 6.
| 6.
Line 568: Line 578:
| Ticket owner
| Ticket owner
|  
|  
#Set status to Resolved
#Solving a ticket generates an e-mail to requestor
|-
|-
| 7.
| 7.
| Validate the solution - IS THIS POSSIBLE?
| Validate the solution
| Requestor
| Requestor
|  
|  
#Evaluation should happen in a separate process
#*User satisfaction form
|-
|-
|}
|}


= TECHNICAL DETAILS OF TICKET MANAGEMENT =
= Technical details on ticket management =
 
== Status definitions ==
 
 
 
'''Requirements queue status values definitions:'''
 
*'''New'''      = just arrived, no action taken yet (ticket must be Opened)
*'''Open'''      = to be discussed (Ticket is allocated to a person/group. This person/group should attach a deadline to the ticket - e.g. when it will be discussed)
*'''Stalled'''  = discussion/implementation is on hold for some reason
*'''Resolved'''  = solved (validation may or may not have happened. There will be no "validated" status at the moment. If we need, we can add it later)
*'''Rejected'''  = EGI discussed then rejected the request (reason of rejection must be attached to the ticket)
*'''Accepted'''  = to be implemented (Requested feature/action will be implemented. The owner of the ticket is responsible for the implementation)
 
 
'''ops-tools-roadmap and user-tools-roadmap queues status values definitions:'''
 
*'''New'''      = Feature that is not necessarily linked to any requirement yet. Feature that is not necessarily allocated to any release yet. (This status can be used for features that need to be discussed, finalised to meet a requirement/request)
*'''Open'''      = Feature to be included in the next release (the feature is currently under development). The ticket must depend on at least one requirements ticket from the requirements queue
*'''Stalled'''  = Feature to be included in some future release (not in the next release). The ticket must depend on at least one requirements ticket from the requirements queue
*'''Developed''' = The feature has been developed (responsibilities have to be defined to validate) <span style="color:red">'''is it pre-release or production release ?'''</span>
*'''Resolved'''  = Implemented (developed feature was validated and can be understood as solved issue)
*'''Rejected'''  = EGI discussed then rejected the feature (because no related user requirement exists)
 
 
 
==== Status life cycle ====
[[File:RT_status_values.png|frameless|800px]]
 
=== Priority & Impact ===
 
 
*Impact of Requirement
The requestor/proposer of a new Requirement needs to assess the likely impact that the modification will have to users both within the immediate user community and EGI community at large.  In turn, this will enable the work to satisfy the new Requirement to be correctly prioritised.  The majority of new Requirements should normally be considered to be “Important with a significant benefit to this user community”.
*Impact categories:
**4.  -  Essential to the effectiveness of this user community/the wider user community
**3.  -  Important with a measurable benefit to this user community
**2.  -  Useful – will be of some benefit to this user community
**1.  -  Nice to have - slight improvement
**0.  -  Don’t know
 
*Priority
The EGI.eu User Community Support Team will consider the new Requirement and prioritise any work effort as necessary in relation to other proposals.
 
== Authorization ==
 
[https://www.humyo.com/FRnSjhN/04-Project%20Activity/WP3/RT/RT%20Summary%20(UCST)_current_config.pdf?a=etiEadegSAQ Requirements queue access rights]
 
== New Requirement ==
 
==== RT Web ====
 
Please refer to the [[New Requirement Manual]].
 
==== e-mail ====
 
==== Web Form ====
 
== Requirement dependencies ==
 
Ticket in the Requirements queue can have the dependencies or be depended on by another ticket.
 
RT WEB UI Links section must be used for that.
 
i.e. for the existing ticket #111 which is Requirement we put the dependency for another ticket #222 which is Feature request in the user-tools-roadmap queue. The ticket #111 cant be Resolved untill ticket #222 will be Resolved or Rejected or Deleted.
 
All Tickets in Requirements queue RT at a Glance interface will have additional mark "(pending 1 other ticket)" if they have at least one dependency which is not Resolved or Rejected or Deleted.
 
== Ticket Watchers ==
 
*Watchers - [http://requesttracker.wikia.com/wiki/Watcher Wathers ref]
 
Watcher is superset term for Requestors, Ccs and AdminCcs.
 
More details:
 
Watcher is a user who gets a copy of correspondence on the ticket.
 
Watcher (type CC) gets the same things as a Requestor.
 
Watcher (type AdminCC) gets the same things as CC + comments those are not sent to requestors.
 
Only Admins of the Queue can set up and remove the Watchers.
 
== Ticket AdminCC & CC ==
 
*AdminCC & CC - [http://requesttracker.wikia.com/wiki/AdminCC AdminCC ref]
 
An *AdminCC* is like a joint Owner of a Ticket. A ticket's AdminCCs are Users, typically Staff, who receive both Comments and Correspondence. A CC, who might be outside the company, only gets Correspondence.
 
This role could be used for a manager who is not directly responsible for a Ticket but wants to follow its progress and be able to comment on it or Reply to the Requestor.
 
A ticket's AdminCCs will have Rights to the ticket by virtue of being AdminCCs.
 
== Firefox & ticket search ==
 
Create New Bookmark using these instructions:
 
1) go to firefox menu bar "Bookmarks"
 
2) choose "organize bookmarks"
 
3) choose "bookmarks menu"
 
4) right click on "bookmarks menu" -> "New Folder..." and fill the details below:
 
 
Location: <nowiki>https://rt.egi.eu/rt/Search/Results.html?Query=Queue %3D 'requirements' AND (  Subject LIKE '%s' OR Content LIKE '%s' )</nowiki>
 
Keyword: rt
 
Now you can search rt by typing 'rt [some search terms]' in the address bar of firefox.
 
 
*list all ticket those have custom tags:<nowiki>https://rt.egi.eu/rt/Search/Results.html?Query=Queue %3D 'requirements' AND 'CF.{Custom Tag}' is not NULL</nowiki>
 
== RT RSS Feed ==
 
For Firefox use "Live Bookmark"
 
== Subscriptions ==
 
== Reports ==
 
== Useful Links about RT ==
 


*[http://www.bestpractical.com/rt/ RT Homepage]
For further information about technical details on how ticket management inside EGI RT is done, report to the following [[RT_Technical_Details| wiki link]] under construction.
*[http://requesttracker.wikia.com/wiki/HomePage RT Wiki]
*[http://requesttracker.wikia.com/wiki/ManualIntroduction RT Introduction]
*[http://requesttracker.wikia.com/wiki/ManualUsingWebInterface RT Web Interface User Manual]
*[http://intevation.net/webrt/rt_users_guide.html RT Users guide]

Latest revision as of 17:23, 17 January 2014


About this page

This page provides technical details about the Requirement Tracker tool (RT), used by the European Grid Infrastructure collaboration to store, monitor and resolve requirements and recommendations communicated by user communities and EGI stakeholders. The page provides manuals and background information to those who wish to:

  1. Submit requirements and recommendations to EGI
  2. Browse requirements and monitor progress
  3. Expand or comment requirements
  4. Offer complete or partial solution to requirements

Introduction

The evolution of the European Grid Infrastructure is driven by the users. Therefore capturing and communicating feedback from users to the infrastructure, as well as to technology operators and providers, is a key goal for the EGI community. The EGI-InSPIRE project has established and runs a well-defined process to collect, capture, process, and resolve user requirements and recommendations. Requirements and recommendations are collected from users through various electronic channels and face-to-face communication mechanisms. A queue called "Requirements" has been setup in the EGI RT (Request Tracker) system to store requirement tickets, to monitor user demands and to resolve problems. Throughout this page the term "Requirement Tracker" and the acronym "RT" refer to the "Requirements" queue of the EGI Request Tracker system.

The high level description of the requirement gathering and processing workflow of EGI can be found on this page and in this EGI-InSPIRE project Milestone Document.

Submitting a new requirement (ticket) to EGI

Anyone can submit requirements to EGI through the RT system, as long as they have an EGI SSO account. After login in into the RT system, the user must choose the "Requirements" queue, the place where all requests are stored and analyzed. The ticket requestor needs to specify both mandatory and optional fields, while providing a detailed description of the requirement. If this step is properly done, the requirement is tagged in such a way that the solution providers can be called to take an action upon the ticket in an easy and timely manner. A detailed description on how to submit a requirement can be found here.


Browsing, monitoring requirements - Dashboards

Pre-defined queries, "Dashboards", are available for the RT system to browse requirement tickets and to monitor progress while solving them. All the dashboards are public and thus associated tickets are also publicly visible as well. The RT system can host any number and type of Dashboards. Should your community requires a customized view to the requirements, please request the setup of a new Dashboard by sending an e-mail to the User Community Support Team. A complete list of Dashboards on the EGI RT system can be found here. A brief description of the currently available Dashboards is presented in the next document sub-sections.


List of all the requirements

Dashboard Name Description
All This dashboard lists all the requirements that EGI is aware of and stores in the RT system

Filtering requirements by the submitter

These Dashboards filter tickets by "Submitter", i.e. by the potential VRC, NGI or other entity who submitted requirements.


Dashboards for scientific communities

Scientific communities can use a customized RT Dashboard, where all tickets raised by that community are listed in an easy and friendly way. We envisage that that these Dashboards could be "advertised" inside the respective gateway/webpage, thus making a strong link between user feature requests and EGI.

Dashboard Name Description
Astronomy & Astrophysics Astronomy & Astrophysics (potential VRC) requirements listing
Computational Chemistry Computational Chemistry (potential VRC) requirements listing
Earth Sciences Earth Sciences (potential VRC) requirements listing
eHumanities eHumanities (potential VRC)requirements listing
Hydro-meteorology Hydro-meteorology (potential VRC) requirements listing
Life Sciences Grid Community Requirements from the Life Sciences Grid Community: Life Sciences Grid Community (established VRC), biomed (VO), lsgrid (VO) and vlemed (VO)
WeNMR Requirements from the WeNMR community: WeNMR (established VRC) and enmr.eu (VO)
WLCG WLCG (potential VRC) requirements listing

Dashboards by Requirements Status

The EGI RT "Requirements" queue has six configured ticket status. These status are used in the workflow while processing all requirements arriving to this queue. The respective Dashboards are listed below, as well as a catch-all status.

Dashboard Name Description
AllStatus AllStatus tickets ordered by Status
New New Tickets
Open Open Tickets
Accepted Accepted Tickets
Rejected Rejected Tickets
Stalled Stalled Tickets
Resolved Resolved Tickets

Dashboard for Heavy User Communities

This Dashboard lists tickets that were submitted by the Heavy User Communities (HUCs). HUCs are User communities that are advanced and experienced in terms of grid usage, operate (at least to some extent) support services for their own members and therefore are less dependent on EGI user support services.

Dashboard Name Description
HUCs Heavy User Communities requirements listing

Dashboard for National Grid Infrastructures

This Dashboard lists tickets that were submitted by National Grid Infrastructures/Initiatives (NGIs). These entities provide the resources within EGI.

Dashboard Name Description
NGIs National Grid Infrastructures requirements listing

Virtual Organisations

This Dashboard lists tickets that were submitted by Virtual Organizations (VOs). A VO is a group of people with similar interests and requirements, who have physical access to the European Grid Infrastructure thus are able to work collaboratively with other members and/or can share resources regardless of geographical location. A VO can be associated to a VRC, or can exist independently from VRCs.

Dashboard Name Description
VOs VOs (Virtual Organisations) requirements listing

Projects

This Dashboard lists tickets that were submitted by projects that are part of the EGI community.

Dashboard Name Description
Projects Projects requirements listing

Filtering requirements by category

These Dashboards filter tickets based on the subject of the requirements (Subject here means the entity that the requirements refers to.)

Dashboard Name Description
NA3 Requirements for software tools that are developed and/or provided by the NA3 work package of EGI-InSPIRE
Operational Tools Requirements for Grid Operational Tools that are developed by the JRA1 work package of EGI-InSPIRE
UMD Requirements for Unified Middleware Distribution (UMD)


Expanding and commenting requirements

While the "Subject", "Requestor", "Category", "Tags" and "Description" fields of a requirement ticket cannot be changed, the submitter, the solution provider(s) or any third party, can attach comments and replies to tickets. Comments and replies are recorded in ticket history and both are publicly visible. Comments are also sent by the RT system in e-mail to the requestor (the person who submitted the requirement ticket), while comments are not sent in e-mail. Comments and replies must be used to attach details and background information to a requirement ticket, to discuss the reported demand and possible solutions. Any user with an EGI SSO account can attach comments to requirement tickets. This process is described below.

1) Open the ticket you want to comment/reply.

In order to comment/reply to a ticket, the user should search for the specific ticket in the RT system either through the unique ticket identifier or using keywords. After opening the relevant ticket, the user should click the proper button which triggers the comment/reply (see red box in the figure below).

Reply ticket.PNG

Notes:

Reply - your reply will be annexed to the ticket and an e-mail notification will be sent to both the "Requestor(s)" and "Owner".

Comment - your comment will be annexed to the ticket and no notifications will be sent to "Requestor(s)" or "Owner"; it is considered to be an internal comment.


2) Provide feedback to be annexed into the ticket.

After the previous step, a new window will be presented to the user. You should reply/comment using the EGI RT in-build text editor. Once your feedback was typed, do not forget to hit the "Update Ticket" button. The figure below shows the reply window to a ticket, highlighting in red boxes the relevant ticket fields to this step.

Reply ticket form.PNG

Note:

If we had chosen the "Comment" option instead of "Reply", we would see in the field "Update Type:" the value "Comments (Not sent to requestors)".

Providing solution to a requirement

The workflow below described was defined taking into consideration the following goals:

  • assure that simple requirements are resolved quickly
  • complex requirements are expanded and broken into smaller resolvable units, quickly and efficiently
  • be fair to technology providers: any potential technology or solution provider can see and offer solution to any requirement
  • be transparent: EGI stakeholders can see the evolution or requirements
  • identify potential solution providers without causing too much noise (spam) within the community

With these goals present, EGI requirements are resolved accordingly to the following high level workflow:

  1. Consistency check
  2. Allocation to responsible person/group
  3. Completeness check
  4. Providing solution from the EGI-InSPIRE project
  5. Involving external solution providers
  6. Closing the ticket
  7. Validating the solution
Step # Action Responsible party Description of action
1. Consistency check UCST Actions performed in this step:
  1. Check that the ticket describes a requirement and not a bug. Bugs must be redirected to GGUS. (Manually until RT and GGUS become connected.)
  2. The "Subject", "Requestor", "Category", "Impact" and "Description" fields must be filled.
  3. The Subject must be consistent with the Description.
  4. Category must be consistent with the Description.
  5. Description must be sufficiently detailed: it should include information about the use case that drives the need and a description of the requirement itself
  6. Set "Priority" for the ticket based on the “Impact” provided by the requestor.

Change values of fields if necessary. Contact submitter if necessary. The ticket status can be either New or Open.

2. Formally accept the ticket UCST Formal acceptance of the ticket means to allocate an owner to the ticket. The owner is responsible for solving the ticket but not necessarily be the solution provider. Owner is chosen based on the content of the "Category (level 1)" field of the ticket:
  • Support Service --> User Community Support Team
  • Support Action --> User Community Support Team
  • Unified Middleware Distribution (UMD) --> User Community Support Team
  • Operational Tools --> Daniele Cesini (JRA1 leader)
  • User Tools and Applications --> User Community Support Team

The ticket status can be either New or Open.

3. Evaluate the technical completeness and correctness of the request Ticket owner Evaluation at this stage means:
  1. Description must be detailed enough for owner to find and propose solutions and/or solution providers. Contact requestor if additional information is necessary.
  2. Status must be set to Accepted, Stalled or Rejected:
    • Accepted if the request is found valid. Ticket owner accepts to provide solution directly/indirectly.
    • Rejected if the description is found vague, incorrect or incomplete by the owner and requetor refuses to correct it.
    • Stalled if any external problem blocks the solution of ticket
4./5. Provide solution from the EGI-InSPIRE project or Involve external solution providers Ticket owner
  1. Investigate and contact project partner / NGIs that could potentially provide a solution (e.g.:)
    • Use EGEE/EGI events to find experts
    • Survey NGIs
  2. Provide solution / investigation output into ticket
  3. Use the UCB to resolve outstanding tickets
6. Close the ticket Ticket owner
  1. Set status to Resolved
  2. Solving a ticket generates an e-mail to requestor
7. Validate the solution Requestor
  1. Evaluation should happen in a separate process
    • User satisfaction form

Technical details on ticket management

For further information about technical details on how ticket management inside EGI RT is done, report to the following wiki link under construction.