We designed and developed an application for the Italian Army to manage, define, monitor, and execute tasks and their respective budgets. The key challenge was to integrate this application with their existing IT infrastructure. Additionally, the system has to be extensible and maintainable to allow for feature modification in response to continually evolving requirements. We performed domain analysis to achieve this objective. We gathered the input information for the analysis from domain experts and a high level abstract requirements document. Since we used an agile development process, we frequently changed the architecture of the system according to our evolving requirements. This required to conduct the domain analysis iteratively and constantly refine and improve it. Domain analysis was carried out using traditional domain analysis methods such as: Sherlock, FODA, and DARE. However, existing domain analysis methods were designed to support traditional software development processes where requirements are considered to be present and complete in the beginning. This means that the analysis is performed and completed before the implementation starts. Domain analysis methods have been used to identify reusable parts of a system including requirements, architecture, and test plans. The identification of reusable parts is considered to benefit the overall quality of the system. Reusability also has a positive cost effect. In this session, we present the problems we faced. We present difficulties that might arise while executing existing domain analysis practices in an agile software development environment. The complexity of the iterative domain analysis lies in the discovery and integration of new requirements. For example, a new requirement might be outside of the domain scope of the system or might require the modification of the architecture of the system. We present techniques that we developed and applied to address these issues.

Applying Domain Analysis Methods in Agile Development

Succi G
2011

Abstract

We designed and developed an application for the Italian Army to manage, define, monitor, and execute tasks and their respective budgets. The key challenge was to integrate this application with their existing IT infrastructure. Additionally, the system has to be extensible and maintainable to allow for feature modification in response to continually evolving requirements. We performed domain analysis to achieve this objective. We gathered the input information for the analysis from domain experts and a high level abstract requirements document. Since we used an agile development process, we frequently changed the architecture of the system according to our evolving requirements. This required to conduct the domain analysis iteratively and constantly refine and improve it. Domain analysis was carried out using traditional domain analysis methods such as: Sherlock, FODA, and DARE. However, existing domain analysis methods were designed to support traditional software development processes where requirements are considered to be present and complete in the beginning. This means that the analysis is performed and completed before the implementation starts. Domain analysis methods have been used to identify reusable parts of a system including requirements, architecture, and test plans. The identification of reusable parts is considered to benefit the overall quality of the system. Reusability also has a positive cost effect. In this session, we present the problems we faced. We present difficulties that might arise while executing existing domain analysis practices in an agile software development environment. The complexity of the iterative domain analysis lies in the discovery and integration of new requirements. For example, a new requirement might be outside of the domain scope of the system or might require the modification of the architecture of the system. We present techniques that we developed and applied to address these issues.
2011
8th European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2011)
1
4
Marciuska S; Sarcia' A; Sillitti A; Succi G
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/897986
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact