The requirement elicitation process of designing a collaborative environment – The CRE@TIVE.BIZ case

. The software development industry is one that is under a constant pressure to deliver products that are innovative, fast to market and better suited to the costumers’ needs and expectations. In this context, the traditional approaches to product development can become obsolete, as the market and the end-users are dynamic and rather unpredictable and the latter’s active participation can sometimes make the difference between success and failure. The Agile approach, on the other hand considers extensive collaboration with all stakeholders paramount in all the stages of the software development process and for this, a variety of requirements elicitations techniques are used in order to obtain extensive input that leads to designing and developing enhanced products and applications. This paper presents the requirement elicitation process and techniques used in the development process of an open collaboration and innovation platform – CRE@TIVE.BIZ which is an experimental model dedicated to create a community where all relevant stakeholders from three specific creative industries, namely design, fashion design and crafts, can meet, interact, gain access and share information, knowledge and resources.


Requirements elicitation process. The Agile framework
The process of requirements elicitation (RE) is generally accepted as one of the critical activities in software development and it refers to the specific manner used in developing, analyzing and documenting all the system's requirements from stakeholders.Getting the right requirements is considered to be a vital, but difficult part of software development projects [1], as it deals with the significant problem of designing the right software for the customer [2].
Requirements elicitation is all about learning and understanding the needs of users and project stakeholders with the ultimate aim of communicating these needs to the system developers.A substantial part of elicitation is dedicated to uncovering, extracting and surfacing the wants of the potential stakeholders [3].
The conventional methods to the requirements elicitation process used to focus on gathering all the system requirements and preparing the requirements specification documents up front before proceeding to the design phase, but in practice, this approach proves to be detrimental to the development process, as it leaves no room to accommodate any kind of change, which is inevitable due to the business dynamics and the ongoing modifications of costumers' needs and expectations.
In this context, the agile approach to software development and requirements engineering [4] proves to be a better fit, as it welcomes changing requirements even late in the development cycle to accommodate the stakeholders needs.
Agile Methods (AMs) are a family of software development processes designed to deliver products on time, on budget, and with high quality and customer satisfaction, that have become popular during the last few years [5][6][7].The aim of these methodologies is to deliver higher quality products faster and better fitting to the costumers needs and this is done through extensive collaboration with the project's stakeholders.This element is one of the pivotal points of the Agile Manifesto which states that the main priority should be given to "individuals and interaction over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to changes over following a plan" [6].
Agile Methods enforce very little upfront requirements elicitation but instead advocate incremental and iterative discovery throughout and integrated with the software development lifecycle [8], by prioritizing and delivering the most important functionalities first.
In most cases the process of requirements elicitation is performed incrementally over multiple sessions, iteratively to increasing levels of detail, and at least partially in parallel with other system development activities.Typically, the result of this process is a detailed set of requirements in natural language text and simple diagrammatic representations with additional information including descriptions of the sources, priorities, and rationales [3].
Plus, due to the complexity of most software systems, the technical and non-technical requirements can come from a variety of sources: problem owners, project documentation, stakeholders, and other existing systems and so, many of the effective techniques used in the requirements elicitation process do not originate from the traditional areas of software engineering or computer science research but from social sciences, organizational theory, group dynamics, knowledge engineering, and very often from practical experience [3] and are being embedded in iteration-based agile methods [9].
The right combination of elicitation technique and clear proposed objective produce quality software whereby clear proposed objective after doing requirements elicitation is essential to the success of software development projects [10].
2 Short description of CRE@TIVE.BIZ project CRE@TIVE.BIZ is a complex and innovative platform developed through a research project implemented by the Engineering and Management Department of "Gheorghe Asachi" Technical University of Iasi.
The goal of the project is to develop an experimental model dedicated to creating a community where all relevant stakeholders from specific creative industries can meet, interact, gain access and share information, knowledge and resources.
The platform has three main components: -A crowdsourcing component aimed at engaging relevant stakeholders from creative industries for a common goal, in terms of knowledge discovery & management, distributed human intelligence tasking, peer-vetted creative production and broadcast search.Through this platform section, users can address questions and find answers, share creative ideas in order to receive feedback, find solutions to different problems etc.
-A marketplace component which is a brokerage section that has the objective to pair offers from support services and raw materials providers with companies from creative industries.Through this platform section, users can find relevant providers of products or services needed and can buy and sale products and services related to creative industries.
-An e-shop component that offers the opportunity for each company or individual that has an account on the platform to create its own virtual shop in order to present and sell the products to end-users.

The requirement elicitation process for CRE@TIVE.BIZ
According to the literature, the typical activities of the requirements elicitation process can be divided into five fundamental types [3]: understanding the application domain, identifying the sources of requirements, analyzing the stakeholders, selecting the techniques, approaches, and tools to use and eliciting the requirements from stakeholders and other sources.
Understanding the application domainthis phase refers to the detailed investigation and examination of the situation or "real world" in which the system will ultimately reside (sometimes called the application domain) [11].
In our case, the domain analysis, focusing on identifying missing online solutions and instruments that entrepreneurs and freelancers from creative industries can benefit from was conducted in 2017 as part of the research process to apply for UEFISCDI financing.
The outcomes of the understanding the application domain stage consisted in two types of documentations: an academic oriented documentation and a business oriented documentation.
The academic oriented documentation focused on studies and analysis conducted by the research team regarding business ecosystems, open innovation and crowdsourcing, as the domain knowledge in the form of detailed descriptions and examples plays an important part in the process of requirements elicitation [3].
The business oriented documentation consisting in: the mission statement of the project, the main goals of the project and implicitly of the platform (experimental model), a list of the main components of the platform, a list of basic functionalities of the platform, a list and general description of the target groups and the main stakeholders.
Another relevant aspect considered in this phase was the project's team experience in designing and developing innovative online instruments for business development, as it proved instrumental in every stage of the requirements elicitation process.
Identifying the sources of requirements -due to the complexity of software development projects requirements may be spread across many sources and exist in a variety of formats [12].
The process of investigating all the relevant sources of requirements for CRE@TIVE.BIZ platform development provided a variety of sources and documents to be used in the requirements elicitation process by the project team.The main sources identified were: platform stakeholdersthey were further involved in the requirements elicitation process through requirements workshops, namely focus-groups, questionnaires and prototype testing.
users and subject matter experts: in this case PhD students researching creative industries ecosystems, web designers and web programmers.The PhD students performed extensive research on their expertise subject and delivered reports.Web designers and web programmers participated in requirements workshops to identify, analyze and prioritize the most important features and tasks to be performed in each sprint and later on in the process in prototype testing.At the same time, their input was relevant regarding the aspects of the non functional requirements of the platform, such as security, performance, maintainability etc.
existing systems and platformsthe academic project team performed a benchmark analysis on different platforms covering the three main components of the CRE@TIVE.BIZ project: crowdsourcing, marketplace and e-shop, to identify common functional and nonfunctional features.
project and legal limitations were also taken into account as there are relevant to the implementation of different features of the platform and they are listed in the financing contract signed between the University and UEFISCDI.
Analyzing the stakeholders -the customer involvement and interaction were declared the primary reasons for project success and limited failure [13] and the identification and description of relevant stakeholders that can appropriately define, clarify and prioritize requirements is paramount [14].Stakeholders are people who have an interest in the system or are affected in some way by the development and implementation of the system and hence must be consulted during the requirements elicitation process [3].
Identifying and analyzing the stakeholders was an extensive and rather difficult process, due to project complexity, but in the end the stakeholders list included: companies and individuals active in the three target creative industries, namely: design, fashion design and crafts.
companies and individuals that can provide support services, raw materials or products for creative industries.
companies and individuals interested in purchasing products from creative industries companies.
others, namely individuals interested in participating in crowdsourcing competitions and contests.
All stakeholders were considered to be users as for interactive systems, users play a central role in the elicitation process, because usability can only be defined in terms of the target user population [15].
The stakeholders' needs were analyzed and evaluated for a primary identification of the main requirements and then they were further involved in the requirements elicitation process through requirements workshopsfocus groups, by completing questionnaires regarding the platform's functionalities and design and in the prototype testing phase.
Selecting the techniques, approaches, and tools to use -in practice it is generally accepted that most projects imply more than an individual requirements elicitation technique or approach.However, the variety of techniques to be employed depends on the specific context of the project and the organization developing it and is often a critical factor in the success of the elicitation process [15].
The techniques and tools employed throughout the requirements elicitation process were chosen taking into account the project team previous experience in developing online applications and the specifics of the stakeholders involved and consisted in: domain analysis brainstorming requirements workshops task analysis questionnaires prototype testing.
Eliciting the requirements from stakeholders and other sources -once all the sources of requirements and the specific stakeholders have been identified, the actual elicitation of the core requirements begun by using each of the techniques selected in the previous stage.
Domain analysisin the first stage of the requirements elicitation process which took place in 2017 when the project team started working on the research project consisted in an extensive literature review meant to clarify the research problem and to identify the needs of entrepreneurs from creative industries and the existing online instruments/platforms companies can use for business development.The domain analysis was followed by several brainstorming sessions which had the goal to develop the preliminary mission statement for the project and target system and to establish who are the platform's users, what are the main characteristics of the platform and what problem(s) will solve for the users.
At this stage, the project team has designed the main components and functionalities of the platform, based on the benchmarking analysis conducted.
Once the project received financing, the project team extended the use of requirements elicitation techniques to involve more stakeholders in the process through requirements workshops, task analysis, questionnaires and prototype testing.
The requirements workshops, namely focus groups were organized by the project team taking into account two main types of stakeholders/users: one of the focus groups with companies and individual activating in the three creative industries nominated in the project and another with web designers and web programmers.Each focus group had a different motivation and emphasis, but the common goal was to improve platform usability and utility.The focus group guide included questions divided into several subgroups covering: technical aspects, graphical design, contents, structure and navigation.
Each focus group was conducted by a member of the project team who had the facilitator role and apart from asking the questions included in the focus group guide and recording the answers, they also guided and assisted the participants in addressing the most relevant issues in order to receive accurate and complete requirement information.The results of the focus groups were analyzed and transformed in a detailed list of processes which were further decomposed.
After the focus group results examination, the project team conducted a task analysis which employed a topdown approach where high-level tasks were decomposed into subtasks.The main objectives in this stage was to construct the hierarchy of the tasks performed by the users in the platform and to determine the necessary knowledge required for users to carry them out.This was a relevant assignment, as the platform is an innovative instrument and the target groups may not fully understand how to use it in order to gain most advantages.Plus, the details resulted from the task analysis stage, were further included in the questionnaires.
The questionnaires were designed following QDF (quality function deployment) methodology which is used to translate the customer wants and needs into product or service design characteristics utilizing a relationship matrix.The questionnaires were sent to all the types of stakeholders identified.
Once the platform prototype has been designed it was tested with all types of stakeholders in order to receive relevant feedback regarding the functionalities developed and the overall platform usability.

Conclusions
The requirements elicitation process is starting to be recognized as a critical activity in any software development process, due to the constant demand for better, faster and more usable applications.
In this context, the project team analyzed and selected the elicitation techniques that better suit the project specific needs, the stakeholders involved and the team members expertize.The goal was to make sure that the requirements elicitation process is properly conducted and the results obtained in the activity will thoroughly cover all the relevant functional and non functional requirements of the platform.
In order to ensure this, the research team opted for a combination between domain analysis, brainstorming, requirements workshopsfocus groups, task analysis, questionnaires and prototype testing and an ongoing active involvement with all relevant stakeholders.
At the same time, the requirements elicitation in agile approaches is an ongoing iterative process as any change in business dynamics can influence and produce adjustments in the development of the platform.