# Software Engineering Applications Enabled by Blockchain Technology: A Systematic Mapping Study
## 2 Background and Related Works  
### Software Engineering  
Over the last 60 years, software has evolved from being a technological tool for solving specific problems, into becoming an industry, which is ubiquitous in most of today's business processes. According to IEEE Standard 610.12 [10], software engineering is defined as _\"the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software\"_. The guide to the Software Engineering Body of Knowledge (SWEBOK) provides a detailed overview of the main SE knowledge areas (KAs) [11], which are also considered by this study. KAs are groupings of information with a related theme, such as software requirements, software process, software testing, software quality, software maintenance, software configuration management and engineering management. There are also some SE practices and their related challenges that deserve to be mentioned due to the emergence of new technologies, such as blockchain that can help to address. Global software engineering is becoming a more common practice as software products are the result of collaborations among a variety of partners during conceptualization, development, production and maintenance phases [12]. However, it has been reported that many software organizations that adopted global software engineering failed to leverage its benefits in terms of time, cost and skillful resources [12; 13]. By conducting a systematic literature review, [PERSON] et al. [13] identified challenges related to client and vendor organizations. The authors analyzed 101 papers and identified the following challenges: lack of communication and coordination between distributed teams, improper knowledge transfer which leads to poor quality of software artifacts and lack of team awareness, lack of project visibility, and lack of trust between distributed teams. Agile practices have been reported to enhance projects' visibility and transparency by means of iteration/sprint planning meetings, standup meetings and retrospectives [14]. The transparency and visibility enhance vigilance which in turn increases trust within teams. However, when scaling up agile practices, technical issues related to inter-team coordination arise [15]. The emphasis on autonomous teams may cause technical divergences, for instance in coding styles, and distrust between teams [15]. Moreover, it is worthy to note that short and frequent release cycles are enabled by continuous integration (CI) practices. However, it has been reported that CI systems are prone to misconfigurations and security attacks, for instance, malicious code can be deployed through the deployment pipeline [16]. Collaboration practices in interorganizational software projects may be complicated, as well. It has been reported that there is an underlying conflict between the common project goal and independent organizational goals, for instance, one organizational goal could be to not disclose functional knowledge [17]. This implies restricted access to artifacts at the partner's side, which in turn impedes complete and reliable requirements traceability and hinders the assessment of whether quality gates have been passed [17]. These organizations may outsource their work to a defined or undefined labour to work on a variety of software engineering activities. The latter is named crowdsourced software engineering. This software engineering paradigm has gained growing interest in industry and academia [18]. In a comprehensive survey on crowdsourced software engineering, [PERSON] et al. [18] reported on SE tasks that make use of crowdsourcing and their respective platforms, for instance, Bountify for coding tasks and uTest for software testing tasks. Besides the advantages that crowdsourcing brings to the SE field, such as reduced costs, time and defects, the authors also pointed out unexplored issues, such as communication and coordination issues, intellectual property and data security.