Keywords

1 Introduction

Computer users are rapidly increasing in numbers and diversity [1]. These users include managers, accountants, engineers, teachers, researchers, health workers, salespeople, and administrative assistants. Such users perform a variety of tasks that evolve and deals with lots of data and business rules. Traditional development of professional software may not adequately meet such needs because when establishing a contracting relationship between users and solution providers, one of the first challenges is the transfer of domain knowledge [2]. Passing domain knowledge and experience to professional developers is something that requires effort and time, and needs to keep pace with changing user tasks. As end-users have an internalized understanding of the business rules and objectives, they may be able to construct applications without gaps of knowledge. However, they lack abilities to organize these developments efforts.

EUP (End-User Programming) refers to software development activities carried out by non-professional developers [3]. When a user engages in development activities, she seeks to create a program for herself, that is a different perspective from professional development [2]. Typically, end-user programming emerges in a context in which domain experts are seeking more automation in day-to-day tasks and for any reasons can not contract professionals to develop solutions. EUP efforts benefit from end-users knowledge of business context and need better than anyone else, and their awareness of changes in the corresponding domain. However, some issues arise when end-users produce their applications, system quality is one of these problems.

It is expected for end-users to struggle in understanding the general view of the problem and reason about all the functionalities they wish to have [3]. End-User Software Engineering (EUSE) refers to the adoption by end-users of software engineering practices and techniques. A challenge of EUSE research is to find ways to incorporate software activities into the end-users’ workflow without the need for them to substantially change the nature of their work or priorities [3]. In the context of Requirements Engineering, end-users are generally not motivated to build a program to be used by others, so the focus on system quality is expected to be low [3]. People involved in end-user programming rarely have an interest in being explicitly linked to requirements, so there will be a need to make explicit to end-users the benefit of using EUSE.

The objective of this work is to motivate end-users to apply requirements engineering in their activities, leading to the development of user applications with more quality and completeness. We focus on end-users developers of web applications in the educational field and proposes the use of narrative writing technique for them to understand their needs better and plan requirements accordingly. Narrative writing promotes better end-user reflect upon its needs and facilitates registering their ideas. We expect that use of a requirements engineering technique contributes to better end-user development.

This article is organized as follows: in the next section, we present the related works and then the theoretical basis. Subsequently, there is the methodology section, where we describe the profile of the participants, and the steps required to conduct the research. After the methodology section, we present the study planning and execution section and then the results section. Subsequently, there are the final considerations also encompassing future work.

2 Background

According to Sommerville [4], Software Engineering is a discipline focused on aspects of software production, from the early stages of system specification to maintenance, when the system is already in use. In general software engineers adopt a systematic and organized approach to their work, as this is often the most efficient way to produce high-quality software [4]. Requirements Engineering (ER) “involves the surveying, modeling, specification, verification and maintenance of the properties that a software product or service must manifest before, during and after its realization” [5]. Key stakeholders are identified, and the constraints and needs that customers impose on the system are discovered while the RE process is taking place. After discovery, there is a need for documentation, analysis, and validation later, so that software can be built that presents customer satisfaction. RE activities are crucial to design and create quality software application and require practitioners to have some level of training and experience to work throughout the entire requirements lifecycle.

End-users act as non-professional software developers, who at some point may create, modify or extend software artifacts [6]. Professional software developers cannot directly address all of these needs, because of their limited domain knowledge and because their development processes are prolonged. On the other side, end-users know their context and needs better than anyone else, and often they have a real-time perception of changes in their respective domains [3].

End-user motivations are not related to software quality, so there is no explicit interest in explicitly documenting requirements [3]. They are less likely to learn formal or structured languages to express requirements or follow prescribed development methodologies. This work investigates the usefulness of requirements techniques that require little or no training by users.

3 Narrative Writing

For many years, analysts have employed usage scenarios to trigger customer needs. A scenario is a description of how a system will be used, and it is well employed to describe requirements for interactive applications and system-to-system interfaces [5]. Barbosa and Silva [7] still define scenarios as a narrative textual or pictorial, concrete and rich in contextual details of a situation of use of the application. Scenarios can then put real, potential users, processes, and data in a joint perspective.

According to Cockburn [8], a narrative is a use case in action, a highly specific example of an actor using the system. This narrative is not a use case, and in most projects, it does not remain in the official document of requirements, but it is a handy technique.

Narratives can be used to assist in the construction of a web application for example, in the case of this research the end-users used to plan how the structure of conversations in the SideTalk tool would be. Sheets of paper were used to describe the whole process of what was planned for construction, and later the end-users themselves continued the process by programming the narrative into the tool, thus creating a conversation in SideTalk. Therefore, we had as input the preparation of a script and how to exit the whole plan transformed into a conversation in SideTalk, both thought and created by themselves.

4 Methodology

This study was carried out following the next steps:

  1. 1.

    Analyze end-users profile: First there was an analysis of the people to be invited, who did not need to be experts in programming knowledge, but they had to have the desire to develop something that involved other people. It was decided to use teachers with needs to instruct students about the use of some service on the internet.

  2. 2.

    Invite end-users to join the survey: After defining the end-user profile, a formal invitation was made to participate in the survey. Six people agreed to participate in the survey.

  3. 3.

    Define search development location: On account of the public involved, and the municipality of the application, the place of the application was defined to be the home of each end-users, causing the study to be carried out one by one.

  4. 4.

    Conduct technical application sessions with end-users: The conduction of the application is described in Sect. 5.

End-users were identified from their professional profiles of education with the desire to develop something differentiated to help in the interaction of students in the classroom. We have the participation of six volunteers, aged between 20 and 25 who teach elementary and high school classes. End-users were recruited according to their profiles of education professional with the desire to develop something differentiated to help in the interaction of students in the classroom.

The elaboration of the technique of narratives was performed at this stage. The narrative method was applied to serve the end-users better and could contribute better to the development of their web applications, enabling a job with more quality and satisfaction.

The application of the technique was structured in this way: a use narrative training was created explaining step by step from what it is, what it is for and how it can be used. Then an example was presented, and soon we created three scenarios for the end-users to execute them, telling us that the first two were just to make the end-user more involved and that he could learn about narratives, and the last one would later be put into practice in a tool.

Before the application of the technique, we trained each participant in the narrative technique. Subsequently, the end-users themselves wrote their usage narratives, and then the end-users were trained on the SideTalk tool, and finally the construction of SideTalk conversations by each end-user. Throughout these steps, we observed participants regarding their engagement in the creation and later use of narrative during end-user programming.

SideTalk (formerly called WNH - Web Navigation Helper) is a Firefox browser extension, built from the CoScripter macro recorder [9]. SideTalk “inherited” from CoScripter the ability to write different interactions on Web pages, generating navigation scripts. It is in tune with the actions recorded in the script that the mediation dialogs appear [10]. Figure 1 illustrates the SideTalk splash screen, which provides a brief explanation of the tool and where the conversations are already created, the conversation import icon, and the link for editing.

Fig. 1.
figure 1

SideTalk Home screen

SideTalk also has the function of creating dialogs for the commands, with this functionality users can better explain the steps to be followed and can create dialogs of opening and closing their activities, Fig. 2 shows the example of this functionality.

Fig. 2.
figure 2

SideTalk dialog creation screen

5 Technical Application Sessions

The end-users were labeled P1, P2, P3, P4, P5, and P6, so that the anonymity was preserved, as presented in the end-users consent form. Table 1 below shows the end-user data, and the time each took to complete the proposed tasks.

Table 1. End-users data

The study was done sequentially with one end-user at a time. The research was carried out in a place with Internet access so that it was possible to build conversations by end-users. Following the training, end-users were instructed to elaborate narratives, taking into account three proposed goals.

The goal is a high-level requirement that represents what a user could achieve using a system. From a high-level requirement there are several ways to build a system, and in the elaboration of the narratives, the end-user will produce a specific scenario to meet the requirement. The first two goals are focused on the training of end-users so that they can become familiar with the technique of writing narratives. The third objective is what will be used for the elaboration of the narrative for the creation of the SideTalk conversation.

The first goal reads as follows: “Imagine that you need to send pdf texts to your students over the weekend so they can do a particular job, how would you do to pass these texts on to them?” As an example of narrative, the end-user P1 wrote the narrative of Table 2.

Table 2. Narrative written by P1
Table 3. Narrative written by P5

The second goal reads: “You need to teach your students how to get a book from a particular subject on the internet because this book is not sold in the city bookstore. How would you go about teaching them to get this particular product?” As an example of narrative, the end-user P5 wrote the narrative in Table 3.

The third goal reads as follows: “You will give a computer class to your class, and you need to teach your students how to do a social networking account (Facebook).” As an example, the end-user P6 wrote the narrative of Table 4.

Table 4. Narrative written by P6

The narratives of the six end-users related to the last objective are presented as follows:

  • P1 - Open the browser, search for ‘facebook.com’, in the search box when opening the page will fill the requested data, (name, surname, email address, password, date of birth), after filling the data, click on the button to open an account. Dialog to enter at the beginning: Welcome! Today’s challenge is to make a Facebook account! Dialog to type at the end: You just created an account on the social network Facebook! Fill in the data!

  • P2 - It would open the browser and search for the word ‘Facebook’, access the link and access the page that would be targeted. Fill in the data that is requested, and if everything is right and available, click open an account, and then you can use your account on the social network. Dialogue to Open: Hello, we will start the process of creating a Facebook account now! Dialogue to Finish: We have finished creating the account on Facebook. Enjoy the experience! Data needed for account creation on Facebook!

  • P3 With the browser open, we enter the site ‘www.facebook.com’, in the search box of the browser click enter, and enter the home page of the site. We look for the ‘open an account’ box, highlighted in blue and click. From there we fill in the spaces with our data, answering each space with what is requested, for example, name, surname and so on. The part of the email will have to be filled with valid and active email. For those who already have is just typing, for those who do not have to be created (just go to the gmail.com website, for example, click on create an account, and do the same process). The password will be created according to your imagination (I advise it to be a date or word that has some meaning and difficult oblivion). After all the information is filled, we will have your profile on Facebook. Text to open: Well, today we will do a different lesson, the proposal is to create a Facebook account, you should just follow the guidelines below. Good class! Text to close: As you have followed the guidelines and it worked very well, you now have a Facebook account! User data!

  • P4 - First go to ‘www.facebook.com’, and then enter your data, first name, phone or email, male or female, birthday, day/month/year, and password. After that, click open an account. Ready your Facebook social network has been finalized. Text to start: Hello, today we will create a Facebook account. Text to finalize: The account was created successfully. Fill in the data!

  • P5 - With all the students in the computer lab I asked them to turn on the computer and open the internet browser, then type in the URL ‘www.facebook.com’. Opening the site will fill the following register to create the account in the social network where you will be asked for name, surname, email, etc. Then click the button to open an account. When done this everyone will be able to enjoy. Opening dialogue: Hello, today we will create a new Facebook account! The task is simple; you just need to follow the steps as shown below. Good performance! Final dialogue: Congratulations, you just created a new Facebook account! Enter the data!

  • P6 - First step is to open the browser, type in the URL “www.facebook.com”, then open the Facebook registration screen, then the following data need to be entered. First name, last name, email, confirmation email, password, date, month and year of birth and then click open account. Initial text: Well, today we will do something different, we will learn how to create an account on the social network Facebook, so that it is done correctly, please keep an eye on the step by step information that will be displayed. Good performance!

Subsequently, the SideTalk tool training was started so that end-users could check how it should be used. After the training, the end-users began to create the conversation, asking them to create it according to the third objective, just to see if the end-users relied on the narratives to reach the goal of creating the conversation in the SideTalk. In the creation of the conversations, the end-users started from the opening the browser until the creation of the account in Facebook including the dialogues requested in the tool, and they had the support of the researcher with the syntax of the tool and the technical problems. In Figs. 3, 4, 5 and 6 an example of the creation of SideTalk conversation performed by end-user 4 is displayed.

Figure 3 illustrates the steps that the End-user P4 performed to reach the Facebook page and then begin the data fill step and then, with all the data filled, concluded with the click of the “open one account”.

Table 5 shows a representation of the scripts that were generated in the creation of a new Facebook account by the end user 4.

6 Results

In this section, we report the results of the research, based on the users’ answers collected through the interview at the end of the application, the observations made by the researcher and the comparison between the written narratives and the conversations built on the SideTalk tool. The analysis seeks to answer whether the use of the narrative writing technique by end-users helps in the development of conversations in the SideTalk tool.

Fig. 3.
figure 3

Screenshot of creating a Facebook account by end-user 4

Fig. 4.
figure 4

Creation of opening dialog created by end-user 4

Fig. 5.
figure 5

Closing dialog creation screen performed by end-user 4

6.1 Interview Analysis

After the end-users created their conversations, an interview was conducted with six questions related to the development and training contained in the research. The first question was “Could you build what you had planned?”, The six end-users responded positively to this question. Analyzing the writing of the narrative and the construction of the conversations in SideTalk it was noticeable that all the users were able to build what they had planned. However, some of the end-users had difficulty knowing the order of data entry necessary for the creation of the account, for example, P3 wrote the narrative as follows: “(...) we enter the home page of the site, we search for the link ‘Open an account’, highlighted in blue and click, from there fill the spaces with our personal data (...)”. In fact, the completion of personal data happens before the option to open the account. This difference between the planned narrative and what it was actually possible to do on the social network did not affect the construction of the conversations.

Fig. 6.
figure 6

Screen of all dialogs made by end-user 4

Table 5. Representation of account creation scripts on Facebook

The second question was “Have you developed something you had not planned?”. Three end-users, P3, P4, and P6, responded that they had not developed anything beyond what was planned. The end-users P1 and P2 replied that they had to create a new email account to test the conversation built on SideTalk. The end-user P5 replied that he did not develop anything in SideTalk beyond what he had planned, but his narrative begins with step-by-step, from the operation of turning on the computer, opening the browser until the creation of the account in the social network. Some end-users have answered this question also considering the data that should be prepared for the test created in the SideTalk tool. However, this is not configured as an additional functionality implemented. Taking into account the conversations created and the planned narratives, it was noticeable that some of the end-users forgot the detail of having to create a new email that was not associated with any Facebook account. P1 and P2 created a fictitious email at the time of the research, P3 prepared the creation of e-mail during narrative writing, while P4, P5 and P6 already had an email not yet used in the social network Facebook. For the end-users who did not remember putting the creation of an e-mail in the preparation of the narratives, they were given an already created e-mail. It was noticeable that the preparation of the narratives reminded some of the end-users of the need to create valid test data for account creation on the social network.

The third question read as follows: “Beyond the narrative, did you prepare an outline, plan or artifact before development?”. P1, P2 responded positively. P1 and P2 used a sheet beyond the narrative to write the data needed to create the account on Facebook. And P1 still illustrated how the button creates account. P4 also responded positively (“Yes, before I made a plan to run it then.”) but in actually the end-user referenced the narrative itself as a kind of plan. The other end-users, P3, P5 and P6, responded negatively to this question. Expectations would be that the end-users did not need any other plan beyond the narrative, but P1 and P2 thought it best to make a separate sketch of the narrative to put the account creation data.

The fourth question reads as follows: “What were your difficulties during development?”. Four end-users, P1, P2, P3, and P6, had difficulties, P1 and P6 reported that “In a few moments the program locked, in the time of putting the month and the year of birth, in the data register of the Facebook account”. P2 said that “had difficulty understanding the context of the narrative”, the difficulty found by P3 was “Not knowing exactly the sequence of steps to create the account on Facebook,” P4 and P5 answered the question negatively. Even though some of the end-users reported some problems, it was noticeable that it did not affect them in relation to not being able to complete what they had planned.

In the fifth question was asked with the end-user if “Before developing something similar, would you again use the preparation of narratives?”. P1, P2, P3, P5 and P6 responded positively to this question. P1 reported that “I would use it, it’s a simple and quick way to help and even if I’m a person who has never seen it, I can easily understand it.” P2 commented that “it was great to have written everything I needed, so I did not forget any details”. P3 reported “Yes, because it helped me to create the conversation on Facebook”. P5 commented that “to understand the narrative it is essential to know it before” and also said that “I found the preparation very useful, because what I planned it went as I wanted”. The end-user P4 was the only one with an undecided response, reporting that “I thought so.” It was noticeable that the end-users P1, P2, P3, P5 and P6 quite liked the narratives and even if P4 responded indecisively, it was noticed that he used a lot of narrative preparation to build his SideTalk conversation. Therefore, it is concluded that the preparation of narratives was very important for the accomplishment of this study.

The sixth question was related to the training “Did the brief explanation of use narrative help you when you do it yourself?” P1, P3, P5 and P6 responded positively, P2 reported that “yes, but at first I had difficulty understanding, but when I started doing the narratives myself I felt that I had really learned.” P4 was brief, only responding that “helped”. The training of narrative was very satisfactory, it was noticeable that in explaining it to some, it was clear to others not, but when they themselves began to make the narratives, they managed to do them well. In this way, the narrative proved to be a technique for easy understanding and a tangible benefit.

6.2 Direct Observation Analysis

The end-user P1 was very attentive throughout the process and quickly understood the narratives, the only question was whether it was doing it right or not since it was the first contact with a certain subject. Interesting that in addition to the narratives, P1 put some data in a separate draft that would need to create the account on Facebook and still illustrated by sketching a button “Open an account”. It was noticeable that the end-user liked the interaction and commented that he would use in his work as a teacher as a way to improve the communication with the students.

P2 had difficulty beginning to understand the concept of use narrative, but then managed to understand thoroughly and write the narratives with ease. This user also used the draft to put the data needed to create the account on Facebook and at the time of the creation of the conversation resorted to the two roles, both the draft and the written narratives.

P3 was one of the most enthusiastic, had no difficulty understanding the concept of narratives, and also proved to be participatory throughout the research. P3 pointed out that would be interesting to perform lectures with more interactivity. P3 added, “It was important to have written the narrative before creating the conversation because it helped me when it was time to create it”.

P4 did not prove to be involved with the research as the other end-users, understood the concept of the narratives well, wrote them well, but at the time of the interview when the question was asked “before developing something similar would you again use the preparation of narratives of use?”, he replied that “he thought so”, it was noticeable that there was not much interest, but there is a contradiction because in the construction of the conversation it was realized that he drew much attention to the narrative.

P5 was participative, his understanding and writing were satisfactory, he was a bit worried if he was writing the narratives correctly, and added “can I look on the internet and find more examples?”, But even with the doubt managed to do well, and made a comment that called attention, that he had found legal the construction of the narratives and the conversations, and that actually preparing before had been better, because he did not forget anything. It was the only end-users who wanted to create the conversations first and then write the narratives, but then realized that the form used was the best way.

P6 was participatory throughout the research, it was noticeable that he understood the concept of narratives well and was able to do them well, became interested in writing narratives and added that they helped when he needed to create the conversation in the tool.

After analyzing the participation of the end-users, it was concluded that the narrative explanation was presented in a simple and easy-to-understand way for the end-users, as well as the narrative writing training, which provided the end-users with a greater knowledge and facility to elaborate the narrative that would be used as intended to create the conversations in SideTalk. Also, it was noticed that the narrative served as a guide to end-users in the creation of scripts and the development of dialogues within SideTalk, although this tool is a novelty for those involved.

Rosson et al. [11] observed that the scenario technique, similar to narratives, is a low-cost technique and that it gave end-users a better view of what needed to be done in the application development. This research has achieved similar results in a context of entirely different user profiles and programming tools.

7 Related Work

Requirements engineering in the context of EUSE is a topic of interest that needs to be explored [3]. Notably, we are interested in requirements specification and planning activities. The work of Rosson et al. [11] reports an exploratory research project that investigates the impact of different forms of project planning performed by end-users. End-users were asked to make a simple application using a web development tool for end-users. The study aimed to investigate the influence of planning techniques in end-user development. Conceptual maps elaboration, interaction scenarios writing, and non-guided free planning were compared among groups of end-users. Conceptual map stood out from the three approaches. Conceptual maps were highlighted because end-users were able to work harder in less time, while the end-users who worked with the scenarios also managed to develop their planned activities but with a longer time compared to the conceptual maps. On the other hand, users who did not use any technique had difficulty getting the construction of an application. Users who did not create a pre-development plan were found to have more problem in development.

The study of Rode et al. [11] aims to understand what end-user developers need, how they think, and what can be done to help them when it comes to developing their applications. A simple web application was created for the study, ten participants were chosen who had some familiarity with websites, but had little programming experience, five were female, and five were male. Participants have given a general introduction to the objectives of the study, so they were asked to view and label all elements of the application’s three functionalities: login, member list, and add members. This first phase of the study was designed to report on languages that the public uses to refer to visible screen elements, then end-users were allowed to explore the application until they were comfortable using it.

After the familiarization phase, participants were given seven user tasks (login, pagination, user-specific profile, add a member, sort, search, delete) and were asked to be taught these behaviors to a magic machine. A paragraph of text within the written instructions explained this scenario to the participants. The seven tasks were presented by concise instructions that were designed to guide the user without polarization to their response. Participants wrote responses using screenshots and blank paper, emphasizing that they were free to choose how to communicate with the magic machine (using written words or drawing), but also that they should fully specify the behavior of the application.

The work of Rode et al. [12] and the research in question are identified by the fact that end-users will work with their ideas for an application. In Rode et al. [12], the end-users will explore an application that is already built, and in this research, end-users will build an application from planning done by them.

8 Final Considerations

This work presents an evaluation of the outcomes and perceptions of end-users using a requirements engineering technique for planning purposes. The narrative writing helped end-users in the prior planning of what would be built on the SideTalk tool, achieving similar benefits that such a technique would bring in a professional development context.

The elaboration of narratives helped end-user reflecting and registering their ideas so that throughout the development work important characteristics were not lost. Also, the upfront planning facilitates that the objectives of their application could be discussed with other potential users. It is worth mentioning that the profile of the end-users (elementary and middle school teachers) is of people who already have the culture of preparing themselves before executing their professional actions (lecture, for example). This suggests that requirements engineering and other software engineering activities may better be adopted by end-users depending on the culture of their professions.

As future work, we propose that the evaluation of the use of the narratives be performed with experienced end-users in the tool used so that we can verify how narrative writing related to this audience happens. We also propose that the narratives be used in context with more extensive user requirements that require the planning of more narratives, and that are used to prepare activities in other systems.