Agile software development has become very popular around the world in recent years, with methods such as Scrum and Extreme Programming (XP). Literature suggests that functionality is the primary focus in Agile processes while non-functional requirements (NFR) are either ignored or ill-defined. However, for software to be of good quality both functional requirements (FR) and NFR need to be taken into consideration; lack of attention to NFR has been documented to be the cause of failure for many software projects. Hence special attention needs to be focused on NFR in Agile software development. By its very nature Agile processes require frequent changes but these changes are often not well documented. This is especially true of NFR in Agile processes. While functional requirements are carefully identified, NFR are often not properly elicited. Once NFR are identified they become the basis for reasoning and facilitation of design and development decisions. NFR also need to be validated through proper testing to ensure their quality attributes have been met in the final software product.
This dissertation aimed at developing a methodology for addressing NFR in Agile processes. As such, the "NERV Methodology: Non-Functional Requirements Elicitation, Reasoning, and Validation in Agile Processes" was proposed. Several artifacts were created as part of this methodology and included: the NFR Elicitation Taxonomy, the NFR Reasoning Taxonomy, the NFR Quantification Taxonomy, and the Non-Functional Requirements User Story Companion (NFRusCOM) Card. Additionally the NERV Agility Index (NAI) was developed using the Agile Manifesto and its twelve principles.
The NERV Methodology was validated using the 26 requirements of the European Union (EU) eProcurement Online System. Additionally the results obtained by the NORMAP Methodology in previous research, were used as baseline. Results show that the NERV Methodology was successful in identifying NFR, for 55 out of 57 requirements sentences that contained implicit NFR, compared to 50 for the baseline. This represented a 96.49% success rate compared to 87.71% for the baseline; an improvement of 8.78%. Furthermore the NERV Methodology was successful in eliciting 82 out of 88 NFR compared to 75 for the baseline. The elicitation success rate was 93.18% compared to 85.24% for the baseline; an improvement of 7.94%.
Agility was validated using the same data set as above. Two experiments investigated project durations measured in 2-week sprint iterations, commonly used in Scrum. Results show that the first experiment, using the "FR and NFR Simultaneous Scheme" completed all FR and NFR scope in 24 sprints. The second experiment, using the "FR First Then NFR Scheme" consumed 26 sprints. The first agile scheduling scheme delivered all scope two sprints earlier than the second scheme; representing a saving of almost one month. Validation results showed that the NERV Methodology and its artifacts can potentially be beneficial for software development organizations for eliciting, reasoning about, and validating NFR in Agile processes.
Identifer | oai:union.ndltd.org:nova.edu/oai:nsuworks.nova.edu:gscis_etd-1136 |
Date | 01 January 2013 |
Creators | Domah, Darshan |
Publisher | NSUWorks |
Source Sets | Nova Southeastern University |
Detected Language | English |
Type | text |
Format | application/pdf |
Source | CEC Theses and Dissertations |
Page generated in 0.0017 seconds