Combining Scrum and Model Driven Architecture for the development of an epidemiological surveillance software

Epidemiological surveillance systems evolve with time, depending on the context and the data already collected. Then, the software used must evolve in order to meet requirements. However, introducing new requirements in order to update the software takes time, is expensive and may lead to the problem of software regression. The problem of failed software developed for epidemiological surveillance are often the result of an unsystematic transfer of business requirements to the implementation. This problem can be avoided if the system is established using a well-defined framework/architecture permitting the rapid development/update of the surveillance software. Empirical research shows on the one hand that Model Driven Techniques such as Model Driven Architecture (MDA) are more effective than code-centric approaches for the development and the maintenance of software. On the other hand, Agile Processes such as Scrum are more effective than Structured Processes when requirements are subject to frequent change. Researchers demonstrated that developers of medical software such as epidemiological surveillance software are experiencing difficulties when following Structured Processes and code-centric approaches. The main goal of this empirical study was to apply the combination of Scrum and Model Driven Architecture for the development of epidemiological surveillance of tuberculosis. During this research, we found the approach ease of use and very useful when the MDA tool can generate the complete source code. It has had positive effects on programmer productivity and satisfaction, cost-effectiveness, timelines and customer satisfaction. In addition, we learned that to involve non-informatic experts in the development/update, the modeling user interface must be as simple as possible. Les systèmes de surveillance épidémiologiques évoluent avec le temps, en tenant compte du contexte et des données collectées. Ainsi, les logiciels utilisés doivent aussi évoluer pour pouvoir répondre aux besoins. Cependant, de nouvelles exigences des clients peuvent prendre du temps pour être implémentées, coûter plus cher (dans le cas où il faut recruter des programmeurs) et causer des problèmes comme le problème de régression logiciel. Ainsi, le logiciel peut devenir défaillant. Ceci est dû à un mauvais transfert des exigences des clients vers la mise en œuvre. Ce problème peut être évité si le système est développé en utilisant un framework et une architecture permettant le développement/la mise à jour rapide des logiciels de surveillance. La recherche empirique d'une part montre que l'Ingénierie Dirigée par les Modèles (par exemple, Architecture Dirigée par les Modèles ou Model-Driven Architecture - MDA) est plus efficace que les approches basées sur le code pour le développement et la maintenance de certains logiciels. D'autre part, les processus agiles tels que Scrum sont plus efficaces que les processus structurés lorsque les exigences sont sujettes aux changements fréquents. Il a été démontré que le développement des logiciels de santé comme les logiciels de surveillance épidémiologique en utilisant les processus structurés ou les approches de développement centrées sur le code n'est pas évident car ces logiciels sont sujettes aux changements fréquents. Dans ce travail, nous étudions la combinaison de Scrum avec MDA pour le développement du système de surveillance épidémiologique de la tuberculose. A son terme, nous avons trouvé la combinaison de Scrum et MDA simple, très utile lorsque l'outil sous-jacent peut générer tout le code source. La combinaison de Scrum et MDA a eu des effets positifs sur la productivité et la satisfaction des programmeurs et des clients. En plus, nous avons constaté que pour impliquer les non-informaticiens dans le développement ou la mise à jour, l'interface de modélisation doit être aussi simple que possible.