AAAI Technical Report SS-12-06 Wisdom of the Crowd CrowdREquire: A Requirements Engineering Crowdsourcing Platform Adedamola Adepetu, Khaja Altaf Ahmed, Yousif Al Abd, Aaesha Al Zaabi and Davor Svetinovic Masdar Institute of Science and Technology Abu Dhabi, United Arab Emirates Email: {aadepetu,kahmed,yalabd,asalzaabi,dsvetinovic}@masdar.ac.ae Abstract corporations, to provide innovative solutions to problems. It is important to create an atmosphere of healthy competition among the users as this has the potential of producing excellent results from the crowd. Cash rewards act as a very important incentive for the crowd as does the sense of prestige among peers, i.e., the CrowdREquire crowd in this case. It is also important to note that the success of crowdsourcing has been aided by the Internet age as these companies have been structured to work with a closely networked crowd (Howe 2006). Communication is way easier and faster than pre-Internet times, bringing the crowd together in a global village. Hence, Web 2.0 has been a fundamental factor responsible the success of the crowdsourcing revolution. This paper describes CrowdREquire, a platform that supports requirements engineering using the crowdsourcing concept. The power of the crowd is in the diversity of talents and expertise available within the crowd and CrowdREquire specifies how requirements engineering can harness skills available in the crowd. In developing CrowdREquire, this paper designs a crowdsourcing business model and market strategy for crowdsourcing requirements engineering irrespective of the professions and areas of expertise of the crowd involved. This is also a specific application of crowdsourcing which establishes the general applicability and efficacy of crowdsourcing. The results obtained could be used as a reference for other crowdsourcing systems as well. 1 2 Background and Approach There are four major areas that need to be considered while developing CrowdREquire and these are the concept of crowdsourcing, requirements specification, business model and market strategy. Distributing simple tasks to individuals is not necessarily a daunting process. However, assigning complex tasks require a high level of organization and enhancement especially with the challenge of dividing problems, assigning the sub-problems to individuals and combining the solutions (Zhang, Horvitz, and Miller 2011). The importance of the efficient division of tasks into subtasks, i.e., smaller tasks, getting sub-solutions to these subtasks and systematically combining the sub-solutions to give a comprehensive solution to the original problem can be seen in (Zhang, Horvitz, and Miller 2011). One of the motivations of crowdsourcing is that crowdsourcing cuts out a significant percentage of capital required to solve a problem using outsourcing. Crowdsourcing is not entirely free but it is cheaper than outsourcing or having conventional employees (Howe 2006). This is highlighted as one of the major reasons for the success of crowdsourcing. Questions arise over the accuracy, quality and authenticity of results of crowdsourcing. Wikipedia is an example of a crowdsourcing platform and it was shown (Goodin 2005) that it is accurate despite the fact that it is an encyclopedia developed by millions of users, i.e., a crowd. On the issue of disagreements on accuracy of Wikipedia articles, Wales (the founder of Wikipedia) had to settle such cases himself when Wikipedia was still a fledgling platform. The system is however now Introduction This paper is aimed at developing the requirements for a conceptualized requirements engineering platform based on a crowdsourced workforce. Requirements engineering involves different stages (elicitation, analysis, specification and quality assurance (van Lamsweerde 2010)) which if properly organized, might be crowdsourced. The main idea of CrowdREquire is to develop requirements for projects submitted by individuals, corporations or any other external bodies. Also CrowdREquire would be designed to be webbased in order to maximize the advantages of crowdsourcing on the Internet. Labor markets such as InnoCentive (Innocentive.com ), iStockPhoto (iStockPhoto.com ) and prospectively, CrowdREquire, require specializations and specific talents. CrowdREquire is similar to Amazon Mechanical Turk but a major difference is that the tasks on Turk are relatively simple and can be performed by anyone while the process of developing requirements, as is the aim of CrowdREquire, is more complex. This explains the reason why Amazon Turk has been described as “crowdsourcing for the masses” (Howe 2006). CrowdREquire uses a contest model (Vukovic and Bartolini 2010) in which the final solution to a task is selected based on competition among members of the crowd. This is closely related to InnoCentive which receives requests from external c 2012, Association for the Advancement of Artificial Copyright Intelligence (www.aaai.org). All rights reserved. 2 Business Model The CrowdREquire business approach is detailed showing the purpose, goals, stakeholders, work context model and typical business events of CrowdREquire. The Purpose of CrowdREquire CrowdREquire incorporates the idea of crowdsourcing with requirements engineering. In other words, the crowd submits requirement specifications as solutions to tasks submitted by clients. The process of developing requirements is a daunting task and requires expertise which is not always available, therefore CrowdREquire is aimed at providing this expertise through the crowd. Also, CrowdREquire has the potential to attract people from different fields of interest, knowledge and experience and as a result, clients would be potentially able to choose one out of many solutions to their defined problem. Figure 1: Business Model Key Elements and Building Process self-regulating (McNichol 2011). Crowdsourcing is more than just creating a website where people just work. There must be a structure which guides the clients and the crowd in the desired directions, assists the clients in describing the challenges they want solved, and aids the crowd in executing tasks. It is also important that a crowdsourcing platform has a sufficient crowd, must be appealing to encourage participation, and must be relatively easy and feasible for the crowd to use. According to (Chanal and Caron-Fasan 2008; Osterwalder 2007), the important elements required to build and clearly define a business model are customer segments, value proposition, distribution channels, customers relationship, revenue streams, key resources and key activities. The relationship between these elements is shown in Figure 1. These elements are incorporated in the CrowdREquire business model development. Due to the dynamic nature of the project and the relatively novel application of crowdsourcing to support requirements engineering, an agile approach for the development of requirements for CrowdREquire should be applied. For requirements elicitation, the brainstorming method was used (van Lamsweerde 2010). This involved multiple sessions where the aims, objectives and potential limitations of CrowdREquire were discussed. In addition, the Volere Specification Template (AtlanticSystems 2010) which is an industry-standard requirements specification template was partly used. This was done in order to improve the viability of the final requirements specifications. The market strategy involves using appropriate strategies and corresponding methods for connecting with the customers. Some of the factors considered in mapping out the CrowdREquire market strategy are market segmentation strategy, targeting strategy, positioning strategy, corporate message and image, product and service strategy, pricing strategy, distribution channels, promotion and advertising strategy, sales strategy and sales forecasts. 3 CrowdREquire goals CrowdREquire is needed because it will aid individuals and companies in finding the best requirements specification for their proposed tasks and projects. CrowdREquire also provides a communication tool to connect requirement engineering professionals with the companies that require their services. The aim of CrowdREquire is to give timely and complete response to clients who submit a task definition. The Stakeholders The CrowdREquire stakeholders are as follows: 1. Client: A client is any individual, company or organization that uses the crowd to gather their requirements. Also, the requirements process whether implicit or explicit is an essential process in the success of projects in several fields of practice. The range of potential clients is very broad with respect to size, area of specialization and the nature of projects. The client has the final say on acceptance of the one of the submitted requirement specifications. The client is also encouraged and assisted to divide projects into tasks and subtasks whenever feasible. 2. Crowd: The crowd is the group of those who register on CrowdREquire and are willing to participate by submitting a solution to any of the projects offered. The crowd member is ultimately responsible for deciding whether to participate in defining the requirement specification of a project or not. If one crowd member’s requirement specifications are chosen by the client, the crowd member shall receive a corresponding financial reward. 3. CrowdREquire Administration and Staff: The system administration shall have the full access to CrowdREquire and have the full authorization to monitor and maintain CrowdREquire. In addition, the CrowdREquire administration shall be for overseeing payment processes in which they receive the payment from the client and distribute it to the rewarded crowd members after deducting charges. CrowdREquire Work Context Model The work context model, shown in Figure 2 summarizes the activities that exist in CrowdREquire and the role of each actor in CrowdREquire. The CrowdREquire requirements specification, business model and market strategy are presented and explained in this section. 3 Client and economic factors that influence the industry and market shall be identified and monitored. Furthermore, technological breakthroughs such as advancements in Web 2.0 shall be anticipated and swiftly incorporated where possible into CrowdREquire. Existing customer relationships shall be maintained and improved where possible. Crowd CrowdREquire Requirements Specification The CrowdREquire functional and nonfunctional requirements are shown in Table 2. These are general CrowdREquire requirements rather than specific and detailed requirements. It should be noted that ‘the system’ in Table 2 refers to CrowdREquire. CrowdREquire Admin/Staff 4 Evaluation As seen in Table 2, necessary modifications were made in order to achieve a general requirements specification set for CrowdREquire. The organization and structure of the CrowdREquire specification defines and describes business use cases, presents a CrowdREquire use case diagram, explained a work context model, and specified the general functional and non-functional requirements. The requirements were also checked for conflicts. In addition, the requirements specification was summarized for this paper as the fit criteria and rationale for each requirement could not be included. With respect to the completeness and correctness of the requirements, the CrowdREquire requirements are written at a consistent level of detail. Clear and consistent language is used in describing the requirements. Classes of users and their characteristics are also defined, with specifications on how the system is supposed to serve the users. Different forms of product requirements are detailed, with security and legal requirements as well. The business side and marketing requirements are also highlighted. Industry standard methods were employed in developing the CrowdREquire business model and marketing strategy, and the system requirements were analyzed together with the business and market requirements. There are certain challenges that could be faced by CrowdREquire such as Quality Assurance (QA), government and legal issues, and business viability. These challenges are not uncommon to crowdsourcing systems (Vukovic and Bartolini 2010). However, there are some methods that have been explored to tackle these challenges. The quality challenge traverses all crowdsourcing models, crowd types and sizes (Vukovic and Bartolini 2010). QA in crowdsourced search results was researched in (Le et al. 2010), evaluating the impact of training question distribution for the crowd. The results obtained show an improvement in the relevance of search results. This use of tests is similar to the optional client-defined tests incorporated in the CrowdREquire task definition requirements. These tests can ensure that each task is undertaken by qualified members of the crowd working. Also, the contest crowdsourcing model employed by CrowdREquire encourages a competitive environment and this naturally ensures that members of the crowd produce solutions to the best of their abilities. QA Figure 2: CrowdREquire Context Model Figure 3: CrowdREquire Use Case Diagram Business Events List Table 1 shows a list of the business events on CrowdREquire. The numbers for each Business Use Case (BUC) match the numbers of the corresponding CrowdREquire use cases shown in Figure 3. It also details the input and output information for each event. Market Strategy CrowdREquire shall be a web-based platform and shall therefore be conceptually open to use around the globe. The general methods, distribution channels and industry structure for crowdsourcing shall be identified with the main functionality of CrowdREquire being distributed problem solving. Also the primary market research channel shall be the Internet while secondary market research shall also be conducted to collect important market details from resources published by government and financial agencies. The cost of the research shall also be taken into account. In addition, industry analysis shall cover a comprehensive study on industry segments, current trends, market size, growth rate, rise of other crowdsourcing-oriented businesses, etc. Potential competitors shall be identified and the level of competition shall be established. Legal, political 4 No. Event Name 1 Client or crowd member registration 2 Client submits a task for requirements development 3 Qualified crowd member applies for task 4 Client makes payment to CrowdREquire 5 Crowd member’s requirement specification is selected by client as winning proposal 6 Crowd member submits proposed requirements 7 Crowd member requests further information on task details 8 Client or crowd member submits complaints or suggestions about the platform or about crowd member/client Table 1: Business Events List Input/Output Customer details (in) Project specification and details (in) Project specification and details (out) Secure Payment (in/out) Winner selection (in) and secure payment (out/in) Requirements specification and documentation (in) task detail inquiry (in) and further clarification (out) Complaints/Suggestions (in) and feedback from administration (out) in crowdsourcing has also been researched by (Kern et al. 2010) and the use of decision matrices in selecting a QA approach was suggested. Based on the CrowdREquire model and due to the non-determinacy of results, it is the responsibility of the client to select final requirements specifications, hence, the validation review method is used by the client. In addition, the modularization of tasks as recommended by CrowdREquire improves the quality of results as a crowd member could choose to focus on a particular module rather than the system that makes up the modules (Vukovic and Bartolini 2010). Due to the subjective nature of gathering requirements through crowdsourcing, the ability of the crowd to understand the basics of requirements engineering has a significant bearing on the quality of results. As a result, it is important for CrowdREquire to provide resources and information necessary for the crowd to understand the requirements engineering process. Potential legal issues for crowdsourcing systems include Intellectual Property (IP) rights, copyright, employment laws, data security, payment structures, etc. and some of these issues have been researched by (Wolfson and Lease 2011). However, if these issues are properly handled would they would not be obstacles to the success of CrowdREquire. In general, (Wolfson and Lease 2011) recommends that crowdsourcing platform providers pay close attention to the law ensure that contracts are signed clients and crowd members, and clients should clearly define their tasks and expectations. For example, InnoCentive requires that crowd members transfer IP rights in order for them to work on crowdsourcing tasks (Vukovic and Bartolini 2010), and this approach can also be applied in CrowdREquire. The ability of CrowdREquire to attract clients and the crowd is of high importance as the purpose of CrowdREquire is defeated without the stakeholders. As a re- Summary of BUCs Users are updated on CrowdREquire database Requirements task is uploaded on CrowdREquire website Requirements task and corresponding tools are made available to the crowd member Client has funds required for submitting tasks on CrowdREquire Crowd member is informed and funds transferred to the crowd member’s account Client receives requirements specification and documentation Client receives questions and provides feedback to the crowd member Complaints or suggestions are put into consideration and necessary adjustments made. sult, a business model and marketing strategy have been defined. Another factor that can contribute to a successful crowdsourcing business are ensuring minimal business costs while ensuring brand quality (Vukovic and Bartolini 2010). (Lakhani and Boudreau 2009) defined different types of business models for crowdsourcing platforms and CrowdREquire employs the two-sided platform model. This involves a crowdsourcing platform owner acting as an affiliate to both clients and the crowd while clients interact freely with the crowd. However, the crowdsouricing platform owner still has a degree of control declaring system parameters and regulations. A high level of freedom in stakeholder interaction coupled with minimal but fundamental platform control ensure the viability of the CrowdREquire model. 5 Summary While the process of developing requirements is not explicitly stated in all processes, it is essential to the success of any endeavor. This paper studies a conceptualized crowdsourcing platform which provides requirements engineering services through on the crowd, and systematically provides simplified system, business model and market strategy requirements. As a result, the CrowdREquire model and requirements can be applied as a reference for new crowdsourcing systems or used to improve existing crowdsourcing platforms. 6 Future Work One area of further research is to execute a cost assessment model for CrowdREquire in order to better understand its direct financial implications. Also, a feasibility study for CrowdREquire can be carried out. This would require a survey of all the target users of the system, both clients and the 5 Table 2: CrowdREquire Requirements Specification No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Description Functional Requirements The system shall be web-based. The system shall accept and register users. The system shall provide substantial information for users. The system shall require employee-related data and business-partner-related data from crowd members and clients respectively. The system shall contain crowd-member-specific tabs on the crowd member profile, i.e., where the crowd member can view details of tasks, search for tasks, upload requirements specifications, and update account information and inquiries. The system shall contain client-specific tabs on the client profile, i.e., task description, task management, task submissions, task selections and inquiries. The system shall have a messaging function. The system shall provide users with timely updates on task suggestions and changes. The system shall enable clients to define and customize task templates. The system shall enable clients to define criteria and tests for selection of crowd members. The system shall inform the client the number of crowd members that are eligible for tasks based on specified task criteria. The system shall shall contain task description tools such as a text editor, tables, images (upload), video(upload), numbering and bullets, and document upload. The system shall enable the client to modularize a task into subtasks with corresponding payments, with the system showing the percentage of the payment that goes to CrowdREquire. The system client shall store a history of all users’ task details. The system shall require payments from a client before a task can be published to the crowd. The system shall enable clients to buy CrowdREquire credits. The system shall have an Application Programming Interface (API) for developing custom tasks. The system shall have a ranking system for users. The system shall have desktop and mobile applications where users can work offline. Non-Functional Requirements The system shall be usable on all browser and operating system platforms. The system shall have a user-friendly and simple interface. The system shall be readily available for usage. The system shall be robust in order to accommodate as many users as possible at a time without the system performance being affected. The system shall be efficient in error handling and prevent loss of data. The system shall be secure. The system shall have flexible design tools. The system shall ensure and maintain a high-level of integrity among users. The system shall address any form of abuse or breach of legal conditions. 6 crowd, in order to observe the potential of CrowdREquire as a requirements engineering crowdsourcing system. Furthermore, the potential impact of the success of CrowdREquire on other task-oriented commercial crowdsourcing systems such as Amazon Mechanical Turk and InnoCentive could be researched. However, the next step in line with this paper is to run experiments on crowdsourcing requirements engineering experiments using existing platforms such as Mechanical Turk, Crowdflower or InnoCentive. An example experimental setup is the generation of requirements for an advanced and modularized smart grid. In 2009, the Electric Power Research Institute (EPRI) of the United States (US) developed a model for smart grid interoperability (Dollen 2009). In this model, the smart grid was divided into seven domains and further divided to sub-domains. A summary is seen in Table 3. Based on the EPRI smart grid model, a requirements specification for developing a smart grid can be developed using the CrowdREquire concept. Each sub-domain is presented as a module in the task and rewards are attached to each module. The task is set such that the requirements for each module should be defined based on smart grid applications particularly with respect to (Dollen 2009). This experiment can be executed on InnoCentive.com. Also, the challenges faced and areas of improvement would be documented in order to understand how CrowdREquire might work as a crowdsourcing platform. Table 3: Smart Grid Domains and Sub-Domains (Dollen 2009) Domain Sub-domain Customer Building/Home Automation, Industrial Automation, Solar Generation, and Wind Generation. Market Market Management, Retailing, Distributed Energy Resources (DER) Aggregation, Trading, Market Operations, and Ancillary Operations. Service Provider Customer Management, Installation and Maintenance, Building Management, Home Management, Billing, and Account Management. Operations Monitoring, Control, Fault Management, Analysis, Reporting and Statistics, Calculations, Training, Records and Assets, Operational Planning, Maintenance and Construction, Extension Planning, Customer Support, Meter Reading and Control, Supply Chain and Logistics, Financial, Communications Network, Security Management, Premises, Human Resources, Business Planning and Reporting, and Stakeholder Planning and Management. Generation Control, Measure, Protect, Record, Asset Management, and Stabilization and Optimization. Transmission Control, Measure, Protect, Record, Asset Management, and Stabilization and Optimization. Distribution Control, Measure, Protect, Record, Asset Management, and Stabilization and Optimization. References AtlanticSystems. 2010. Volere requirements specification template. Chanal, V., and Caron-Fasan, M. L. 2008. How to invent a new business model based on crowdsourcing: The R crowdspirit case. In EURAM Conference (Slovenia). Dollen, D. V. 2009. Report to nist on the smart grid interoperability standards roadmap. Technical Report 50413, Electric Power Research Institute (EPRI). Goodin, D. 2005. ’nature’: Wikipedia is accurate. Howe, J. 2006. The rise of crowdsourcing. Wired magazine. Innocentive.com. Home-innocentive. Accessed on 19 January 2012, at https://www.innocentive.com/. iStockPhoto.com. istock photo: Royalty free stock photography, vector art images, music & video stock footage. Accessed on 19 January 2012, at http://www.istockphoto.com/. Kern, R.; Thies, H.; Bauer, C.; and Satzger, G. 2010. Quality assurance for human-based electronic services: A decision matrix for choosing the right approach. In Current Trends in Web Engineering, volume 6385 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg. 421–424. Lakhani, K., and Boudreau, K. 2009. How to manage outside information. Technical Report 50413, Sloan School of Management, MIT. Le, J.; Edmonds, A.; Hester, V.; and Biewald, L. 2010. Ensuring quality in crowdsourced search relevance evaluation: The effects of training question distribution. SIGIR 2010 workshop on crowdsourcing for search evaluation. McNichol, T. 2011. The wales rules for web 2.0. Osterwalder, A. 2007. How to Describe and Improve your Business Model to Compete Better. van Lamsweerde, A. 2010. Requirements Engineering. Wiley Press. Vukovic, M., and Bartolini, C. 2010. Towards a research agenda for enterprise crowdsourcing. In Margaria, T., and Steffen, B., eds., Leveraging Applications of Formal Methods, Verification, and Validation, volume 6415 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg. 425–434. Wolfson, S., and Lease, M. 2011. Look before you leap: Legal pitfalls of crowdsourcing. In ASIST 2011 Annual Meeting (New Orleans, LA). Zhang, H.; Horvitz, E.; and Miller, R. 2011. Crowdsourcing general computation. 7