5.2 Meta-model and Visual Notation
5.2.1 Meta-model
5.2.1.1 Roles
A role represents a well-understood function that a person performs. The Rational Unified Process (RUP) defines it as a “hat” that can be worn by either an individual or a group during a project [81]. The RUP definition highlights two important characteristics of a role; first that it can be held by more than one person at the same time and second that a single person can have more than one role. In this study we identified a set of common stakeholder roles that recurred across many of the projects. These roles included the default role of SME, as well as a RA, Customer, Location Spokesperson (LSP), Developer, Manager, User, and Tester. These roles were assigned various titles in different projects, but were still clearly recognizable. The meta-model depicted in Figure 5.1 shows both the role entity and its attribute
subtype, which can be set to any of these predefined role types. Furthermore additional role types can
easily be added. The three roles of SME, RA, and LSP were observed across more projects than any of the other roles and are, therefore, described in greater detail.
• A subject matter expert (SME) is a stakeholder who provides knowledge about the product that is to be developed. SMEs come in all shapes and sizes and include various types of potential users as well as experts in legal constraints or specific topics such as security or usability. In this study a large variety of SMEs, are noted, i.e. users, managers, artists, designers, developers and trainers.
• A requirements analyst (RA), also known as a requirements engineer or business analyst is responsible for overseeing or supporting the requirements elicitation, analysis, and specification tasks. Several related titles were found in the studied projects such as technical project lead and lead interaction designer. In general, actual titles often reflected the nature of the project. In fact, only one project, which was conducted by an RE consulting firm, actually had a position called “requirements engineer”. In all other projects the requirements analyst was responsible for other tasks in addition to the managing the requirements.
• A location spokesperson (LSP) may hold some of the responsibilities of an RA, but is characterized by being situated at one location and is responsible for coordinating requirements gathering activities at that location and serving as a liaison to the project level RA. Again, we found many different job titles for this position including technical lead and designated region representative. In certain projects, the LSP also served as a foreign language translator between local stakeholders and the RA or other non-local project personnel.
This study also indicates that communication flows often occurred between groups of people holding the same role and that the size of the group holding a specific role was an important factor for distributed requirements engineering. As a result, we adopted the counting concept used by Amazon’s Pirahã tribe [82] and categorized a role as one, few, or many individuals holding the same function at a given location. The role entity of our meta-model contains an attribute named multiplicity, which must be instantiated with one of these multiplicity values (one, few, or many).
5.2.1.2 Sites
A second important concept in distributed projects is that of site, defined as a place at which one or more project stakeholders are situated. A site could refer to a single building or a group of buildings in close proximity to one another. A site is characterized by the ability of its occupants to meet together frequently to engage in same language, real time conversations. This study suggested that from the perspective of distributed requirements engineering, a common communication language and time zone characterize a site and determine its communication flows. Additionally a site may be assigned single or multiple location values. Therefore, we have included these three properties as attributes in our meta-model. The meta-model also defines a Site entity, which composes a number of Roles, and Stationary artifacts, which are discussed in the following subsection.
5.2.1.3 Artifacts
An artifact is defined in the Unified Modeling Language (UML) documentation as the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system [19, 20]. One of the primary goals of a distributed requirements gathering process is to collaborate with participating stakeholders to generate an agreed-upon specification. In fact the interviews showed that most interviewees highlighted the importance of the specification, which was generally constructed in the form of use cases or more formal requirements stored in a text document or spreadsheet, or was represented graphically as a process diagram, dataflow diagram, or as a graphical prototype. An artifact is also frequently characterized by its physical location.
Chapter 5. RE Modeling Research Sessions Data Analysis 54
While some artifacts reside permanently in one location i.e. on a shared drive, online library, or in a repository, others are moved from stakeholder to stakeholder across multiple locations, primarily via email. We found that this property of an artifact is important for analyzing the maturity of a distributed requirements process, and therefore the artifact entity in the meta-model is specialized into Stationary and
Travelling artifacts entities. A Stationary artifact belongs to exactly one site and stays there while
stakeholders assigned to specific roles work on it (see composition between Stationary artifact and Site in the meta-model). Conversely, a travelling artifact has no persistent site but is instead passed between stakeholders like a token.
5.2.1.4 Relationship between roles
The study also identified several common forms of communication and work relations that occurred between the different roles and artifacts. We named these communicates co-located, communicates
distributed, and accesses.
A communicates distributed relationship connects two roles that are not geographically co-located and depicts that some kind of communication occurs between them. These case studies showed many different ways that stakeholders communicated within and across distributed sites. For example in one project SMEs in North America communicated via email to SMEs in Asia, in another project the requirements analyst in North America held telephone conferences with developers in Europe, while in other projects we found examples of many-SMEs-to-many-SMEs discussions. An analysis of these findings unearthed two different properties that characterized communication. The first was the medium used, i.e. telephone, email, or web conference, while the second was the multiplicity of the participating roles i.e. a 1:N relationship in which a single analyst at one site communicates directly with all SMEs at another site. Our meta-model shows the Communicates distributed relationship as an association relating roles while the communication medium is represented as a stereotype during modeling. The multiplicity of participating roles is captured through the multiplicity attribute of role as previously discussed.
As with the Communicates distributed relationship, a Communicates co-located relationship also connects two roles; however it represents the case that the associated roles are co-located and can communicate face-to-face. While this might be the default case within one Site, it implies travelling of at least one participating stakeholder in cases where the associated roles are distributed across multiple sites. Several study participants mentioned the situation in which they traveled during the requirements engineering process. For example one subject reported that an RA traveled to two different North American sites and a European site in order to interview SMEs.
An Accesses relationship associates roles with artifacts and means that stakeholders adopting that role contribute to the construction or maintenance of the associated artifact. We further distinguish accesses relationships into read (R), write (W), and read/write (RW) of documents and shared resources. Our meta- model shows the accesses relationship as an association between role and artifact entities, while the type of access (R, W, or RW) is modeled as a stereotype and
not visible in Figure 5.1.
Figure 5.1. Meta-model Depicting Taxonomy for Distributed Requirements Engineering