# A Decentralized Framework for Managing Task Allocation in Distributed Software Engineering
## 1 Introduction
More recently, researchers have investigated the use of blockchain technology with cloud services to tackle the significant challenges or drawbacks of cloud services. Blockchain technology is considered the future of the software industry, endeavoring for security and privacy improvements. Blockchain is a distributed ledger that provides central authority with provision to validate and verify the data. It eliminates the data security and privacy concerns [13]. To accelerate cloud computing adoption, by integrating with blockchain technology, organizations can eliminate the concerns of data privacy and security. With this combined technology, data security, service availability, and data/knowledge management in cloud services can be improved. The presented research is a step towards discovering and adopting a technology triggered by blockchain technology to transform the way task allocation is handled in distributed software development. It is a step towards a new solution leveraging social and economic benefits to the software industry. These benefits could then be transferred back to society in terms of high value and lower cost (due to efficient allocation of tasks to developers with the use of blockchain technology) associated with the software products. Blockchain-centric software development has recently gained researcher focus to define new directions in software development. While it is a promising emerging research area, the research, academia, and industry practitioners are still exploring ways to alter existing models or create new models. To address the above-mentioned challenges and issues, this paper proposes a novel solution using the benefits of blockchain technology for a transparent task auction and allocation framework--_TaskAuc._ It is a distributed, trustworthy, and secure framework that provides a platform for developers who wish to bid for tasks of their interest. Blockchain-oriented software development is an evolving paradigm that has gained a lot of interest in the last few years. The biggest advantage of using blockchain technology is that it defines new directions to allow effective software development by ensuring productive testing activities, enhancing collaboration within teams, and increasing the use of smart contracts in software development activities for the various role-based accesses in software repositories. In situations where teams are scattered over large geographic locations, diverse time regions, and possibly conflicting cultures, coordination and agreement on task assignment is more challenging. This makes the whole process of task allocation non-transparent and unjustified to some extent. This is the first decentralized blockchain-oriented approach to help in minimizing issues of coordination, communication, and lack of team spirit. It is a two-fold process where firstly, various complexities and task dependencies are identified and are then classified into three dependency types exhibiting different dependency relations, creating equal task clusters based on their difficulty, dependency type, cost, and time to support parallel and rapid development. Secondly, a decentralized quantitative framework based on the blockchain model will help in the auction process by broadcasting, bidding process, validity check, and registering choices through bidding for specific tasks matching their roles and expertise. Thereafter, the results of bidding are evaluated, and tasks are allocated to winners using two Ethereum smart contracts. The proposed framework will relieve the difficulty of allocating tasks to developers and will also press on parallel concurrent development by engaging developers (distributed globally) to develop a fully independent module concurrently with several other developers. The overall impact of acceptance ensures that transparency and minimization of issues of coordination, communication, knowledge vaporization, and document storage are investigated.