# Initial Coin Offerings and Agile Practices
## 1 Introduction  
An ICO (Initial Coin Offering) is a new way to perform crowdfunding campaigns, based on blockchain technology like Bitcoin and Etherum [1; 2; 3]. It allows to finance startups working on blockchain technology or applications on a global scale, directly and without intermediaries. With the aim of involving as many investors as possible, a startup will create and distribute its tokens. The token of the ICO can be developed through a smart contract, a computer program running on a public blockchain [4]. Smart contracts are the base for the development of decentralized applications (DApps). Most smart contracts, used for ICOs, run on Ethereum blockchain, and are usually written in a programming language called Solidity. Although startups performing ICOs share many characteristics with software startups not based on blockchain technology, several factors make the software development context of ICOs unique. Consequently, the research presented in this paper aims primarily at understanding the main software development characteristics of ICO startups, from the planning phase to the testing phase, also taking into consideration the quality of code. To this purpose, we analyzed the whole set of ICOs gathered from ICObench (available at [[http://icobench.com](http://icobench.com)]([http://icobench.com](http://icobench.com))) and registered between August 2015 and 20 February 2018. We focused on their main features, such as: The team size and roles in order to understand if its composition is consistent with the best known software development methodologies; the rating provided by ICObench in order to investigate the projects quality; the use of social media in order to discover if ICOs teams believe that thecommunication with investors and their feedback are important; the financial aspects related to motivating the people involved in an ICO. The market of ICOs is extremely volatile and complex. ICO teams and investors should pay particular attention to the speed of changes and to the technological risks that characterize its evolution. Furthermore, software startups in general, and even more so, startups founded through an ICO, operate in conditions of great uncertainty and the team's ability to manage changes is crucial. Software startups, therefore, need to follow the market trends, and to adapt to ever-changing business activities and risks [5]. For this reason, in this work we investigated the use of Agile methodologies in ICOs, as a mean of managing uncertainty. According to prior studies [6; 7; 8], Agile methodologies are optimal for projects that, like ICOs, demonstrate high variability in the development process, in the team or stakeholders abilities, and in the technology being used. In particular, Agile development is especially appropriate for products or services providing high value for the customers, and for all involved stakeholders [7]. Considering the decentralized nature of the blockchain, an ICO can have investors, customers, and other stakeholders from all over the world. In our work we aim to understand if and how Agile practices are used in ICOs in response to such high technological, process, and market variability. To do this, we take into account the principles of Agile Software Development and we study if and how Agile methodologies and practices are used in the ICOs development. First, for each ICO registered on ICObench until 20 February 2018, we carried out a textual analysis of its online available documentation, in order to detect any typical Agile keywords. In this way, we found a subset of ICOs developed with an Agile approach (for the sake of simplicity named Agile ICOs in the following). We also made a comparison between the characteristics of Agile ICOs and the properties of the whole dataset in terms of team composition, rating, financial aspects, and use of social media. In addition, we analyzed more in depth the set of Agile ICOs, specifically focusing on their roadmap and their project development.