An Agile Technique for Agent Based Goal Refinement to Elicit Soft Goals in Goal Oriented Requirements Engineering A M Sen Department of IT & CSE Lovely Professional University, Jalandhar, Punjab
[email protected]
Abstract Goal oriented requirements engineering methods have gained significance because they define the requirements in terms of goals which are well understood by the stakeholders. Although the goals are extracted from the stakeholders having good domain knowledge, but extracting these goals is a challenging task in the goal oriented methods, especially the soft goals about which even the stakeholders have very little knowledge. To extract the soft goals, the high level goals are decomposed and a guiding model for goal refinement involving active participation of stakeholders, is essential. We propose a methodology driven approach involving maximum participation of stakeholders for eliciting the soft goals, where the soft goals are elicited by the stakeholders from the high-level goals through the process of Goal Refinement, involving Agents. The elicited goals are compiled through a software program called Activity Card Compiler. The methodology is used for Soft Goal Elicitation for the development of an Web Based News Application. We present an analysis of our results.
Keywords Goal Oriented Requirement Engineering, Soft goals, Requirements Elicitation, Agents, Activity Card Compiler Output.
1. Introduction A process of software requirements analysis consists of requirement elicitation and requirement description. In requirement elicitation, an analyst collects requirements from the stakeholders (various people responsible for the operation, maintenance, development, and also any other people concerned with the software in any form), and prepares a SRS for software development.
S K Jain CSE Department National Institute of Technology, Hamirpur, Himachal Pradesh
[email protected]
Requirements are defined in terms of goals which are considered as core concepts in requirements engineering (RE). This is termed as Goal Oriented Requirement Engineering (GORE) and the underlying concept are known as GORE concepts. The concepts help in identifying, organizing, and managing requirements. The research on GORE focuses on identifying different kinds of goals namely achievement, maintenance, and soft goals. The methods [1, 2, 3] suggests that all soft goals can not be identified easily because the stakeholders are not fully aware with them. In this article, we propose an agile technique for eliciting soft goals by doing Agent Based Goal Refinement (ABGR) process repeatedly. The ABGR process is done in repeated Sprint sessions which consists of four sub-activities: Develop, Wrap, Review, and Adjust. The methodology uses the regulation principles of agile software development [4]. During the “Develop” sub-activity ABGR process is taken up to elicit soft goals which are “Wrapped” in the next sub-activity for “Reviewing” by all stakeholders. During the last sub-activity all stakeholders agree and “Adjust” their own elicited goals with the total no. of elicited soft goals during a current sprint session. The rest part of this paper is organized as follows. Section 2 briefly presents related works while in section 3, we propose our agile methodology for soft goal elicitation. In Section 4, we present an analysis of our work and in Section 5 we conclude our work.
2. Related works Dardenne et al. [5] define requirements in terms of goals and propose a goal directed acquisition technique for requirements elicitation. Lamsweerde [6] presents significance of goals and classifies the goals into three types: achievement goal, maintenance goal, and soft goal; the goals have been defined in terms of GORE concepts. Anton [7] gives a technique for goal identification and refinement for a software based information systems based on GORE concepts. GORE
techniques [1, 2] for identification, elicitation, and idea generation of goals have been proposed based on GORE concepts. Regev and Wegman [3] define the underlying principles of GORE from the principles of General System Thinking and Cybernetics. Naveed and Anawar [8] give a critical study of the GORE techniques for evaluation and common unifying framework. Lapouchnian [9] reviews the concepts of goals, beliefs, constraints, taxonomies, agents, requirements and assumptions. Nuseibeh and Easterbrook [10] discuss the following techniques for requirements elicitation: 1. Traditional techniques 2. Group elicitation Techniques 3. Prototyping 4. Model-driven Techniques 5. Cognitive techniques 6. Contextual techniques Maiden and Rugg [11] give a framework for requirements acquisition using consensus building workshops with an unbiased facilitator which is a group elicitation technique. Model driven techniques provide a specific model of the type of information gathered with the intension of deriving more goals which is available in Knowledge Acquisition in automated Systems(KAOS). We feel that acquisition through brainstorming, guided by model driven technique shall identify the soft goals quickly especially if the exploration is on the basis of the definition of soft goal given in GORE concepts. This is because the acquisition is a part of larger RE process and should be suitably supported by a model driven technique.
2.1. Achievement Goals
2.3. Maintenance goals The concept of maintenance goal is defined in Knowledge Acquisition in autOmated System (KAOS) [5] as a property that holds in current and all future states. The maintenance goals are the objectives, which will remain throughout the system. These goals are defined in GBRAM [7], as “maintenance goals are those goals which are satisfied while their target condition remains constant or true.”
2.4. Agents Agents are active components of the system such as human, input/output devices, and software components [3]. Goals are realized by agents. The agents are identified for goals based on the responsibilities to be performed. There can be many agents responsible for different kinds of tasks concerning to a single highlevel goal. As we move from high-level, strategic concern to low-level goals the number of agents responsible for the goals will become less. The lowest level of goal is reached when there is only one agent responsible for it’s achievement.
3. An Agile Methodology for Soft Goals Elicitation Proposed methodology revolves around 1 to 4 week cycle called a Sprint. Fig. 1 shows the diagrammatic view of the activities of the model. In Fig. 1, Pre-Sprint, Sprint, and Post Sprint refer to the activities before, during and after elicitation of Soft Goals respectively.
Goals are non-operational objectives to be achieved by the system under consideration. In Goal Based Requirement Analysis Method (GBRAM) [7] achievement goals are defined as “Objectives of an Enterprise or System”
2.2. Soft Goals In Goal Oriented requirement Language (GRL) [12], a soft goal is defined as “a condition or state of affairs in the world that the actor would like to achieve, but unlike the concept of hard goal, there are no clear cut criteria for whether the condition is achieved and it is up to subjective judgments and interpretation of the developer to judge whether a particular state of affairs in fact achieves sufficiently the stated soft goals”; while presenting i* goal modeling language.
Fig. 1: A diagrammatic view of the proposed methodology for Soft Goal Elicitation
3.1 Pre Sprint Activity Step 1: An initial list of achievement and maintenance goals is prepared by analyst after examining “Objectives of Enterprises”, “Corporate Policies”, “Corporate Vision”, “Mission Statement”. Fig.-2 shows a diagrammatic view of the activities which an analyst performs to prepare the initial list of achievement and maintenance goal.
3.2 Sprint The activities in the sprint session are: Develop, Wrap, Review and Adjust. After each sprint session an output is generated from the Activity card Compiler. Each generated output shall contain more elicited sub-goals showing the link with it’s predecessor. These sub-goals are derived from the predecessor goals by all the stakeholders using ABGR process and compiled by the analyst using the compilation algorithm.
Fig. 2: Pre-Sprint Planning Activity by Analyst for Preparation of Initial Goal List Step 2: The identified achievement and maintenance goals are combined into a list by the analyst and distributed to all the stakeholders participating in the elicitation.
Fig. 4 A sample of First Compilation Table
Fig. 3: Goal Preference Model (GPM) Step 3: Each stakeholder prepares the Goal Preference Model (GPM) as shown in fig. 3 by assigning an integer value in ascending order to all the goals available in the list based on the priority. These priority values stand for the degree of preference or satisfiability of the goal according to the stakeholder. The reasoning indicates why such a preference value is assigned. Writing reasons for assigning a priority value makes the stakeholder more responsible for assigning that value. Step 4: Each stakeholder submits the GPMs for all the goals to the analyst. Step 5: The analyst compiles different values of priorities assigned to different goals by the stakeholders using the Activity Card Compilation Algorithm and prepares the first Compilation Table (CT) as shown in fig. 4. The purpose of first compilation is to prioritize the goals identified from step-1. This is done by adding different priority values for a goal and then sorting in ascending order. Step 6: Analyst distributes the first CT to all the stakeholders and initiates the Sprint session.
Fig. 5: Symbolic Representation used for preparing an Activity card
Fig. 6: Agent Based Goal Refinement (ABGR) Process Model
the same initial Goals into B6, B7, B8, B9 and B10; assigns priority values to each of them as shown in fig. 8; and the stakeholder-3 decomposes the same initial goals into B2, B3, B4, B6, B10, and B11; assigns priority values to each of them as shown in fig. 9. 3.2.2 Fig. 7: Activity card of Stakeholder-1
Step 8: All stakeholders connect the decomposed subgoals to its predecessor goal/goals with a directed arrow, as shown in the figures 7, 8, and 9; on the basis of his/her perception of the domain. 3.2.3
Fig. 8: Activity card of Stakeholder-2
Fig. 9: Activity card of Stakeholder-3 3.2.1
Develop
Step 7: Each stakeholder thinks over on the identified goals/sub-goals to prepare an activity card. The symbolic representation used for preparing an activity card is shown in fig. 5. He/she prepares an activity card by goal refinement process of the already identified goals/sub-goals. Goal refinement process decomposes a goal into sub-goals so that fewer agents are responsible for the goal, and the refinement process ends when a goal is assigned to a single agent. The ABGR process model is shown in fig. 6. The concept of goals and agents are key components in this model. Goals lead to the incorporation of sub-goals which should support them. Goals allow to justify the presence of sub-goals which are not necessarily comprehensible to all stakeholders. The goals may be used to determine the respective roles of agents in the systems. During an activity card preparation a stakeholder identifies the agents responsible for the achievement of a goal and then associates a sub-goal to each of the agents identified by him. Stakeholder then takes the 2nd goal, 3rd goal and so on till all the goals are refined. On the basis of Agent Based Goal Refinement (ABGR) process model, for example, stakeholder-1 decomposes the initial Goals A0, A1, and A2 into B1, B2, B3, B4, B5 and B6; assigns priority values to each of them as shown in fig. 7; stakeholder-2 decomposes
Wrap
Review
Step 9: Each activity card is reviewed by all the members involved in the sprint session taking one card at a time. Each stakeholder presents the total no. of subgoals elicited by him/her and the description of each such sub-goal and also the priority value assigned by him/her for each sub-goal. The analyst enters all these information in the activity card compiler program. This process is repeated till all the stakeholders present their respective activity card. 3. 2.4
Adjust
Step10: The analyst generates the output from the activity card compiler and distributes the same to all the stakeholders for adjustment of their respective activity card. The output from the activity card generator will show all the sub-goals decomposed by all the stakeholders and their link/links with their predecessor goals/ sub-goals. Therefore, the output shall contain more number of elicited sub-goals than as prepared by individual stakeholders. Continuing with our example, the manual compilation of all three activity cards prepared by 3-stakeholders (i.e. figures 7, 8, and 9) is shown in table 1. In table 2 the sub-goals that are not elicited by a stakeholder is assigned with his/her lowest priority value. Then the sum of all values are taken and priority is decided in ascending order. In case priority value for two sub-goals are same then the sub-goal with more no. of links to its predecessor gets the higher priority. In case even that remains same then the priority is decided by the analyst randomly. Any subgoals being considered by more than one stakeholder shall automatically get higher priority than a sub-goal being considered by a single stakeholder. Step11: After adjustment in step 10 the activity cards of all stakeholders becomes same and is shown in figure 10 and with these new (enhanced list) set of subgoals all stakeholders starts working in ABGR process Model all over again and the Sprint session is again initiated. Each completion of a session gives more no. of elicited sub-goals. The session is terminated when
the no. of elicitation of sub-goals from nth session is equal to the no. of elicitation of sub-goals from (n-1)th session.
Fig.10: Activity card of all stakeholder after adjustment with respect to the generated output of Activity Card Compiler.
3.3 Post Sprint Event Step 12: The RE team writes the specification sheet using any standard procedure for specification writing, based on the elicited goals/sub-goals and identified interlinks between each of them from the final activity card output.
4. Analysis The algorithm is analysed with the help of a small example and the ABGR process is validated by applying the algorithm for generation of softgoals for a web based news application software. In figure 10 we present the status of the Activity card of all stakeholder after adjustment with respect to the generated output of Activity Card Compiler. It can be seen that it contains more sub-goals than any of the individually prepared Activity card (shown in figures 7, 8, 9). In the example
it can be seen that: stakeholder-1 elicits 6 sub-goals, stakeholder-2 elicits 5 sub-goals of which only (say) one is common goal with respect to stakeholder-1, stakeholder-3 elicits 6 sub-goals of which (say) five are common goals with respect to stakeholder-1 and 2, but one goal is new /unique. i.e. altogether 11 goals have been elicited form a set of 3 initial goals. But during the second sprint session all 3 stakeholders get to know about all the sub-goals being elicited during the first session thereby allowing a chance to the stakeholders to think in the direction about which they did not have any clear idea[10]. Generating Report from the activity card compiler after each sprint session helps all stakeholder to adjust their own cards quickly and correctly in terms of goals and also helps in establishing connectivity with the predecessor goals. Thus it is assured that each sprint session will elicit some new goals. In the example we have considered the name of the goals to be as “A0”, “A1”,---- etc. for validation of the technique. To elicit softgoals we present a model termed as “Agent Based Goal Refinement (ABGR) Process Model” in which we focus on the definition of Agent given by Naveed and Anawar [8]. For validating we use the ABGR process model for eliciting the goals in a Web Based News Channel Application involving a group of 10 stakeholders for the Sprint session. The analyst identifies a list of 10 goals on examining the “Objectives of Enterprises”, “Corporate policy”, “Mission statement, and the “Corporate Vision”, which are given to 10 stakeholders and initiate the elicitation “Sprint” session for preparation of Activity card separately by each one of them. The guideline for preparation of activity card is as shown in figures 5 and 6. Figure 5 typically helps in depicting an elicited goal and also helps to show how this is linked to it’s parent goal/goals.
Table 1: Compilation of three Activity cards with link to it s Predecessor Predecessor Goals are: A0, A1 and A2 having priorities 1,2, and 3 respectively Name of Sub Goals Stakeholder-1 Stakeholder-2 Stakeholder-3 Link with predecessor B1 3 Not elicited Not elicited A0 B2 4 Not elicited 4 A0, A0 B3 2 Not elicited 1 A0,A1, A0,A1 B4 5 Not elicited 3 A1,A1 B5 1 Not elicited Not elicited A1,A2 B6 6 5 5 A0,A2, A0 B7 Not elicited 4 Not elicited A0 B8 Not elicited 1 Not elicited A0, A1 B9 Not elicited 3 Not elicited A1 B10 Not elicited 2 2 A1,A2, A1,A2 B11 Not elicited Not elicited 6 A2 T. Sub-Goals=11 6 5 6
Table 2: Compilation of three activity cards and prioritization of elicited sub-goals Predecessor Goals are: A0, A1 and A2 having priorities 1,2, and 3 respectively Name of Sub Stakeholde Stakeholder-2 Stakeholder-3 Link with Priority Goals r-1 predecessor B1 3 6 7 A0 8 B2 4 6 4 A0, A0 3 B3 2 6 1 A0,A1, A0,A1 1 B4 5 6 3 A1,A1 4 B5 1 6 7 A1,A2 5 B6 6 5 5 A0,A2, A0 7 B7 7 4 7 A0 10 B8 7 1 7 A0, A1 6 B9 7 3 7 A1 9 B10 7 2 2 A1,A2, A1,A2 2 B11 7 6 6 A2 11 T.Subgoals=11 6 5 6 Figure 6 provides a basis for elicitation; where we identify the no. of agents involved in each goal. The concept of goals and agents are key components in this model. Goals lead to the incorporation of sub-goals which should support them. Goals allow to justify the presence of sub-goals which are not necessarily comprehensible to all stakeholders. The goals are used to identify the no. of agents responsible for meeting the goals. Each identified agents are assigned a sub-set of a goal (or a sub-goal). Table 3: No. of Goals Elicited using the methodology for a Web Based News Application software Total No. of Goals elicited from the Pre-sprint session:10 Sprint Sprint No. of Sprint Stakeholder Session Session-2 Session-3 -1 18 56 86 Stakeholder-1 16 45 89 Stakeholder-2 19 66 90 Stakeholder-3 11 69 87 Stakeholder-4 14 68 96 Stakeholder-5 15 50 95 Stakeholder-6 17 49 86 Stakeholder-7 17 46 88 Stakeholder-8 20 66 90 Stakeholder-9 70 98 Stakeholder-10 22 * 34 * 86 * 104 Total No. of Elicited Subgoals from one session
* accepted as unique during review process of respective Sprint session.
During an activity card preparation a stakeholder takes one goal from the list and identifies the agents (human, devices, software) responsible for the achievement of that goal and then associates a sub-goal to each of the agents identified by him. In our web based news channel application the agents are: the correspondents responsible for reporting form different locations, the administrator responsible for uploading the messages to the web server from different locations, the software requirements, etc. Stakeholders decomposed the goals into sub-goals so that fewer agents are responsible for the goal, and the refinement process ends when a goal is assigned to a single agent. In table 3 it can be seen that, through first sprint session we elicit 10 goals to 34 sub goals. These are then compiled through Activity card compiler and prioritized again in the ascending order and all 34 sub- goals are linked to the 10 predecessor goals. The analyst then again initiates the sprint session which results into 86 new /unique subgoals. These goals are accepted by the group during the review process. The third sprint results into 104 new/unique sub-goals. Considering that enough goals are available for writing the SRS the analyst declared the end of Sprint sessions.
5. Conclusion In this paper we propose a methodology for requirement elicitation. Agility in software development stresses large participation of stakeholders and minimal documentation. The RE methodologies underlying concepts of GORE focuses on identification of different kinds of goals namely achievement, maintenance, and soft goals. The proposed method involves the collection of starting point of basic corporate goals, given to a group of stakeholders to prioritize and decompose in a single “Sprint Session”. The resulting goal models (Activity Cards) are
combined together using the Activity Card Compiler, with the result presented back to the stakeholders for adjustment. During successive iteration of this process the stakeholders will elicit many goals, creating a set of goals which are complete, accurate, and ready to be converted into a high quality SRS. Agility in enterprises is practiced for the purpose of development of software. Agility may well be adopted in the field of RE process by adopting this methodology as “Agile methodologies do insist on minimal documentation.” The methodology is used for elicitation of soft goals in a live Web Based News Application Software development project. The experimental results are presented in table 3. In our experiment the analyst declared the end of sprint sessions after only three sprints involving a group of 10 members. It is observed that the members (particularly the reporters of the news Application Software) did not feel comfortable in preparing the activity cards during the first sprint session but are clear in defining their roles and the software and hardware support they needed for meeting the Mission and Vision statements of their enterprise. But this helped in identifying various agents responsible for achievement of goals. This methodology is experimented with a group of 10 stakeholders. Future experimentation involving more than 10 stakeholders for a large and complex RE process can be taken up.
References 1.
2.
3.
4.
5.
H Kaiya, H Horai, M.Saeki. “AGORA: Attribute Goal-Oriented Requirements Analysis Method”. Proceedings. IEEE Joint International Conference on Requirements Engineering (RE’02), University of Essen, Germany, 2002. K Oshiro, K Watahiki, M Saeki “Goal-Oriented Idea generation Method for requirement elicitation”, Proceedings. 11th IEEE International requirements Engineering Conference, California, 2003 G Regev, & A Wegmann, “Where do Goals Come from: the Underlying Principles of Goal-Oriented Requirements Engineering” Proceedings. 13th IEEE International Requirements Engineering Conference, Paris, France, August, 2005 “SCRUM Development Process”, Ken Schwaber, OOPSLA’ 95 Referenced from http:// www.controlchaos.com /old-site/scrumwp.htm , accessed July 2005 A Dardenne, A van Lamsweerde, S Ficas, “GoalDirected Concept Acquisition in Requirements Elicitation”, Science of Computer Programming, Vol. 20, pp14-21.
6.
A van Lamsweerde, “Goal-Oriented Requirement Engineering: A Guided Tour”, Proceedings. 5th IEEE International Symposium on Requirements Engineering (RE ’01), Toronto, 2001. 7. A I Anton, “Goal Identification and Refinement in the Specification of Software based Information Systems”, PhD Dissertation, Georgia Institute of Technology, Atlanta GA, 1997 8. S. Naveed, I. Anawar “Goal Oriented Requirement Engineering: A Critical Study of Techniques”, Proceedings. 13th Asia Pacific Software Engineering Conference, Bangalore, India, 2006. 9. Alexi Lapouchnian “Goal-Oriented Requirements Engineering: An Overview of the current Research”, University of Toronto, 2005 10. B Nuseibeh, S Easterbrook, “Requirement Engineering: A Roadmap”, 2000 11 N Maiden, G Rugg (1996) “ACRE: Selecting Methods for Requirements Acquisition” Software engineering Journal, 11 (3). 12. “ITU Telecommunication Standardization Sector Draft Specification of the Goal-Oriented Requirement Language” (Z.151), September 2001