Skip to main content
PLOS One logoLink to PLOS One
. 2024 Mar 21;19(3):e0299324. doi: 10.1371/journal.pone.0299324

ChainAgile: A framework for the improvement of Scrum Agile distributed software development based on blockchain

Junaid Nasir Qureshi 1, Muhammad Shoaib Farooq 1,*
Editor: Mohammed Shuaib2
PMCID: PMC10956875  PMID: 38512865

Abstract

Software Development based on Scrum Agile in a distributed development environment plays a pivotal role in the contemporary software industry by facilitating software development across geographic boundaries. However, in the past different frameworks utilized to address the challenges like communication and collaboration in scrum agile distributed software development (SADSD) were notably inadequate in transparency, security, traceability, geographically dispersed location work agreements, geographically dispersed teamwork effectiveness, and trust. These deficiencies frequently resulted in delays in software development and deployment, customer dissatisfaction, canceled agreements, project failures, and disputes over payments between customers and development teams. To address these challenges of SADSD, this paper proposes a new framework called ChainAgile, which leverages blockchain technology. ChainAgile employs a private Ethereum blockchain to facilitate the execution of smart contracts. These smart contracts cover a range of functions, including acceptance testing, secure payments, requirement verification, task prioritization, sprint backlog, user story design and development and payments with the automated distribution of payments via digital wallets to development teams. Moreover, in the ChainAgile framework, smart contracts also play a pivotal role in automatically imposing penalties on customers for making late payments or for no payments and penalties on developers for completing the tasks that exceed their deadlines. Furthermore, ChainAgile effectively addresses the scalability limitations intrinsic in blockchain technology by incorporating the Interplanetary File System (IPFS) is used for storage solutions as an off-chain mechanism. The experimental results conclusively show that this innovative approach substantially improves transparency, traceability, coordination, communication, security, and trust for both customers and developers engaged in scrum agile distributed software development (SADSD).

Introduction

In recent decades, the adoption of scrum agile distributed software development (SADSD) has seen a significant rise, driven by the increasing demand for global software development [1]. Distributed Software Development [2] involves collaborative software development efforts from different geographical locations. Agile methodology prioritizes incremental and iterative development, encouraging self-organizing and cross-functional teams to collaborate on refining requirements and software solutions [3]. The advantages of Scrum Agile development include continuous testing for improvements, adaptive planning, quick responses to customer changes, and early delivery of prioritized tasks [4]. The Scrum Agile development process typically encompasses a six-phase lifecycle, as depicted in Fig 1. SADSD essentially combines Scrum Agile software development with Distributed Software Development [5]. SADSD relies on geographically dispersed Agile teams, offering notable benefits like enhanced quality, reduced development timelines, and cost-efficiency [2]. Scrum Agile Distributed Software Development (SADSD) presents significant hurdles for development teams, with a primary focus on achieving effective communication and collaboration [6] in geographically dispersed environments. The geographical distribution challenges primarily encompass concerns related to traceability, communication, security, transparency, remote location teamwork agreements, geographically dispersed teamwork efficiency, and trust [7]. Some recent research has indicated that current communication tools can alleviate some of these challenges [8], but there are still existing deficiencies in areas such as transparency, trust, security, and traceability. These problems can result in project delays, project cancellations, teamwork agreements, product backlog, remote teamwork effectiveness, customer dissatisfaction, and disputes over payments between customers and developers.

Fig 1. SDLC scrum agile software development life cycle.

Fig 1

In a decentralized distributed environment, both customers and developers encounter substantial obstacles that demand attention to attain project goals. Customers situated in various regions express concerns about the software development process and their satisfaction with the product. Meanwhile, developers may face trust-related issues concerning payments, expenses related to project cancellations, teamwork agreement cancellation, and continuous coordination with the development team. The integration of blockchain technology can serve as a pivotal solution to mitigate these challenges by encouraging trust among distributed customers and developers geographically dispersed across the globe. To tackle the scalability challenge in ChainAgile, an extensive volume of records related to developers, clients, and customers is stored using IPFS. This strategy of data load on the blockchain, results in enhanced transaction performance [9]. However, it’s essential to note that all data traversing the six layers of ChainAgile is preserved within the blockchain to monitor the progress of (SADSD) agile teams. The principal objective of this study is to leverage blockchain technology to confront the major challenges associated with geographical dispersion in SADSD.

The ChainAgile framework employs the deployment and execution of smart contracts as a strategic approach to address challenges related to communication, trust, security, traceability, transparency, and coordination. Fig 2 illustrates the blockchain features in ChainAgile. In the proposed framework of scrum agile distributed software development (SADSD) the integration of Blockchain provides security, traceability, coordination, trust, and transparency to both client customer and developer teams in geographically dispersed software development environments.

Fig 2. Blockchain features in ChainAgile.

Fig 2

Motivation

As the decentralized distributed global software development environment, both customers and developers encounter substantial obstacles that demand attention to attain project goals. Customers situated in various regions express concerns about the software development process and their satisfaction with the product. Meanwhile, developers may face trust-related issues concerning payments, expenses related to project cancellations, teamwork agreement cancellation, and continuous coordination with the development team. Therefore, the integration of blockchain technology can serve as a pivotal solution to mitigate these challenges by encouraging trust among distributed customers and developers geographically dispersed across the globe. The advantage of integrating blockchain technology into decentralized systems stems from its potential to revolutionize traditional paradigms. Blockchain’s decentralized nature eliminates the need for central authorities, fostering trust and transparency. This technology serves as a catalyst for innovation by providing a secure and tamper-proof ledger. In decentralized systems, blockchain motivates adoption by offering a reliable mechanism for transparent and immutable record-keeping. It addresses trust issues, reduces reliance on intermediaries, and empowers participants with a shared and verifiable source of truth. This motivates and extends across various aspects of distributed software development where the advantages of decentralization and enhanced security are crucial.

Contribution

The primary contributions of this study include: Proposed ChainAgile Framework for Scrum Agile Distributed Software Development (SADSD), which incorporates a private Ethereum blockchain to enhance security. The framework is further aided by an intuitive DApp interface, promoting efficient communication and collaboration among its users. To mitigate scalability challenges within the blockchain infrastructure the combination of Interplanetary File System (IPFS) provides a secondary storage solution to effectively manage JSON objects. Empowering ChainAgile users to initiate Ether cryptocurrency transactions within digital wallets for payments, with the flexibility to convert these into different fiat currencies through a currency conversion service. The proposed ChainAgile Framework for Scrum Agile Distributed Software Development (SADSD) provides the solution by integrating smart contracts to manage teamwork agreements, product backlog, task prioritization, remote teamwork effectiveness to overcome trust-related issues, project delays, project cancellations, customer dissatisfaction.

  • ChainAgile framework provides teamwork agreements, product backlog, task prioritization, remote teamwork effectiveness, and enforcing penalties for users who do not promptly adhere to predefined terms and conditions of software development by integrating smart contracts.

  • The deployment and execution of smart contracts within ChainAgile serve to enhance various aspects, including streamlining acceptance testing, ensuring secure payment processing, validating developer payment requirements, and automating the distribution of payments among development teams.

  • Evaluating ChainAgile’s performance by analyzing the expansion of the blockchain’s size with the inclusion of new block transactions and measuring the latency when retrieving the longest chain.

  • Complete storage of records across all six layers within the blockchain, ensuring effective tracking of the progress of distributed teams and project development milestones.

  • ChainAgile framework integrates blockchain with scrum agile distributed software development (SADSD).

This research introduces a novel approach by integrating blockchain technology into a user-friendly framework to address transparency, security, traceability, and trust issues between customers and developers in SADSD. Previous studies have not proposed such a framework. Smart contracts play a pivotal role in the execution of various tasks, such as acceptance testing, secure payment processing, payment requirement validation, teamwork agreements, product backlog, task prioritization, remote teamwork effectiveness, and the automated distribution of payments. The transactions can easily be converted to any fiat currency with the use of cryptocurrency ether via a currency conversion service. Furthermore, smart contracts are designed to impose penalties in cases where predefined terms and conditions are not met. To tackle scalability concerns, the integration of IPFS is implemented, and JSON objects are utilized as part of the system.

Blockchain role and its importance

Employing blockchain in a decentralized distributed environment is manifold. Blockchain serves as a foundational technology that enhances the efficiency and reliability of decentralized distributed networks. Its key benefits include heightened security, verification, transparent, ensuring data integrity, tamper-resistant record-keeping, and the elimination of single points of failure. Blockchain plays a pivotal role in securing and validating digital transactions by utilizing a decentralized and distributed ledger. It ensures transparency, as each participant in the network has access to the entire chain of transactions. The blockchain’s importance lies in its ability to establish trust without the need for intermediaries. The benefits of decentralization often include increased resilience, improved security, reduced dependency on a single point of failure, enhanced transparency, and greater autonomy for participants. Smart contracts, automated and self-executing, streamline processes, reducing the reliance on intermediaries and improving efficiency. In the proposed model of SADSD the integration of blockchain encompasses the security, reliability, transparency, efficiency, and streamlined automation overcoming the challenges of coordination and communication in a distributed environment. Furthermore, the geographical distribution challenges primarily encompass concerns related to traceability, communication, security, transparency, remote location teamwork agreements, geographically dispersed teamwork efficiency, and trust-related issues.

Blockchain integration benefits

Blockchain serves as a foundational technology that enhances the efficiency and reliability of decentralized distributed networks. In ChainAgile framework for scrum agile distributed software development provides key benefits like security, verification, transparency, ensuring data integrity, tamper-resistant record-keeping, automatic payment mechanism, dealing with penalties, and the elimination of single points of failure.

The paper’s structure is organized as follows: The related work section discusses relevant prior research, the Materials and Methods section outlines the foundational concepts utilized in the framework introduces the ChainAgile framework, and elucidates its functionality. Discussion Section which expresses the whole article formation. Results Section shows the experiment results, and performance evaluation, and explores the findings. Finally, the conclusion section concludes and outlines potential opportunities for future research.

Related work

Different frameworks and designed models have been proposed previously to tackle the scrum agile distributed software development (SADSD) challenges for customers, clients, and development teams. Although numerous frameworks have effectively tried communication, collaboration, and coordination challenges, they have not yet furnished a comprehensive solution encompassing trust, traceability, transparency, remote location teamwork agreements, geographically dispersed teamwork efficiency, and security through the integration of blockchain technology.

Blockchain-based

Despite numerous studies attempting to address challenges in SADSD, only a limited few have explored the potential of blockchain technology in establishing traceability, communication, security, transparency, remote location teamwork agreements, geographically dispersed teamwork efficiency, and trust. For example,

[10] introduced a blockchain-based framework specifically for requirements traceability in the software development lifecycle. This innovative framework eradicates the necessity for tracing requirements, this gives a collaborative environment that enhances the accuracy, and reliability of requirements traceability. However, this framework primarily focuses on the requirements engineering process and may not be ideally suited for the broader scope of SADSD. Limitations: This only works requirement specification other related issues to distributed scrum agile software development persist.

[11] This study provides a blockchain-based framework and tries to overcome distributed agile development challenges. It did not focus on scrum-based distributed challenges specifically prioritization tasks, product backlog, sprint backlog, and retrospective-review-based task prioritization. This handles and manages the limited transactions. Our innovative proposed framework provides the solution for traceability, communication, security, transparency, remote location teamwork agreements, geographically dispersed teamwork efficiency, and trust, and also the large-scale comprehensive solution to handle the prioritization tasks, product backlog, sprint backlog, and retrospective-review-based task prioritization for scrum agile. Limitations: issues related to distributed scrum agile software development persist because of these prioritization tasks, product backlog, and sprint backlog, these are not addressed.

[12] suggested the use of smart contracts on the Ethereum blockchain to streamline acceptance testing and payment processes within Scrum or Lean-Kanban methodologies. While this approach effectively addresses transparency issues within Lean-Kanban or Scrum, its applicability to distributed environments has some limitations. Furthermore, it does not provide comprehensive solutions for security and traceability issues through blockchain technology in SADSD. Limitations: The model works in a distributed environment but still fails to address the issues related to distributed scrum agile software development.

[13] In this article, a solution is given for smart villages based on the integration of distributed fog computing with IoT-based devices to provide security and privacy. This is an intrusion detection system based on distributed fog computing. This provides security and privacy. The study is not based on distributed software development having Blockchain as an integrated technology and the problems related to software development persist. Specifically, the communication and coordination of offshore development Limitations: The study provides comprehensive security and privacy in a distributed network environment but has limitations related to distributed scrum agile software development network processes to provide specifically the task assignment, its deployment, payments and prioritization tasks, product backlog, and sprint backlog.

[14] This article provides a security network integrated with blockchain technology for smart consumer applications. It provides authentication and security over the network due to the integration of blockchain-based proof of authority. This also provides a deep learning-based intrusion detection system. So this provides a blockchain-based secure network for IoT. The chainagile is a distributed blockchain-based framework that overcomes distributed software development problems by integrating scrum agile with blockchain in a distributed environment. Limitations: The study provides comprehensive security and privacy in a distributed network environment for smart consumer applications and is limited to the distributed scrum agile software development processes.

[15] In this article, a secure data-sharing framework is proposed for Softwarized Unmanned Aerial Vehicles. Blockchain and deep learning-based techniques are used to control network data sharing. The issues of security and vulnerability on the network are controlled due to the use of blockchain to provide proof of authority. ChainAgile provides security, communication, coordination, traceability, transparency, and trust-related issues of distributed software development in Scrum Agile. ChainAgile integrated with blockchain overcomes the distributed software development environment challenges and issues. Limitations: The study provides comprehensive security and privacy also protection for data sharing but is limited in distributed scrum agile software development for its customer and developer communication and coordination specifically the development processes of scrum agile.

[15] In this article digital twin-enabled network is proposed based on a framework integrated with blockchain and deep learning techniques to provide security and privacy. It incorporates IPFS off-chain storage system to store encrypted industrial Internet of things transactions. In comparison the chainagile uses blockchain to provide and overcome the distributed development environment trust-related issues and IPFS off-chain storage is used to store the transactions to provide traceability and transparency. It also integrates a distributed scrum agile development environment with blockchain techniques to provide communication and coordination-related issues. Limitations: The study provides comprehensive security and privacy also IPFS off-chain storage for data sharing but is limited in distributed scrum agile development environment of customer and developer communication and coordination specifically the development processes of scrum agile.

The Blockchain and Deep Learning-based Digital Twin Empowered Industrial IoT Network, Blockchain and Deep Learning-based Framework for Softwarized UAVs, Blockchain-based Authentication for Consumer IoT Applications, and Fog Intelligence for Secure Smart Villages are all sustainable distributed networks. ChainAgile is also a sustainable framework solution in distributed decentralized scrum agile software development with the integration of blockchain in the network using smart contracts to provide immutability, sustainability, transparency, security, trackable, provides secure coordination and communication of a distributed environment.

Distributed decentralized communication and coordination

[5] Provides an analysis of the communication and performance demands in geographically distributed software development, highlighting how agile methodologies enhance communication through quantitative analysis. Despite these improvements, challenges related to transparency, scalability, and security persist. Limitations: The challenges in the distributed scrum agile development environment of customers and developers related to transparency, scalability, and security persist.

[16] conducted research focused on the communication hurdles encountered in distributed software development. Their investigation explored the potential of collaboration and communication in social media. These findings indicated that the central challenges in SADSD are primarily related to coordination, efficient communication, trust-related issues, cultural differences, and time zone variations. The use of social media helps to address team communication and team coordination challenges, but this does not provide comprehensive solutions to major concerns such as traceability, security, transparency, teamwork agreements, product backlog, task prioritization remote teamwork effectiveness, and trust-related issues. Limitations: The challenges in the distributed scrum agile development environment of customers and developers related to traceability, security, transparency, teamwork agreements, product backlog, and task prioritization persist.

[2] Task allocation framework is described, involving the identification of key factors and dependencies that significantly affect the allocation of tasks to team members based on their compatibility with task requirements. However, this framework doesn’t fully address issues of in-person communication, transparency, and scalability, and lacks integration with blockchain technology, which could enhance traceability, security, and trust concerns. Limitations: Issues related to distributed scrum agile software development specifically transparency, scalability, and lack of integration with blockchain technology persist.

[6] introduced a Communication and Coordination (C and C) framework grounded in the principles of Scrum methodology. This framework incorporates distributed agile teams, with a Scrum Master fulfilling the dual responsibilities of technical support and communication coordination. The framework successfully achieves its objectives of communication, coordination, problem-solving, decision-making, and sprint backlog consensus, and it lacks the incorporation of blockchain technology to comprehensively address concerns related to traceability, security, trust, and transparency. Limitations: Issues related to distributed scrum agile software development specifically sprint backlog consensus persist and do not address distributed concerns related to traceability, security, trust, and transparency.

Agile distributed software development

[17] This study investigates and ranks the challenges associated with scaling agile practices in a Distributed Software Development (DSD) environment. The Analytic Hierarchy Process (AHP) methodology was applied to prioritize these challenges and their respective categories based on their relative significance. This only provides analysis related to (DSD). This provides the analysis scaling agile in a distributed environment. The chainagile framework works in distributed decentralized scrum agile software development. Limitations: The limitations of this particular stuff are the challenges in the distributed scrum agile development environment of customer and developer related not addressed.

[18] This study offers a comprehensive framework aimed at establishing trust within distributed agile teams, addressing obstacles like limited face-to-face interactions, collaboration difficulties, time zone disparities, and cultural differences. Nonetheless, issues concerning security, traceability, and transparency persist. Limitations: Issues of distributed scrum agile development environment of customer and developer-related security, traceability, and transparency persist and are not addressed.

[1] This study introduces a hybrid agile software development and reuse approach known as software product line engineering based on Scrum. It integrates requirement engineering and design practices to establish a reference architecture for product management meetings. While this approach offers valuable insights and practical guidance for organizations aiming to enhance their software engineering practices by combining agile development and software reuse capabilities, it doesn’t fully address challenges related to time zones and cultural differences. Moreover, concerns regarding security, traceability, and transparency persist. Limitations: Issues of distributed scrum agile development environment of customer and developer-related security, traceability, and transparency persist and are not addressed.

[19] The objective of this paper is to employ computational intelligence techniques to pinpoint and prioritize agile challenges in offshore software development, with a particular focus on reviewing communication and coordination challenges. Nonetheless, issues concerning security, traceability, and transparency persist. Limitations: Distributed scrum agile development environment security, traceability, and transparency of customer and developer-related persist.

[20] This study offers a software development framework that underscores the significance of agile methodologies, such as Scrum, in developing and enhancing Agile methods and practices in developing the software. No use of any technology which provides and controls the challenges of distributed environments. Limitations: Distributed scrum agile development environment security, traceability, and transparency of customer and developer-related persist.

These discussions collectively emphasize the ongoing need for an efficient framework to overcome significant challenges of traceability, security, transparency, remote location teamwork agreements, geographically dispersed teamwork efficiency, and trust within SADSD, leveraging the capabilities of blockchain technology. Existing frameworks have not fully addressed all these issues, particularly in scenarios involving customers and agile teams with geographical differences. As a response to these needs, this study introduces the novel ChainAgile framework, aiming to bridge the gaps and limitations observed in previous frameworks and research endeavors. Our research introduces an innovative framework that combines blockchain technology to enhance Scrum Agile Distributed Software Development (SADSD). This framework effectively tackles trust-related challenges encountered by customers, clients, and development teams through the utilization of smart contracts for tasks such as acceptance testing, teamwork agreements, product backlog, task prioritization, remote teamwork effectiveness, secure payment processing, and the enforcement of penalties. Furthermore, ChainAgile provides a currency converter mechanism for converting ethers into fiat currency and successfully addresses scalability concerns by seamlessly integrating IPFS for the storage of JSON objects. This user-friendly approach significantly enhances the SADSD process. Table 1 depicts and summarizes the ChainAgile Framework Comparison with other Related Work.

Table 1. ChainAgile framework comparison with other related work.

Ref No Related Work Blockchain-based Scalability Communication Coordination Testing Security Prioritization Review/ Backlog
[21] Social Networking tool Slack N N Y Y N N N N
[10] Blockchain-Oriented Requirement Engineering Y N N N N Y N N
[12] Blockchain Application for Agile Y N N N Y Y N N
[16] Impact of Social media in distributed Agile N N Y Y N N N N
[22] Software applications enable blockchain Y N N N Y Y N N
[18] framework for building trust N N Y Y Y Y N N
[1] Agile Distributed software development N N Y Y Y Y N N
[19] Agile in offshore software development N N Y Y Y N N N
[13] Fog Intelligence for Secure Smart Villages Y Y N N Y Y N N
[14] Blockchain-based Authentication and Explainable AI Y Y N N Y Y N N
[15] Blockchain and Deep Learning Empowered Secure Data Sharing Framework Y Y N N Y Y N N
This Articlee ChainAgile Framework Y Y Y Y Y Y Y Y

Materials and methods

In this section, we provide an overview of essential blockchain components utilized in the ChainAgile framework. These core elements include Decentralized Applications (DApps), the Ethereum Blockchain, the Interplanetary File System (IPFS), and Smart Contracts. Smart Contracts are embedded within the Ethereum blockchain programs. These are segments of code or programs. They function independently once specific predefined conditions are met [23]. These contracts, sometimes called transaction protocols, are scripted using the Solidity language, these smart contracts are executed on the blockchain to record events based on predefined terms and conditions [24].

The decentralized blockchain network of an open-source environment is Ethereum with the ability to execute smart contracts. It operates as a transparent ledger for recording and authenticating transactions, accompanied by its native cryptocurrency, ether (ETH), for smooth transactions between network members. [25, 26]. Decentralized Applications (DApps) stand out as a prominent feature within Ethereum. DApps operate on a peer-to-peer network and they are digital programs or applications designed to, incorporate smart contracts equipped with user-defined code to carry out precise tasks. Interplanetary File System (IPFS) is a protocol that utilizes a peer-to-peer (P2P) network to store and distribute data in a content-addressable distributed file system [27]; [28]. IPFS ensures data integrity through cryptographic identifiers, preventing unauthorized alterations.

Research methodology: Chainagile

The research methodology used for this research article is mentioned in Fig 3, how the research articles are searched and selected from different digital libraries. For this, we have chosen different articles based on titles, articles abstracts, frameworks, and models implemented specifically for distributed agile software development and search strings having keywords like blockchain, smart contract, agile software development, and distributed software development. Fig 4 shows the research article division according to the digital library. This shows how many research articles are found according to our search criteria and how many domain-related research articles we get from the digital library. Fig 5 shows the research article year-wise count, and how many research articles we get year-wise. Importantly, we have found very less articles on blockchain and its integration in distributed agile software development. The ChainAgile framework shows how the blockchain is integrated with distributed scrum agile software development and overcomes the challenges of a decentralized distributed environment by the use of blockchain. Table 2, shows the search strings using the keywords as per the research requirement to the digital search libraries.

Fig 3. Research methodolgy.

Fig 3

Fig 4. Digital library research paper division.

Fig 4

Fig 5. Year wise research paper count.

Fig 5

Table 2. Search string.

Search String
Database (Digital Library) Search Sting
IEEEXplore ((“Blockchain” OR“Blockchain Technology”) AND (“Agile software development” OR“Distributed Agile software development” OR“Scrum agile development”) OR (“Smart Contract” OR“ethereum”) OR (“Interplanetary file system” OR“IPFS”))
ACM Digital library ((“Blockchain” OR“Blockchain Technology”) AND (“Agile software development” OR“Distributed Agile software development” OR“Scrum agile development”) OR (“Smart Contract” OR“ethereum”) OR (“Interplanetary file system” OR“IPFS”))
ScienceDirect ((“Blockchain” OR“Blockchain Technology”) AND (“Agile software development” OR“Distributed Agile software development” OR“Scrum agile development”) OR (“Smart Contract” OR“ethereum”) OR (“Interplanetary file system” OR“IPFS”))
SpringerLink ((“Blockchain” OR“Blockchain Technology”) AND (“Agile software development” OR“Distributed Agile software development” OR“Scrum agile development”) OR (“Smart Contract” OR“ethereum”) OR (“Interplanetary file system” OR“IPFS”))
MDPI ((“Blockchain” OR“Blockchain Technology”) AND (“Agile software development” OR“Distributed Agile software development” OR“Scrum agile development”) OR (“Smart Contract” OR“ethereum”) OR (“Interplanetary file system” OR“IPFS”))
Willey ((“Blockchain” OR“Blockchain Technology”) AND (“Agile software development” OR“Distributed Agile software development” OR“Scrum agile development”) OR (“Smart Contract” OR“ethereum”) OR (“Interplanetary file system” OR“IPFS”))

The proposed framework: Chainagile

In this section, we introduce the ChainAgile framework, which integrates blockchain technology to manage Scrum Agile Distributed Software Development (SADSD) for clients and development teams spread across different.

The ChainAgile framework [29] utilizes a private Ethereum blockchain for efficient transactions. Blockchain technology is used as a central part of ChainAgile, encompassing activities such as customer feedback, task prioritization, product backlog, sprint backlog of distributed scrum agile, review of user stories, validation of developer payment through defined business logic, acceptance testing, and the secure transfer of payments to the digital wallets of development teams. The ChainAgile framework leverages blockchain capabilities to enforce accountability through automatic penalties for customers’ payment delays or non-payments and developers’ task completion delays. In the ChainAgile blockchain ecosystem, essential elements like infrastructure, Decentralized Applications (DApps), financial transactions, digital wallets, miners, consensus mechanisms, distributed ledger, privacy measures, and distributed storage create a comprehensive solution for managing projects in the Distributed Scrum Agile Software Development (DSASD) domain. The framework emphasizes secure payment transactions and user data privacy, offering infrastructure for user-friendly DApps, and facilitating communication, and coordination. This empowers dispersed users, providing control over information and enhancing transparency in data management. ChainAgile comprises six distinct layers, as shown in Fig 3, and encourages customer participation across all layers to facilitate effective tracking of development team progress through blockchain traceability [30]; [31]. Fig 4 provides a complete overview of the proposed ChainAgile framework implementation. Smart contracts play an active role in the testing layer, payment layer, and prioritization layer, where they are employed for conducting acceptance testing, verifying the payment requisites of developers, and task allocation and prioritization respectively. These smart contracts also play a crucial role in enforcing all mutually agreed terms and conditions between customers. clients and developers. In cases where user stories are not completed within the specified deadlines, ChainAgile automatically imposes penalties on the developers. Similarly, if customers make late or non-payments, penalties are assigned to them as well. All these actions are carefully stored within the private Ethereum blockchain. In the ChainAgile framework, all participants must complete a registration process by providing their credentials. This involves project managers and developers supplying information like their name, contact number, qualifications, skills, email, and experience. Simultaneously, customers desiring engagement with ChainAgile are required to complete a registration process, which requires the submission of their personal information including Name, Email, Project Domain, and Contact Number. The administrative team is entrusted with the task of initializing a new project for each customer, followed by the assignment of a dedicated project manager and expert developers responsible for executing project-related activities. During this process, all stakeholders receive a private key that serves as their gateway to the specific project. The key is particularly recorded within ChainAgile’s blockchain database representing the agreement layer. This method stored the essential information related to customers, developers, communication messages, group chat logs, and video conferences. This strategic choice significantly boosts the effectiveness of blockchain transactions by alleviating the load of data storage. [32]. Each piece of information stored in IPFS is linked to a unique IPFS hash, which is subsequently logged in the blockchain for future retrieval. However, it is imperative to note that data within the six-layer framework of ChainAgile continues to reside within the Ethereum blockchain. To efficiently handle extensive data volumes or storage requirements additional resources are introduced to the system. Within the branch of blockchain technology, the management of substantial transaction data within tight timeframes presents a challenging scalability. In response, ChainAgile incorporates the utilization of IPFS as distributed storage. IPFS leverages cryptographic hash functions and a peer-to-peer (P2P) network structure to facilitate the decentralized storage of data. Significantly burdening the blockchain with an excessive volume of user records, ChainAgile adopts the practice of storing such records on IPFS. Furthermore, ChainAgile extends this approach to encompass the storage of all messages, group chat logs, and records of video conference meetings on IPFS. By offloading this substantial data volume from the blockchain, ChainAgile effectively encourages transaction performance, resulting in faster and more efficient operations.

The role of Blockchain in distributed scrum agile software development using smart contracts plays a pivotal role in securing and validating digital transactions by utilizing a decentralized and distributed ledger. It ensures transparency, as each participant in the network has access to the entire chain of transactions. The blockchain’s importance lies in its ability to establish trust without the need for intermediaries, this technology offers secure, transparent, and efficient processes. Its decentralized nature enhances security, reduces fraud, and increases accountability, making it a transformative force in digital transactions and data management. The blockchain with smart contracts controls all the processes of distributed scrum agile software development. All transactions related to requirements, prioritization, sprint backlog, user story implementation, its design and development, testing, after deploy verification and after verification payments. If the developed task late due to some reason its penalty mechanism is implemented in the form of late payments or penalties from client side, from distributed development teams and from customer. For this Fig 7 explains the proposed framework for ChainAgile which integrates the blockchain with distributed scrum agile software development. The designed blockchain architecture of ChainAgile shows in Fig 8 and the blockchain layered structure shows in Fig 9. Blockchain layered explains how the blockchain works in all layers of distributed scrum agile software development. The precise role where IPFS (Interplanetary File System) is employed involves serving as an off-chain storage solution within the ChainAgile framework. IPFS is strategically integrated to store pertinent data related to registered customers, developers, communication messages, group chat logs, and video conferences. This inclusion aims to enhance the efficiency of blockchain transactions by alleviating the data burden on the blockchain itself. IPFS utilizes a peer-to-peer network for the storage and distribution of data, ensuring protection against unauthorized alterations and addressing scalability challenges in the blockchain. In a distributed and decentralized system, the combination of blockchain and the Interplanetary File System (IPFS) proves highly effective. Blockchain provides a secure and transparent ledger, ensuring the integrity of transactions. IPFS, as a decentralized file system, complements this by offering efficient and secure storage and retrieval of data. The pairing of blockchain and IPFS enhances data distribution, reduces redundancy, and ensures data availability across the network.

Blockchain integration understandings

The proposed framework leverages cutting-edge blockchain technology to establish a transparent system for scrum agile distributed software development users. By integrating blockchain, the system ensures transparency, enabling all stakeholders, including customers, clients, and developers, to seamlessly trace and track the various stages of the development processes.

The proposed secure payment method incorporates smart contracts, ensuring the integrity of various transaction details such as requirements, agreements, prioritization, user story implementation, testing, and sprint deployment and payments. All these transaction records are immutably stored in the blockchain, providing a secure and transparent environment. The integration of blockchain with the scrum agile distributed framework ensures the integrity and transparency of transactions, eliminating the risk of modification, deletion, or tampering. The system operates without a single point of failure or centralized authority. Fig 7 presents how blockchain technology is integrated with scrum agile distributed framework and Fig 8 shows the blockchain architecture implementation layer-wise. Fig 9 shows ChainAgile blockchain layered structure implementation. Fig 10 shows the scrum agile distributed software development layer-wise process flow in a more innovative way.

The key stakeholders in the proposed framework include customers, clients, and the development team. At the core of the framework is a decentralized application (DApp), relying on digital storage, IPFS, blockchain network, smart contracts, and a web platform for user interactions. All users involved in the traceability system are linked through the DApp for accessing the blockchain network. Registration is mandatory for all participants to join and engage with the system.

Upon registration, each user is assigned a unique public address, serving as their identification across the network. IPFS is seamlessly integrated to facilitate data transmission between digital storage and DApp components. The system accommodates various user levels, with distinct roles managing, controlling, and authorizing processes based on their respective authorities. The DApp encompasses an initial coin offering (ICO), an ICO exchange, and the integration of third-party payment gateways, including digital currencies and local currencies. IPFS technology ensures the secure transfer of information among distributed networks and digital storage, overseen by end-users through their public addresses. All entries are meticulously recorded in the blockchain ledger, ensuring complete traceability. The system incorporates an ICO exchange to convert tokens into fiat currency, with client payments to the development team deposited into their associated digital wallets. The proposed blockchain is hybrid, preserving data privacy for all stakeholders while remaining accessible to specific authorities for authentication, auditing, and transaction verification.

Users access the DApp through the management system, utilizing their public addresses to manage wallets and profiles. The backend of the platform operates a continuous ICO and currency exchange. Smart contracts are pivotal in managing authentication and administration policies within the scrum agile distributed environment. They govern ICO and exchange connections and dynamically set rates for various currencies.

A. The layered architecture of ChainAgile

ChainAgile follows a seven-layered blockchain architecture, which is based on the blockchain architectural style. The architecture is presented in Fig 5 and includes the following layers:

  • 1) INTERFACE LAYER This layer encompasses the user-friendly application of ChainAgile, decentralized applications (DApps), and connecting the customers, clients, and developers using a web portal that serves as the gateway to the ChainAgile system. Within this layer, individuals equipped with digital wallets within the ChainAgile environment interact with the interface to originate the scrum agile distributed software development processes.

  • 2) APPLICATION LAYER This layer contains transaction details, payment information, and different records within ChainAgile. These records encompass prototypes, design, and project agreements created between customers and development teams. Moreover, this layer serves as the instrument for utilizing the ether cryptocurrency, bridging the gap between the interface layer and the fundamental business logic, represented through smart contracts.

  • 3) BUSINESS LOGIC LAYER This layer comprises the smart contracts operating within ChainAgile, responsible for managing terms and conditions. This layer serves as a dynamic repository for smart contracts. The layer facilitates the initiation, execution, and enforcement of contractual agreements and communication protocols.

  • 4) TRUST LAYER The layer plays a pivotal role in supervising consensus algorithms, encompassing proof-of-work and Byzantine fault tolerance. It is also responsible for conducting security assessments of smart contracts, validating newly introduced blocks, and establishing consensus protocols for transactions [9]. The results of these operations are stored within the blockchain layer.

  • 5) TRANSACTION LAYER The transactions performed by users or smart contracts in ChainAgile manage operations like validation, block validation, mining, and transactions.

  • 6) INFRASTRUCTURE LAYER This layer provides a peer-to-peer network for distributing, validating, and dispatching transactions onto the Ethereum blockchain in ChainAgile. This network integrates verification, communication, and distributed networking mechanisms. Transactions are shared across the entire network, with each node carefully examining them based on predefined criteria. Upon validation, these transactions are securely added to the blockchain.

  • 7) SECURITY LAYER The security layer holds a crucial responsibility in ensuring the safety of the blockchain network from various security threats [33]. It consists of a set of security algorithms and protocols that work in the ChainAgile system, carefully preserving its security. Users engage with the interface layer through a web portal and DApp, enabling them to perform actions like posting, commenting, chatting, and conducting project-related transactions using ether cryptocurrency. Development teams have the option to utilize a currency conversion service to transform ethers into traditional fiat currency. The transaction protocols are predefined by smart contracts [34], which encapsulate the core business logic within ChainAgile. The trust layer seamlessly integrates consensus algorithms to maintain the blockchain’s integrity. ChainAgile employs the Ethereum blockchain implemented with a proof-of-work mechanism to maintain node authorization. The security layer seamlessly integrates with all the other layers to guarantee authorized access for participating nodes.

B. ChainAgile layered structure

The ChainAgile framework is structured into six distinct layers, as depicted in Fig 6. Transactions within each of these layers are meticulously documented within the blockchain, ensuring that all members of the blockchain network are kept informed.

Fig 6. Layers in ChainAgile framework.

Fig 6

Agreement: Layer 1

Customers, clients, and developers collaboratively define their specific terms and conditions related to (SADSD), which is converted to smart contracts within the blockchain. These smart contracts are essential prerequisites for completing acceptance tests and activating payment options within the ChainAgile framework. The agreement layer serves as the platform for achieving consensus between customers, clients, and the development team to establish terms and conditions. This consensus is formalized through smart contracts, which are securely stored within the blockchain network, facilitating subsequent activities in the requirement elicitation layer. Once the agreement is set, the project’s status transitions to the “Requirement Elicitation” phase, and this pivotal information is seamlessly updated within the blockchain network [35]. ChainAgile framework forces the Ethereum blockchain to deploy smart contracts. These smart contracts encompass transaction data and code responsible for executing transaction logic among stakeholders [36]. A fundamental aspect of the blockchain’s operation is its immutability principle, ensuring that once a smart contract is deployed, its code remains unchanged. In situations involving bugs or errors, developers must create a new smart contract, rectify the issues, and deploy the revised version onto the blockchain. This process effectively transfers all existing data to the new smart contract while maintaining data integrity and strengthening security measures. The ChainAgile framework employs smart contracts as its core mechanism. The deployment process is recorded as a transaction and becomes a permanent entry in the blockchain. A comprehensive overview of the ChainAgile framework’s operational processes ChainAgile layers wise is depicted in Fig 7. The contractual details presented by customers, clients, and developers, implemented on the Ethereum platform in the form of smart contracts, are organized as JSON objects. These smart contracts confirmed all predefined terms and conditions were mutually completed in the agreement layer.

Fig 7. ChainAgile framework.

Fig 7

Requirement elicitation: Layer 2

ChainAgile framework, customers can initiate the requirements-gathering process by creating user stories, which are visualized on a virtual wall. This innovative framework encompasses five distinct communication modes such as messages, comments, video conferencing, group chat, post, and smart contract deployment process illustrated in Fig 9. These user stories, representing crucial project requirements, are thoroughly recorded as transactions within the blockchain. The development team actively engages with customers by responding to their posted user stories and, when necessary, scheduling or interacting with any communication mode for more in-depth discussions. Particularly, all posts and comments generated during these interactions are securely stored within the blockchain. Simultaneously, on IPFS group chats, messages, and video conferences are hosted, enhancing the overall efficiency and organization of communication. Once agreement is reached between the customer and the development team for the user stories, the backlog list is approved and recorded as a smart contract, marking its status as “Prioritization” and proceeding to the prioritization layer. This transition is securely logged in the blockchain, ensuring immediate notifications to all network members. Furthermore, the customer maintains the flexibility to implement changes or introduce additional user stories in the project. Importantly, these modifications are instantly communicated to all participants within the blockchain network, promoting transparency and informed decision-making throughout the project’s lifecycle.

Fig 9. ChainAgile layered structure.

Fig 9

1.JSON objects for the agreement of customer: agreement layer

Customer’s Agreement

(

“Project budget”: “n decided by the customer”

“Project deadline”: “n weeks decided by the customer”

“Each user story’s deadline”: “n weeks decided by the stakeholders through consensus”

“Requirements”: “Project must be completed within time and budget”

)

2.JSON objects of agreement layer for the developer’s agreement: agreement layer

Developer’s Agreement

(

“Each user story’s price”: “n decided by all the stakeholders through consensus”

“Payment deadline”: “n weeks for each tested user story decided by the development team”

“Requirements”: “Customer must pay for the completed and tested user story within the due date”

“Project Manager”: “n”

“Software Developer”: “n”

“Tester”: “n”

“UX Designer”: “n”

“UI Designer”: “n”

)

Prioritization: Layer 3

In ChainAgile, the process of prioritizing user stories is a collaborative effort between the customer, client, and the development team within the prioritization layer. This collaboration may involve various communication methods such as comments, posts, video conferences, or group chats, all aimed at identifying the most essential user story to be prioritized first. Once a user story is successfully prioritized, its status changes to “Design and Development,” signifying its readiness for the next phase. The high-priority user story is then seamlessly moved to the development layer. The prioritization process successfully defined the user story at this stage the sprint backlog and product backlog are also maintained which completes the prioritization process before storing all user stories. Importantly, this transition is particularly recorded within the blockchain network, ensuring that all participants in the blockchain network are promptly informed of this crucial development.

Design and development: Layer 4

In the design and development layer of the ChainAgile framework, the development team takes responsibility for crafting prototypes for high-priority user stories. These prototypes are subsequently shared on the implicit block for customer review and feedback. Customers engage with these prototypes by offering reviews [33]. Additionally, both parties have the option to schedule video conferences to facilitate more in-depth discussions and exchange of ideas and solutions. In cases where the customer provides positive feedback, the development team proceeds with the implementation of the specific user story. However, if the feedback is negative, the team initiates a redesign of the prototypes to better align with the customer’s requirements. Upon successful implementation of the user story by the development team, its status is updated to “Implemented” and securely stored within the blockchain. This transition marks the beginning of the testing phase for the implemented user story, and its status changes to “Testing.” Importantly, this change is also recorded within the blockchain network, ensuring that all network members are duly informed of this progression.

Testing Layer: 5

The ChainAgile framework integrates an important testing layer aimed at validating the successful implementation of each user story. In the validation process for acceptance testing, specifically designed smart contracts are executed. These smart contracts check and verify whether the terms and conditions agreed between the customer and development are met or not. When all conditions are successfully satisfied, the test is marked as a “Pass,” signaling the user story’s progress to the payment layer. Importantly, every step in this process is carefully recorded within the blockchain network, ensuring that all network members are kept informed. However, in cases where the acceptance test fails due to missing requirements or other issues, the development team is promptly notified, and the user story is subsequently returned to the design and development layer for further refinement. The user story status is distinctly labeled as “Fail” and securely stored within the blockchain network. ChainAgile implements an acceptance test status of “Pass/Fail,”. Additionally, the smart contract will automatically designate the user story’s status as “Overdue” and enforce a related penalty, If the development team fails to pass the test within the timeframe. All alterations in status and penalties related to overdue user stories are diligently recorded within the blockchain network, thereby ensuring that all network members remain well-informed. The results of the acceptance test, illustrated in JSON objects conclusively confirm whether the terms and conditions have been met properly in the agreement layer.

Payment Layer: 6

By utilizing a private blockchain, ChainAgile introduces an additional layer of security that ensures transaction confidentiality and restricts node involvement in deploying consensus protocols and accessing transaction records. To enhance security the integration of private blockchain technology serves as a fundamental measure of the 51 percent attack mechanism within the ChainAgile framework.

3.Acceptance test JSON objects in the testing layer

Acceptance Test 1 (Pass State)

(

“User story ID”: “01”

“Requirements”: “All the terms and conditions of the customer in agreement and backlog list must be achieved”

“Acceptance test date”: “n date”

“Acceptance test status”: “Pass”

)

4.Acceptance test JSON objects 2 in the testing layer

Acceptance Test 2 (Fail State)

(

“User story ID”: “02”

“Requirements”: “All the terms and conditions of the customer in agreement and backlog list must be achieved”

“Acceptance test date”: “n date”

“Acceptance test status”: “Fail”

)

As the acceptance test is successfully passed by the high-priority user story, the ChainAgile framework seamlessly initiates the payment layer. Within this layer, an invoice is automatically generated for the completed user story, and a payment request is forwarded to the customer. The payment process requires the customer to make the payment by transferring ethers to the development team’s digital wallets within the ChainAgile platform. These ethers can subsequently be converted into various fiat currencies, through the utilization of a cryptocurrency conversion service.

The comprehension method of payment and ether conversion procedures within ChainAgile are explained in Fig 8. Additionally, JSON objects represent key data. These cover various aspects, including agreement acceptance, requirement prioritization, Sprint Backlog, Design and development, review, prioritization, and user story implementation, offering comprehensive insights into the ChainAgile framework.

Fig 8. ChainAgile blockchain architecture.

Fig 8

5.Acceptance agreement JSON objects in the agreement layer Accept Agreement

(

“Private Key”:“n”

“Login Project”: Enter the n private key to the login project”

“Login Success”: “If n is true”

“Login Fail”: “If n is false”

“Initial Conditions”:“n conditions set by all stakeholders consensus”

“Project Budget”:“n decide by the customer”

“Project Deadline”:“n time decided by the customer and development team”

“Penalty”: “For both sides if they don’t fulfill the conditions.”

“Accept Agreement”: “Make a document with initial conditions and sign by both sides.”

“Record it”: “Record the document as a smart chart”

“Elicitate Requirements”: Elicitate all the user story for requirements”

“Record it”: “Record all requirements as smart chart”

)

6.Requirement prioritization JSON objects in the prioritization layer

Requirement Prioritization

(

“Developments Team”: “n”

“Requirements”: “Development team Elicitate through user story”

“Backlog list”: “Maintain by the development team as product backlog according to the requirements”

“Prioritization”: “User set the priorities of product backlog”

)

7.JSON objects for requirement Sprint Backlog in the Elicitation layer

Requirement Sprint Backlog

(

“Prioritization”: “User set the priorities of product backlog”

“Sprint Backlog”: “Owned by development team according to user prioritization”

“Development Team “:”n time decided by the development team for each sprint”

“Record”: “Record sprint as smart chart”

“Deploy”: “Recorded data deploy to ether block-chain”

)

8.JSON objects for Design and Development in the design layer

Design and development

(

“Prioritization”: “User set the priorities of product backlog”

“Design and Development”: “Development team design and develop high priorities user story.”

“Developments”: “n”

“Designers”: “n”

“Review”: “User review the design that is developed by the development team”

“Changes”: “If requirements are not full, customer address changes according to priorities”

“Pass”: “If requirements are full, the customer passes the review”

)

9.JSON objects for review in the development and testing layer

Review and Prioritization

(

“Input”: “Design and Development”

“Review”: “User review the design that is developed by the development team”

“Changes”: “If requirements are not full, customer address changes according to priorities”

“Prioritization”: “If any change is required in review, this requirement is sent to the Prioritization step”

“Pass”: “If requirements are full, the customer passes the review”

“Implementation”: “When the user passes review implementation start”

)

10.JSON objects for user story implementation and acceptance in the testing layer

User Story Implementation and Acceptance

(

“Input”: “After review pass”

“Implementation”: “Developer Team Implement the user story”

“Developer Team”:“n”

“Acceptance”: “When implementation is complete it is accepted”

“Execution”: “All the smart chart record is executed”

“Payment”: “After all execution user pays the payment to the Development team”

“Penalty for Development Team”: “If the development team does not implement user story before or on deadline”

)

Fig 9 provides insights into the operational dynamics of the blockchain network within the ChainAgile ecosystem. ChainAgile ecosystem mentions the transaction, miners, privacy, distributed storage, infrastructure used in SADSD. This content provides an in-depth explanation of the core characteristics of blockchain technology. It defines blockchain as an immutable data storage system known for its decentralized, transparent, and peer-to-peer (P2P) architecture. In blockchain, data is permanently recorded in unchangeable data blocks. Blockchain working environment in the ChainAgile framework is shown in Fig 10. Penalties are imposed If the customer does not follow the defined payment requirements or submits payment after the designated deadline, through the smart contract’s execution. If the customer fails to remit payment for the completed user story within a specific timeframe, their IP address is subject to being blocked, effectively preventing further access to ChainAgile.

Fig 10. Processes in layers of ChainAgile framework.

Fig 10

Blockchain ledger formation explained in Fig 11, and how blockchain network works in ChainAgile framework explained in Fig 12. Additionally, Fig 13 offers a detailed illustration of the transaction process flow. The integration of the ChainAgile framework with blockchain infrastructure is a robust collaboration among its network participants, and users with various roles, including clients, stakeholders, developers, design engineers, requirement analysts, and blockchain engineers.

Fig 11. Payment conversion in ChainAgile-framework.

Fig 11

Fig 12. ChainAgile ecosystem.

Fig 12

Fig 13. Blockchain environment in ChainAgile framework.

Fig 13

Detailed information regarding payment and penalties assigned to users is presented in JSON objects. Importantly, all transactions and penalties are securely stored within the blockchain, ensuring that all network members remain duly informed.

11.JSON objects for the customer payment mechanism: payment layer

Payment

(

“User story ID”: “18”

“User story status”: “Payment”

“Requirements”: “All the terms and conditions of developers in the agreement must be achieved”

“Payment due date”: “n weeks decided by the development team through consensus”

)

12.Penalty JSON objects for customers (related to late payment)

Late Payment Customer’s Penalty

(

“User story ID”: “04”

“Late payment deadline”: “n weeks decided by the development team through consensus”

“Payment status”: “Late Payment”

“Penalty”: “n decided by the development team through consensus”

)

13.Penalty JSON objects for customers (related to no payment)

Penalty for non-payment on Customer

(

“User story ID”: “05”

“Late payment deadline”: “n weeks decided by the development team through consensus”

“Payment status”: “No Payment within n weeks”

“Penalty”: “IP address blocked”

)

14.Penalty JSON objects for developers within the payment layer

(

“User story ID”: “06”

“User story due date”: “n weeks decided by the stakeholders through consensus”

“User story status”: “Overdue”

“Penalty”: “n decided by the customer”

)

Experiment and results

Performance and evaluation

In this section, we showcase the real-time execution of the devised framework and delve into the outcomes achieved. The experiments operated under the following assumptions:

  • No miner or coalition of miners possessed 51 percent hash power in the system.

  • Access to data was exclusively granted to registered users.

The functions included:

  • GetChain for demonstrating the chain.

  • ConnectNode for establishing connections between nodes.

  • MineBlock for mining a block within the blockchain.

  • addTransaction for involvement in blockchain transactions.

  • chain-valid for validating the developed chain.

  • replace-chain for replacing the chain with a newly entered one.

We assessed the efficiency of ChainAgile by implementing the blockchain network which creates data blocks on the network and analyzed the latency by getting the largest chain through the network. For this we utilized Python in this study, utilizing Replit as our integrated development environment (IDE). Replit, an online cloud-based service, operates as a Software as a Service (SaaS) for crafting smart contracts. Postman is employed for all HTTP requests used during the experiment engaged with the blockchain. Additionally, we leverage the Matplotlib library in Python to generate visual representations of blockchain size and data latency. The metrics utilized to evaluate in the ChainAgile framework include an analysis of latency and block performance.

BLOCK SIZE is the amount of data stored in a single block, usually containing transaction data. Evaluating block size is important to understand how quickly files or the blockchain typically grow.

LATENCY, in a system, refers to the delay experienced when one component waits for a response from another component after taking an action. In the context of a blockchain network, latency specifically represents the time gap between submitting a transaction to the network and receiving the initial confirmation of its acceptance by the network.

Ethereum Cost/Gas The proposed framework for scrum agile distributed software development involves stakeholders such as customers, clients, and development teams. It includes components like a decentralized application (DApp), which relies on digital storage, the Interplanetary File System (IPFS), a blockchain network, smart contracts, and a web platform for end-user interactions. IPFS is integrated to facilitate data transmission and storage of communication data, enhancing the overall functionality and connectivity for the involved stakeholders.

Ethereum, a prominent blockchain, records over one million daily transactions and utilizes smart contracts written in various programming languages. Smart contracts on Ethereum are self-executing programs that run when specific conditions are met, combining data and methods. The Ethereum Virtual Machine (EVM) compiles these contracts. Once deployed, the bytecode is stored on the blockchain, accessible via the smart contract’s address. Transactions in ChainAgile require users to pay transaction fees in gas, a unit measuring computational costs. Miners are rewarded with Ether and Gas for their contributions to ChainAgile operations. Gas, akin to a transaction fee, compensates miners for executing smart contracts, with the actual price influenced by market conditions.

For example, certain operations in Ethereum entail specific gas requirements; for instance, the blockhash operation necessitates 20 gas units, and the ADD operation requires 3 gas units. By default, any operation impacting the state of the Ethereum Virtual Machine (EVM) requires a minimum of 21,000 gas. An illustration of this is the amount needed for transferring Ethers from one account to another.

In ChainAgile we have experimented and assessed the efficiency of ChainAgile by implementing the blockchain network which creates data blocks on the network and analyzed the latency by getting the largest chain through the network. Fig 13 shows the blockchain implementation environment in ChainAgile. Fig 14 shows the blockchain network. Fig 15 shows the ChainAgile transaction process flow. Fig 16 shows the experimental results of chain size of block. Figs 1719 show the latency of the experiment. Fig 20 shows the block size and its increase in the experiment.

Fig 14. Blockchain network working in ChainAgile framework.

Fig 14

Fig 15. Blockchain transaction flow in ChainAgile framework.

Fig 15

Fig 16. The average growth in ChainAgile’s file size.

Fig 16

Fig 17. Longest chain Latency in ChainAgile 900 blocks.

Fig 17

Fig 19. Longest chain Latency in ChainAgile 5000 blocks.

Fig 19

Fig 20. Block size and average increase.

Fig 20

Fig 18. Longest chain Latency in ChainAgile 2000 blocks.

Fig 18

Performance evaluation

In this section, we give a comprehensive exploration of the real-world performance evaluation of ChainAgile through practical experimentation. The ChainAgile blockchain network has been established to facilitate real-time data transfers and transactions. we configured the transactions in HTTP request forms using the Postman tool. To validate the effectiveness of our proposed framework, we conducted mechanisms that is, add-transaction, get-chain, replace-chain, connect-node, mine-block and is-chain-valid. In the Postman environment, we initiated a sequence of random transactions through HTTP requests, repeating this process by using the block size 900 times, 2000 times, and 5000 times repeatedly. This will clarify the results for performance evaluation more precisely. As the blockchain progressed, it displayed a size range from 0.284 KB to 750 KB over 900 blocks, 0.485 KB to 850 KB over 2000 blocks, and 0.590 KB to 990 KB over 5000 blocks. The introduction of new blocks with transactions resulted in an average size increase of 325 KB to 360 KB around for 900 blocks, 525 KB to 560 KB around for 2000 blocks, and 690 KB to 960 KB around for 5000 blocks, respectively. Fig 21 illustrates the relationship between the increasing number of blocks and the expanding blockchain size for 5000 blocks, it is big number in transactions. Fig 14 illustrates latency for adding 900 blocks, Fig 15 illustrates latency for adding 2000 blocks, Fig 16 illustrates latency for adding 5000 blocks respectively.

Fig 21. Blockchain ledger formation in ChainAgile framework.

Fig 21

The incremental trend indicates a consistent rise in the blockchain size. The response time gradually increases as more nodes await in the pool for miners. The average chain size hovers around 0.04 MB to 0.4 MB for every 500 blocks in a 5000-block chain experiment. This size continues to grow with the addition of blocks to the chain. System latency is assessed by measuring the time taken to execute transaction requests, triggered at specific intervals to determine the system’s latency rate. Consequently, the on-chain traffic is regulated throughout the process. Latency within the chain is influenced by the computational power of nodes, and adaptable consensus algorithms maintain blockchain efficiency during operations. The inclusion time of transactions in the blockchain remains constant, reducing system latency. However, the decentralized nature of the blockchain introduces some delays in data access.

Furthermore, the performance of these numerous servers within the ChainAgile blockchain network is susceptible to influences such as the response time of their local machines to multiple requests, machine processing speed, and available internet bandwidth. These collective factors collectively contribute to the latency observed when executing HTTP requests across different servers.

ChainAgile blockchain-based framework

ChainAgile incorporates a private Ethereum blockchain to support fundamental principles such as traceability, trust, transparency, and security. ChainAgile reinforces security by mitigating the susceptibility to 51 percent of attacks. Ensuring secure payments and equitable distribution among virtual agile teams. Mandating the use of private keys for stakeholders to access specific projects, effectively restraining from unauthorized participation. ChainAgile actively promotes transparency within the software development process. It guarantees perpetual access to data for all geographically dispersed stakeholders, who receive timely notifications with every update. ChainAgile introduces trust through the execution of smart contracts, precisely designed to satisfy both customers and developers. These smart contracts serve as reliable mechanisms to verify the fulfillment of all instructed terms and conditions. ChainAgile precisely tracks the progress of work conducted by distributed agile teams, thoroughly documenting each step within the blockchain. This comprehensive information is disseminated to all network members, thereby ensuring complete traceability and accountability throughout the process.

In ChainAgile, we have integrated IPFS storage solution as an off-chain, effectively mitigating the scalability challenges often encountered in blockchain environments. IPFS serves as the repository for storing customer and developer records, along with their communication data. This strategic decision to offload such data from the blockchain substantially enhances transaction performance within ChainAgile, leading to expedited and more efficient operations.

ChainAgile utilizes a DApp (Decentralized Application) to provide a user-friendly interface. Within this interface, users are equipped with access to five distinct communication modes that span across all six layers. These modes encompass comments, group chat, posts, and video conferences, collectively delivering a comprehensive and highly effective communication experience.

In the proposed framework, consensus mechanisms have been integrated into the agreement and requirement elicitation layers. This integration serves the purpose of enhancing coordination between customers and developers.

ChainAgile connects the power of smart contracts for acceptance testing, thus ensuring the verification of the development team’s devotion to all terms and conditions instructed by the customer.

Fig 17 shows the representation of different block size chains 900, 2000, and 5000 blocks respectively. ChainAgile blocks average increase and average block size when a new block is inserted in the chain. This clarifies that at the time of start the increase and latency are slightly higher before it comes to average.

Ethereum Cost/Gas analysis for the proposed ChainAgile framework, ChainAgile CAT token value is designed with its initial cost of 1 USD with the token type ERC20 ethereum standard token for Ethereum blockchain network. A specific fee is charged for each transaction in ChainAgile, depending upon the currency exchange used ICO. The proposed framework demonstrates enhanced efficiency by adding new blocks to the blockchain more swiftly than existing networks. While Bitcoin takes up to 10 minutes and Ethereum 15 seconds, the proposed framework adopts a mechanism to add a new block approximately every 8.5 seconds.

Fig 22 illustrates the new block additions, highlighting the reliability and efficiency of our proposed system compared to others. The delay in blocks on Ethereum and Bitcoin networks results in 0.2659 million and 1.21 million transactions per day, respectively. In contrast, our research’s proposed framework can add an average of up to 8.64 million transactions to the blockchain daily.

Fig 22. Block addition.

Fig 22

Moreover, our proposed framework exhibits faster confirmation of new transactions compared to Ethereum and Bitcoin. Notably, the average transaction fee in our framework is USD 0.5 initial and standard. Fig 23 shows the detail of cost/gas transaction fee.

Fig 23. Cost/Gas transaction fee.

Fig 23

Discussion

This section presents a comprehensive discussion of the experimental results obtained from our ChainAgile framework. Our framework has been particularly designed for scalability, security, transparency, geographically dispersed teamwork agreements, geographically dispersed teamwork effectiveness and optimized performance. ChainAgile is a productive ecosystem designed to support the effective execution of Scrum Agile distributed software development-based projects, delivering a platform that encourages collaborative and geographically dispersed teamwork. In this framework, we proactively attempt the substantial challenges associated with Scrum Agile Distributed Software Development (SADSD). These encompass concerns related to trust, traceability, security, transparency, communication, geographically dispersed teamwork agreements, geographically dispersed teamwork effectiveness and coordination. By incorporating blockchain technology, we confront and overcome these challenges. The decentralized attributes, consensus mechanisms, distributed storage, and robust security inherent in blockchain play a pivotal role in mitigating issues such as project delays, payment disputes, project cancellations, customer dissatisfaction, and trust-related problems in a distributed environment. The performance evaluation of ChainAgile seamlessly incorporates blockchain, presenting users with six unique layers, each equipped with its workspace considerately customized for the distributed scrum agile software development life cycle. The advantages of blockchain integration into ChainAgile are: Blockchain’s inherent decentralized nature seamlessly aligns with the requirements of SADSD. DApps provide a user-friendly interface for users of the distributed environment across six layers, enabling effective communication and collaboration among geographically dispersed users. Blockchain actively deploys consensus mechanisms to elevate coordination within the SADSD framework. The Ethereum blockchain integrated into ChainAgile automates critical processes such as acceptance testing, payment verification for developers, and seamless distribution of payments to the development team’s digital wallets with smart contracts. Blockchain technology empowers users by providing digital wallets and cryptocurrency (e.g., ether, ETH) for efficient and secure payment transactions. This technology ensures a high level of transparency, ultimately leading to keen customer satisfaction. ChainAgile effectively mitigates the risk of 51 percent attacks, thus ensuring secure payment transactions. Our experimental findings emphasize the pivotal role played by blockchain technology as an initial element of this research, significantly elevating the software development process within the SADSD domain. Particularly, previous research endeavors did not propose a framework that combines efficiency, transparency, security, scalability, trust, and traceability, within SADSD. However, it’s imperative to acknowledge that the inclusion of the Ethereum blockchain within ChainAgile does come with certain limitations. These limitations encompass factors such as the substantial energy consumption during block mining and the inherent challenge of data modification once it has been securely stored on the blockchain. Furthermore, the results derived from our performance evaluation distinctly highlight the immense potential of blockchain technology within the SADSD. The blockchain infrastructure comprehensively encompasses all aspects of the scrum agile distributed software development [37] (Elicitation, Analysis, Validation, prioritization, product backlog, sprint backlog Management, Specification) processes. It acknowledges the existing challenges and will overcome gaps and limitations by implementing the innovative blockchain-driven model presented in this context effectively. Our empirical findings establish blockchain technology as a pivotal asset in this study SADSD. The integration of blockchain infrastructure holds promise for enhancing trust, sustaining security, and supporting reliability across these phases. The results of our performance evaluations indicate that blockchain technology possesses the capacity to transform the future of SADSD and has the potential to conduct substantial changes for offshore software companies.

Conclusion

Existing tools and frameworks designed for SADSD lack fundamental features like security, transparency, traceability, geographically dispersed teamwork agreements, geographically dispersed teamwork effectiveness, and trust. This deficiency and challenges highlight the requirement for an efficient framework capable of addressing these significant challenges. In response, we propose an innovative solution called ChainAgile, which integrates blockchain technology to effectively confront the primary problems encountered in SADSD. ChainAgile utilizes DApps to provide an intuitive user interface, which records transaction and information in the blockchain. This storage mechanism allows for comprehensive tracking of work progress among geographically dispersed teams. The framework leverages smart contracts to automate several critical functions, including acceptance testing, payment verification, payment distribution, task prioritization, product backlog, sprint backlog and manage the penalties for late or non-payments. To ensure security against 51 percent attacks, we implement a private Ethereum blockchain, and to handle blockchain scalability concerns, we employ IPFS as off-chain storage. Our experimental findings conclusively demonstrate that ChainAgile, powered by blockchain technology, proficiently resolves the principal challenges faced by SADSD. In our future endeavors, we intend to enhance ChainAgile by incorporating features for user rating, distributed scrum of scrums, DevOps and Scrum integration with blockchain and reviews management. Moreover, we plan to integrate a translator to support multiple languages, further expanding the framework’s accessibility and usability in other distributed environments of scrum agile software development. Additionally, we aim to employ smart contracts to address task distribution complexities among development teams operating within the ChainAgile framework.

Supporting information

S1 Dataset

(CSV)

pone.0299324.s001.csv (12.1KB, csv)

Data Availability

The data supporting the findings of this study are openly available in the GitHub repository at the following link: https://github.com/JunaidNasirQureshi/ChainAgile_Blockchain. The minimal dataset containing information on latency and size for 700 blocks, as measured during the tests, is available in the Supporting information file ‘Dataset.csv’.

Funding Statement

The author(s) received no specific funding for this work.;

References

  • 1. Lee WT, Chen CH. Agile Software Development and Reuse Approach with Scrum and Software Product Line Engineering. Electronics. 2023;12(15):3291. doi: 10.3390/electronics12153291 [DOI] [Google Scholar]
  • 2. Aslam W, Ijaz F. A quantitative framework for task allocation in distributed agile software development. IEEE Access. 2018;6:15380–15390. doi: 10.1109/ACCESS.2018.2803685 [DOI] [Google Scholar]
  • 3. Gheorghe AM, Gheorghe ID, Iatan IL. Agile Software Development. Informatica Economica. 2020;24(2). [Google Scholar]
  • 4.Robinson PT. Communication network in an agile distributed software development team. In: 2019 ACM/IEEE 14th International Conference on Global Software Engineering (ICGSE). IEEE; 2019. p. 100–104.
  • 5. Alzoubi YI, Gill AQ. An empirical investigation of geographically distributed agile development: The agile enterprise architecture is a communication enabler. IEEE Access. 2020;8:80269–80289. doi: 10.1109/ACCESS.2020.2990389 [DOI] [Google Scholar]
  • 6. Qureshi R, Basheri M, Alzahrani AA. Novel framework to improve communication and coordination among distributed agile teams. International Journal of Information Engineering and Electronic Business. 2018;10(4):16. doi: 10.5815/ijieeb.2018.04.03 [DOI] [Google Scholar]
  • 7. Janjua UI, Madni TM, Cheema MF, Shahid AR. An empirical study to investigate the impact of communication issues in GSD in Pakistan’s IT industry. IEEE Access. 2019;7:171648–171672. doi: 10.1109/ACCESS.2019.2953008 [DOI] [Google Scholar]
  • 8. Younas M, Jawawi DNA, Mahmood AK, Ahmad MN, Sarwar MU, Idris MY. Agile software development using cloud computing: a case study. IEEE Access. 2019;8:4475–4484. doi: 10.1109/ACCESS.2019.2962257 [DOI] [Google Scholar]
  • 9. Hua C, Wu S, Zhang Y, Luo K, Li M, Fu J. A Blockchain-Based Framework for Rural Property Rights Transactions. Electronics. 2023;12(20):4334. doi: 10.3390/electronics12204334 [DOI] [Google Scholar]
  • 10.Demi S. Blockchain-oriented requirements engineering: A framework. In: 2020 IEEE 28th International Requirements Engineering Conference (RE). IEEE; 2020. p. 428–433.
  • 11. Farooq MS, Kalim Z, Qureshi JN, Rasheed S, Abid A. A blockchain-based framework for distributed agile software development. IEEE Access. 2022;10:17977–17995. doi: 10.1109/ACCESS.2022.3146953 [DOI] [Google Scholar]
  • 12.Lenarduzzi V, Lunesu MI, Marchesi M, Tonelli R. Blockchain applications for agile methodologies. In: Proceedings of the 19th International Conference on Agile Software Development: Companion; 2018. p. 1–3.
  • 13. Aljuhani A, Kumar P, Kumar R, Jolfaei A, Islam AN. Fog intelligence for secure smart villages: Architecture, and future challenges. IEEE Consumer Electronics Magazine. 2022;. [Google Scholar]
  • 14. Kumar R, Javeed D, Aljuhani A, Jolfaei A, Kumar P, Islam AN. Blockchain-based authentication and explainable ai for securing consumer iot applications. IEEE Transactions on Consumer Electronics. 2023;. [Google Scholar]
  • 15. Kumar P, Kumar R, Kumar A, Franklin AA, Garg S, Singh S. Blockchain and deep learning for secure communication in digital twin empowered industrial IoT network. IEEE Transactions on Network Science and Engineering. 2022;. [Google Scholar]
  • 16.Lampropoulos G, Siakas K. Communication in distributed agile software development: Impact of social media–social networking. In: SQM. vol. 26; 2018.p. 43.
  • 17. Shameem M, Kumar RR, Kumar C, Chandra B, Khan AA. Prioritizing challenges of agile process in distributed software development environment using analytic hierarchy process. Journal of Software: Evolution and Process. 2018;30(11):e1979. [Google Scholar]
  • 18. Tyagi S, Sibal R, Suri B. Empirically developed framework for building trust in distributed agile teams. Information and Software Technology. 2022;145:106828. doi: 10.1016/j.infsof.2022.106828 [DOI] [Google Scholar]
  • 19. Kausar M, Mazhar N, Ishtiaq M, Alabrah A. Decision Making of Agile Patterns in Offshore Software Development Outsourcing: A Fuzzy Logic-Based Analysis. Axioms. 2023;12(3):307. doi: 10.3390/axioms12030307 [DOI] [Google Scholar]
  • 20. Raharjo T, Purwandari B, Budiardjo EK, Yuniarti R. The Essence of Software Engineering Framework-based Model for an Agile Software Development Method. International Journal of Advanced Computer Science and Applications. 2023;14(7). doi: 10.14569/IJACSA.2023.0140788 [DOI] [Google Scholar]
  • 21.Stray V, Moe NB, Noroozi M. Slack me if you can! using enterprise social networking tools in virtual agile teams. In: 2019 ACM/IEEE 14th International Conference on Global Software Engineering (ICGSE). IEEE; 2019. p. 111–121.
  • 22. Demi S, Colomo-Palacios R, Sanchez-Gordon M. Software engineering applications enabled by blockchain technology: A systematic mapping study. Applied sciences. 2021;11(7):2960. doi: 10.3390/app11072960 [DOI] [Google Scholar]
  • 23. Oliva GA, Hassan AE, Jiang ZM. An exploratory study of smart contracts in the Ethereum blockchain platform. Empirical Software Engineering. 2020;25:1864–1904. doi: 10.1007/s10664-019-09796-5 [DOI] [Google Scholar]
  • 24. Afraz N, Wilhelmi F, Ahmadi H, Ruffini M. Blockchain and Smart Contracts for Telecommunications: Requirements vs. Cost Analysis. IEEE Access. 2023;. doi: 10.1109/ACCESS.2023.3309423 [DOI] [Google Scholar]
  • 25. Arooj A, Farooq MS, Umer T. Unfolding the blockchain era: Timeline, evolution, types and real-world applications. Journal of Network and Computer Applications. 2022;207:103511. doi: 10.1016/j.jnca.2022.103511 [DOI] [Google Scholar]
  • 26. Aldyaflah IM, Zhao W, Upadhyay H, Lagos L. The Design and Implementation of a Secure Datastore Based on Ethereum Smart Contract. Applied Sciences. 2023;13(9):5282. doi: 10.3390/app13095282 [DOI] [Google Scholar]
  • 27. Sangeeta N, Nam SY. Blockchain and Interplanetary File System (IPFS)-Based Data Storage System for Vehicular Networks with Keyword Search Capability. Electronics. 2023;12(7):1545. doi: 10.3390/electronics12071545 [DOI] [Google Scholar]
  • 28. Sultana SA, Rupa C, Malleswari RP, Gadekallu TR. IPFS-Blockchain Smart Contracts Based Conceptual Framework to Reduce Certificate Frauds in the Academic Field. Information. 2023;14(8):446. doi: 10.3390/info14080446 [DOI] [Google Scholar]
  • 29. Erliyani I, et al. An Agile Software Engineering Method to Design Blockchain Applications. Blockchain Frontier Technology. 2022;1(2):84–95. doi: 10.34306/bfront.v1i2.52 [DOI] [Google Scholar]
  • 30. Farooq MS, Riaz S, Rehman IU, Khan MA, Hassan B. A Blockchain-Based Framework to Make the Rice Crop Supply Chain Transparent and Reliable in Agriculture. Systems. 2023;11(9):476. doi: 10.3390/systems11090476 [DOI] [Google Scholar]
  • 31. Farooq MS, Ahmed M, Emran M. A survey on blockchain acquainted software requirements engineering: model, opportunities, challenges, and future directions. IEEE Access. 2022;10:48193–48228. doi: 10.1109/ACCESS.2022.3171408 [DOI] [Google Scholar]
  • 32. Khalid MI, Ehsan I, Al-Ani AK, Iqbal J, Hussain S, Ullah SS, et al. A Comprehensive Survey on Blockchain-Based Decentralized Storage Networks. IEEE Access. 2023;. doi: 10.1109/ACCESS.2023.3240237 [DOI] [Google Scholar]
  • 33. Qureshi JN, Farooq MS, Abid A, Umer T, Bashir AK, Zikria YB. Blockchain applications for the internet of things: systematic review and challenges. Microprocessors and Microsystems. 2022; p. 104632. doi: 10.1016/j.micpro.2022.104632 [DOI] [Google Scholar]
  • 34. Zacky MI, Helmi S, Della Cella I. Smart Contracts on the Blockchain: Design, Use Cases, and Prospects. Blockchain Frontier Technology. 2023;3(1):54–73. [Google Scholar]
  • 35. Farooq MS, Iftikhar U, Khelifi A. A framework to make voting system transparent using blockchain technology. IEEE Access. 2022;10:59959–59969. doi: 10.1109/ACCESS.2022.3180168 [DOI] [Google Scholar]
  • 36. Farooq MS, Khan M, Abid A. A framework to make charity collection transparent and auditable using blockchain technology. Computers Electrical Engineering. 2020;83:106588. doi: 10.1016/j.compeleceng.2020.106588 [DOI] [Google Scholar]
  • 37. Hron M, Obwegeser N. Why and how is Scrum being adapted in practice: A systematic review. Journal of Systems and Software. 2022;183:111110. doi: 10.1016/j.jss.2021.111110 [DOI] [Google Scholar]

Decision Letter 0

Mohammed Shuaib

6 Dec 2023

PONE-D-23-38879ChainAgile: A Framework for the Improvement Of Scrum Agile Distributed Software Development Based On BlockchainPLOS ONE

Dear Dr. Farooq,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

Please submit your revised manuscript by Jan 20 2024 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). You should upload this letter as a separate file labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. You should upload this as a separate file labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. You should upload this as a separate file labeled 'Manuscript'.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter.

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols.

We look forward to receiving your revised manuscript.

Kind regards,

Mohammed Shuaib

Academic Editor

PLOS ONE

Journal Requirements:

When submitting your revision, we need you to address these additional requirements.

1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at 

https://journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and 

https://journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf

2. Please note that PLOS ONE has specific guidelines on code sharing for submissions in which author-generated code underpins the findings in the manuscript. In these cases, all author-generated code must be made available without restrictions upon publication of the work. Please review our guidelines at https://journals.plos.org/plosone/s/materials-and-software-sharing#loc-sharing-code and ensure that your code is shared in a way that follows best practice and facilitates reproducibility and reuse.

3. In your Data Availability statement, you have not specified where the minimal data set underlying the results described in your manuscript can be found. PLOS defines a study's minimal data set as the underlying data used to reach the conclusions drawn in the manuscript and any additional data required to replicate the reported study findings in their entirety. All PLOS journals require that the minimal data set be made fully available. For more information about our data policy, please see http://journals.plos.org/plosone/s/data-availability.

Upon re-submitting your revised manuscript, please upload your study’s minimal underlying data set as either Supporting Information files or to a stable, public repository and include the relevant URLs, DOIs, or accession numbers within your revised cover letter. For a list of acceptable repositories, please see http://journals.plos.org/plosone/s/data-availability#loc-recommended-repositories. Any potentially identifying patient information must be fully anonymized.

Important: If there are ethical or legal restrictions to sharing your data publicly, please explain these restrictions in detail. Please see our guidelines for more information on what we consider unacceptable restrictions to publicly sharing data: http://journals.plos.org/plosone/s/data-availability#loc-unacceptable-data-access-restrictions. Note that it is not acceptable for the authors to be the sole named individuals responsible for ensuring data access.

We will update your Data Availability statement to reflect the information you provide in your cover letter.

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Yes

**********

2. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #2: No

**********

3. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

**********

4. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: No

**********

5. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: 1) Authors should add motivation and contribution in the introduction section

2) Author should make one table in related study with existing work and their limitations?

3) How the proposed model is beneficial in decentralized system?

4) All the table must be improved and the text within the table must be aligned properly.

5) The grammar and typos error must be taken care

6) Author should add advantages and disadvantages of the proposed model.

7) Is the proposed system secure enough and sutainable to apply in distributed environment. If yes, justify it, how the proposed model is different from mentioned research below.

a. Blockchain-Based Authentication and Explainable AI for Securing Consumer IoT Applications." IEEE Transactions on Consumer Electronics

b. Blockchain and Deep Learning for Secure Communication in Digital Twin Empowered Industrial IoT Network. IEEE Transactions on Network Science and Engineering.

c. Blockchain and deep learning empowered secure data sharing framework for softwarized uavs. In 2022 IEEE International Conference on Communications Workshops (ICC Workshops) (pp. 770-775). IEEE.

d. Fog intelligence for secure smart villages: Architecture, and future challenges. IEEE Consumer Electronics Magazine.

Reviewer #2: Introduction:

there is a need to explain the blockchain's role and give an understanding of its importance.

The contribution is written well to understand the proper achievements of the authors.

Figure 1 very simply presents the waterfall model with iteration after the completion of a module as a sprint. It’s not suitable to explain the agile lifecycle. Reconsider to improve and redesign properly according to process.

Figure 2 is also not good enough to explain the proposed hybrid model of agile with the combination of blockchain. What the author wants to show in figure 2 exactly.

There should be a paragraph at the bottom of the introduction that organizes the rest of the sections of the article.

Related work:

Literature should be section-wise when discussing hybrid techniques with multiple technologies.

Materials and methods:

It looks like a conceptual framework instead of concrete properly implemented. This section explains figures but does not give a proper deep understanding.

What is the exact role of IPFS? IPFS is used for storing metadata as a document to decentralize, but the author didn’t explain the exact role where they used IPFS and how they used it.

The author didn’t explain the research methodology of the study. It is essential to understand how the research was conducted, including the approach, data collection methods, and any relevant procedures.

This section needs to be revised properly; it’s not showing impressive work.

Experimental and results:

The author didn’t explain the environment of the blockchain and how they implemented their experiments. The author only said they used Python language and Replit IDE, Replit is used for different types of multiple languages, so why do they need to use it, what’s the link with blockchain?

Postman is just for testing the API call, what do they want to achieve by Postman?

How did they evaluate the cost/gas of transactions when executing the smart contract with Ethereum technology? Nothing is there to see.

There is a lack of explanation regarding the role and implementation of blockchain technology within the study. It is important to provide a clear explanation of the role of blockchain technology in the context of the study's implementation.

**********

6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: Yes: Abdul Razzaq

**********

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.

PLoS One. 2024 Mar 21;19(3):e0299324. doi: 10.1371/journal.pone.0299324.r002

Author response to Decision Letter 0


22 Jan 2024

Submission ID: PONE-D-23-38879

Original Article Title: “ChainAgile: A Framework for the Improvement Of Scrum Agile Distributed Software Development Based On Blockchain”

To: PLOS ONE

Dear Editor,

First, we are extremely grateful to the editor and all the reviewers who conducted a rigorous and constructive review of our article number PONE-D-23-38879. Certainly, all the review points were very well directed, and we managed to improve our manuscript a great deal and had to work a lot to address all the changes suggested by the reviewers.

We have incorporated all the suggested reviews and comments provided by the reviewers and made a careful revision of the manuscript. We have tried our level best to improve this manuscript by organizing and adding more references to the available relevant literature, and by presenting the material more constructively and effectively. This has certainly raised the quality of this research work and will make it a valuable contribution to the community. We hope that we have managed to make the required changes suggested by the valuable reviewers.

Please see our responses in line with the editor’s and reviewers’ concerns in green color.

Best regards,

Junaid et al.

Reviewer#1, Concern # 1: Authors should add motivation and contribution in the introduction.

Author response: Thank you for your valuable comment. As per the reviewer's suggestion, we have highlighted the motivation and contribution in the manuscript.

Author action: We have updated and revised the introduction section of the manuscript.

________________________________________

Reviewer#1, Concern # 2: Author should make one table in related study with existing work and their limitations?

Author response: Thank you for your valuable comment. According to the reviewer's suggestion, we have already designed the table of comparison in the manuscript which compares the existing systems with our proposed model against the filters which are blockchain, communication, coordination, security, scalability, prioritization, review/backlog and testing. The new research articles also compared in this table. We have added the limitations’ part against each reference compared in related work of the manuscript in related work section.

Author action: We have revised and updated Table 1 in the manuscript and added the limitations against each reference in the manuscript when discussing the related work.________________________________________

Reviewer#1, Concern # 3: How the proposed model is beneficial in decentralized system?

Author response: Thank you for your valuable comment. As per the reviewer's suggestion, we have highlighted the proposed model benefits in a decentralized systems in the updated manuscript.

Author action: We have revised and updated the introduction section of manuscript.

________________________________________

Reviewer#1, Concern # 4: All the tables must be improved and the text within the table must be aligned properly.

Author response: Thank You for the valuable comment. We have updated all the tables and all the content in the manuscript with alignment as well.

Author action: We updated the manuscript by reviewing and adjusting the text and alignment throughout the paper to ensure improvement and clarity.

________________________________________

________________________________________

Reviewer#1, Concern # 5: All The grammar and typos error must be taken care

Author response: We appreciate the reviewer's keen observation regarding grammar language typos error. As per the suggestion it is thoroughly studied and corrected the grammar, language and typos error in the manuscript.

Author action: We updated the manuscript by reviewing and adjusting the grammar, language and typos error throughout the manuscript to ensure grammatical accuracy and clarity.

________________________________________

________________________________________

Reviewer#1, Concern # 6: Author should add advantages and disadvantages of the proposed model.

Author response: We appreciate the reviewer's keen observation regarding proposed model advantages and disadvantages. As per the suggestion, we have added at the end of the introduction section the proposed model role and its advantages.

Author action: We updated the manuscript by adding the proposed model role and its advantages in the introduction section of the document.

________________________________________

________________________________________

Reviewer#1, Concern # 7: Is the proposed system secure enough and sustainable to apply in distributed environment? If yes, justify it, how the proposed model is different from mentioned research below.

a. Blockchain-Based Authentication and Explainable AI for Securing Consumer IoT Applications." IEEE Transactions on Consumer Electronics

b. Blockchain and Deep Learning for Secure Communication in Digital Twin Empowered Industrial IoT Network. IEEE Transactions on Network Science and Engineering.

c. Blockchain and deep learning empowered secure data sharing framework for softwarized uavs. In 2022 IEEE International Conference on Communications Workshops (ICC Workshops) (pp. 770-775). IEEE.

d. Fog intelligence for secure smart villages: Architecture, and future challenges. IEEE Consumer Electronics Magazine.

Author response: We appreciate and are grateful for the reviewer's keen observation regarding literature review and specifically mentioning some specified articles with us. According to the concern yes are framework is suitable for secure and sustainable distributed environment and how are proposed model is different is expressed in related work section by comparing all mentioned articles.

Author action: We updated and revised the manuscript by reviewing and comparing the mentioned articles in our manuscript related work section.

________________________________________

Reviewer #2: Introduction

Reviewer#2, Concern # 1: There is a need to explain the blockchain's role and give an understanding of its importance.

Author response: Thank you for your valuable comment. As per the reviewer's suggestion, we have highlighted the proposed model role with blockchain and its benefits in a decentralized systems in the manuscript.

Author action: We have updated and revised the manuscript by modifying the proposed framework description and Materials and Methods section of the manuscript.

________________________________________

Reviewer#2, Concern # 2: The contribution is written well to understand the proper achievements of the authors.

Author response: Thank you for your valuable and must appreciated comments. The reviewer's valuable input provides clarity of understanding for the author.

Author action: We thank you, for your admirable and valuable comment.

________________________________________

Reviewer#2, Concern # 3: Figure 1 very simply presents the waterfall model with iteration after the completion of a module as a sprint. It’s not suitable to explain the agile lifecycle. Reconsider to improve and redesign properly according to process.

Author response: We appreciate the reviewer’s insightful suggestion. To provide a more specific detailed diagram we have incorporated and changed the diagram which shows the agile scrum’s sprint lifecycle.

Author action: To address the reviewer's comment, we have updated the manuscript by providing a new diagram which reflects the agile scrum’s sprint lifecycle.

________________________________________

Reviewer#2, Concern # 4: Figure 2 is also not good enough to explain the proposed hybrid model of agile with the combination of blockchain. What the author wants to show in figure 2 exactly.

Author response: Thank you for your valuable suggestion. We have improved the diagram, and its explanation is added in the updated manuscript, which reflects the basic idea of the diagram. We provide how the blockchain features help our proposed model framework.

Author action: We updated the manuscript by adding an explanation of Blockchain features of Figure 2 and redesigned Figure 2 as well. ________________________________________

Reviewer#2, Concern # 5: There should be a paragraph at the bottom of the introduction that organizes the rest of the sections of the article.

Author response: Thank you for the insightful comment. We have updated the manuscript and added the paragraph at the end of the introduction which tells the rest of the sections in this article.

Author action: We have modified and updated the manuscript by adding the paragraph at the end of the introduction section, which highlights the rest of the article sections.

________________________________________

Related work

Reviewer#2, Concern # 6: Literature should be section-wise when discussing hybrid techniques with multiple technologies.

Author response: We appreciate the reviewer's feedback concerning the literature review section wise. We have updated the manuscript and its related work portion in different section wise. This will explain, distinguish provides clarity and also articulate the novelty about our proposed framework.

Author action: We updated the manuscript by revising the complete related work literature section. ________________________________________

Materials and methods

Reviewer#2, Concern # 7: It looks like a conceptual framework instead of concrete properly implemented. This section explains figures but does not give a proper deep understanding.

Author response: Thank you for your insightful comment. In response to your feedback, we have enhanced and modified the materials and methods section in depth and detail. The proposed framework is explained, and its comprehensive description is shown in Figure 7. Proposed framework is explain in six layers of scrum agile agreement, requirement elicitation, prioritization, design and development, testing and payment. The blockchain architecture layer wise concrete mechanism how to implement well described and depicts in Figure 8. Layered architecture with blockchain integration in scrum agile distributed software development explained layer wise and how it works shown in Figure 9. How all layered wise architectural processes of blockchain integration with scrum agile works and communicate with each other in distrusted agile software development shown in Figure 10. All JSON objects work on different layers with different functionality are described from JSON objects 1 to JSON object 14. The ChainAgile ecosystem of blockchain integration explained in stages and showed in Figure 12, how blockchain combines with scrum agile distributed environment. Blockchain transaction flow explained in the flow chart diagram with its description in Figure 16, how a transaction occurs in ChainAgile. Therefore, we have tried to describe and explain the framework concrete implementation how it works with the combination of blockchain integrated with scrum agile which provides the more insight into the flow of the study.

Author action: We have updated and modified the manuscript by adding different subsection details under the materials and methods section.

________________________________________

Reviewer#2, Concern # 8: What is the exact role of IPFS? IPFS is used for storing metadata as a document to decentralize, but the author didn’t explain the exact role where they used IPFS and how they used it.

Author response: Thank you for your valuable comment. To address the reviewer's comment, we have updated the Materials and Methods, proposed framework, introduction, and discussion sections respectively where the role of IPFS is explained and described. IPFS is used to solve the scalability problem of blockchain for storing the records of customers, developers, and their communication. IPFS to address scalability issues. We have provided a more detailed description of how IPFS is integrated, specifically highlighting the utilization of the IPFS Desktop App.

Author action: We have updated and revised the manuscript by modifying the proposed framework description, Materials and Methods section, introduction, and discussion sections respectively.

________________________________________

Reviewer#2, Concern # 9: The author didn’t explain the research methodology of the study. It is essential to understand how the research was conducted, including the approach, data collection methods, and any relevant procedures.

Author response: Thank you for your valuable comment, as per the reviewer's suggestion we agree with the reviewer, added the description and diagrams for research methodology. We added Figure 3 Research methodology, Figure 4 Digital Library Search and Figure 5 Year wise articles count for this and make the table 2 search string for the detail needed for research methodology.

Author action: We have updated and revised the manuscript by adding the research methodology section under the materials and methods section.

________________________________________

Experimental and results

Reviewer#2, Concern # 10: The author didn’t explain the environment of the blockchain and how they implemented their experiments. The author only said they used Python language and Replit IDE, Replit is used for different types of multiple languages, so why do they need to use it, what’s the link with blockchain?

Author response: Thank you for your valuable comment. As per the reviewer's suggestion we have explained blockchain understandings and integration under the Materials and Method Section. Experiment implementation and its process explained under the experiment and result Cost/Gas section with some changes in experiment. The performance and evaluation against the experiment under the ChainAgile framework section explains the details respective to Ethereum Cost/Gas, longest chain retrieval and chains block size. The Replit IDE is used to generate the chain and for the creation of blocks in Python. The Latency and Block size results retrieved as software as service. The software as service is cloud based and used to perform the experiment with blockchain integrated environment.

Author action: We have updated the revised the manuscript by updating and describing the experiment with changes, its result in form of performance evaluation under Materials and Method , experiment and result Cost/Gas, and performance and evaluation ChainAgile framework sections respectively.

________________________________________

Reviewer#2, Concern # 11: Postman is just for testing the API call, what do they want to achieve byPostman?

Author response: Thank you for your valuable comment. The Postman is used for testing purpose of API Calls. We used this to get and post the http request to the network. The Postman is employed for all HTTP requests used during the experiment engaged with the blockchain. Configured the transactions in HTTP request forms using the Postman tool, to validate the effectiveness of ChainAgile proposed framework.

Author action: We updated the manuscript by describing the postman process under Materials and methods section.

Reviewer#2, Concern # 12: How did they evaluate the cost/gas of transactions when executing the smart contract with Ethereum technology? Nothing is there to see.

Author response: We appreciate your insightful suggestion. In response to your recommendation regarding the cost/gas of transactions we designed with some changes the experiments and its results with description mentioned in Experiment and results section. Figure 22 is added to show the block addition in the network and Figure 23 shows the cost/gas of transactions. acknowledgment of implementation challenges and limitations, we have incorporated a dedicated section addressing these parts within the "Propose Farmwork" section. The added content explores the challenges associated with scalability, limitations of IPFS, integration complexity, complexity of smart contracts, and finally user adoption and training.

Author action: We updated the manuscript by adding the ‘cost/gas of transactions’ under the section of experiments and results.________________________________________

Reviewer#2, Concern # 13: There is a lack of explanation regarding the role and implementation of blockchain technology within the study. It is important to provide a clear explanation of the role of blockchain technology in the context of the study's implementation.

Author response: Thank you for the suggestion. We have enhanced and incorporated the detail discussion on the role and implementation of blockchain technology within the study by providing the blockchain integration understandings, its benefits and advantages, how blockchain is integrated with scrum agile distributed environment, how the proposed model works with blockchain, its smart contracts reflect the JSON objects, blockchain role and its contribution in the proposed ChainAgile framework.

Author action: We updated the manuscript by providing the details under Introduction, Materials and methods and experiment and results section respectively.

________________________________________

Attachment

Submitted filename: Response to Reviewers.docx

pone.0299324.s002.docx (36.2KB, docx)

Decision Letter 1

Mohammed Shuaib

9 Feb 2024

ChainAgile: A Framework for the Improvement Of Scrum Agile Distributed Software Development Based On Blockchain

PONE-D-23-38879R1

Dear Dr. Farooq,

We’re pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it meets all outstanding technical requirements.

Within one week, you’ll receive an e-mail detailing the required amendments. When these have been addressed, you’ll receive a formal acceptance letter and your manuscript will be scheduled for publication.

An invoice for payment will follow shortly after the formal acceptance. To ensure an efficient process, please log into Editorial Manager at http://www.editorialmanager.com/pone/, click the 'Update My Information' link at the top of the page, and double check that your user information is up-to-date. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.

If your institution or institutions have a press office, please notify them about your upcoming paper to help maximize its impact. If they’ll be preparing press materials, please inform our press team as soon as possible -- no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

Kind regards,

Mohammed Shuaib

Academic Editor

PLOS ONE

Additional Editor Comments (optional):

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation.

Reviewer #1: All comments have been addressed

**********

2. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

**********

3. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

**********

4. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

**********

5. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

**********

6. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: All comments are incorporated successfully. Needs more work on related study and framing of conclusion.

**********

7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: Yes: RANDHIR KUMAR

**********

Acceptance letter

Mohammed Shuaib

23 Feb 2024

PONE-D-23-38879R1

PLOS ONE

Dear Dr. Farooq,

I'm pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now being handed over to our production team.

At this stage, our production department will prepare your paper for publication. This includes ensuring the following:

* All references, tables, and figures are properly cited

* All relevant supporting information is included in the manuscript submission,

* There are no issues that prevent the paper from being properly typeset

If revisions are needed, the production department will contact you directly to resolve them. If no revisions are needed, you will receive an email when the publication date has been set. At this time, we do not offer pre-publication proofs to authors during production of the accepted work. Please keep in mind that we are working through a large volume of accepted articles, so please give us a few weeks to review your paper and let you know the next and final steps.

Lastly, if your institution or institutions have a press office, please let them know about your upcoming paper now to help maximize its impact. If they'll be preparing press materials, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

If we can help with anything else, please email us at customercare@plos.org.

Thank you for submitting your work to PLOS ONE and supporting open access.

Kind regards,

PLOS ONE Editorial Office Staff

on behalf of

Dr. Mohammed Shuaib

Academic Editor

PLOS ONE

Associated Data

    This section collects any data citations, data availability statements, or supplementary materials included in this article.

    Supplementary Materials

    S1 Dataset

    (CSV)

    pone.0299324.s001.csv (12.1KB, csv)
    Attachment

    Submitted filename: Response to Reviewers.docx

    pone.0299324.s002.docx (36.2KB, docx)

    Data Availability Statement

    The data supporting the findings of this study are openly available in the GitHub repository at the following link: https://github.com/JunaidNasirQureshi/ChainAgile_Blockchain. The minimal dataset containing information on latency and size for 700 blocks, as measured during the tests, is available in the Supporting information file ‘Dataset.csv’.


    Articles from PLOS ONE are provided here courtesy of PLOS

    RESOURCES