# Software Engineering Applications Enabled by Blockchain Technology: A Systematic Mapping Study
## 5 Discussion  
### Theoretical Contributions and Research Implications  
The software development process is considered intrinsically complex, and overlooking such complexity may impact the success rate of software projects [62]. This complexity can be attributed to the fact that nowadays software development is performed globally in collaboration with a variety of participants, such as vendors or crowd-workers. While this collaborative effort intends to improve software quality, reduce costs and time to market [12], previous research has also reported on challenges. These are lack of communication and coordination among distributed stakeholders, lack of trust, lack of project visibility, poor knowledge transfer [13], as well as intellectual property and data security [18]. The alignment between these issues and blockchain properties inspired us to explore the uses of this novel technology in SE. Our findings indicate that blockchain, due to its inherent properties of decentralization, trust, transparency and immutability, can contribute to the software engineering landscape in four main dimensions (See Table 6): (_i_) eliminate single point of failure and compromise, by replacing centralized systems, such as GitHub, Travis CI, and cloud-based package managers, with decentralized systems that offer availability and resilience. (_ii_) blockchain can serve as a backbone of the SDLC ecosystem, in which all software events and artifacts metadata can be stored and accessed by distributed stakeholders. In this way, blockchain enables a holistic view of the entire software lifecycle, which improves trust and collaboration among distributed stakeholders, and facilitates auditability, compliance, provenance and identity assessment analysis. (_iii_) secure software artifacts sharing among collaborators, by detecting any unauthorized attempt to access, modify or transfer software artifacts. (_iv_) smart contracts have the potential to enhance software development efficiency, by automating a set of activities that usually rely on human rationale, such as verifying if tests passed acceptance criteria, verifying if source code passed quality criteria, compliance to best practices and regulations, and enabling automatic payments to software engineers. We did not find evidence of using smart contracts for the automatic assessment of software design and requirements against pre-defined acceptance criteria, which presents a promising research direction. Our findings reveal that researchers have focused on improving disparate SE knowledge areas, but have not investigated the holistic impacts of blockchain on software development efficiency and quality. Such investigation can foster the implementation of blockchain use cases in software organizations and their evaluation by software practitioners. Based on our findings, there is no study that implements blockchain-oriented SE applications in organizational settings to date. This may be because of the limited research in this area, the nascent phase of blockchain development, and the existence of unresolved technical challenges [63]. More future efforts devoted to this topic in the formof prototypes and proofs-of-concept can encourage software practitioners to incorporate disruptive blockchain properties into the SE landscape in order to harvest tangible benefits. Software practitioners should conduct a careful analysis to decide whether blockchain is required and feasible in the context of SE. This analysis should consider the alignment between blockchain principles and specific software development principles and strategies, alternative tools and technologies, appropriate blockchain platforms, and implementation challenges. There is very little evidence regarding these aspects in the extant literature. In what follows, we discuss some of these aspects to guide future research efforts. Agile practitioners should consider the alignment of blockchain principles with agile principles.