Domain understanding in agile information system development : the role of conceptual modeling

Agile development methods such as Extreme Programming or Scrum typically do not prescribe specific conceptual modeling practices. In fact, the agile paradigm generally discourages extensive use of documentation and models that are not directly related to or used to generate code. However, anecdotal...

Full description

Bibliographic Details
Main Author: Wufka, Michael
Language:English
Published: University of British Columbia 2013
Online Access:http://hdl.handle.net/2429/45542
Description
Summary:Agile development methods such as Extreme Programming or Scrum typically do not prescribe specific conceptual modeling practices. In fact, the agile paradigm generally discourages extensive use of documentation and models that are not directly related to or used to generate code. However, anecdotal empirical evidence suggests that conceptual modeling might be beneficial in agile software development, and that a wide range of conceptual modeling methods might be used by agile practitioners. This work studies the relationship between conceptual modeling and agile development in three parts. Firstly, based on the existing literature, it examines theoretically which role conceptual modeling might play in agile development. In order to do this, it defines an operationalizable conceptualization of agility that is independent of specific development methods. In a second step, the role that conceptual modeling practices play in current information system (IS) development is studied in a survey of practitioners. This survey also serves to validate a measurement instrument based on the conceptualization of agility. Finally, the impact of conceptual modeling on agile development is studied in detail in an exploratory lab experiment. The survey finds that developers who are more agile tend to use a wider range of conceptual modeling practices than less agile developers, and that they face fewer difficulties with domain understanding. The proposed measurement instrument of agility correlates well with self-reported agility, which provides some evidence for its validity and reliability. The results of the experiment indicate that the use of conceptual modeling does not reduce agility, but that it might in fact increase it. It finds that subjects use conceptual models to improve their understanding of the domain in a number of different ways. These different uses, an interesting result by themselves, are a potential starting point for future research, which could focus on a subset of them. Additional important results of this work include a validated measurement instrument of agility that is based on a development method independent conceptualization of agility, and an improved understanding of the use of conceptual modeling in current agile development practice. === Business, Sauder School of === Graduate