An Agile Software Engineering Method to Design Blockchain Applications (Michele Marchesi, SECR-2018)
* Michele Marchesi
This paper proposes a software development process to gather the requirement, analyze, design, develop, test and deploy Blockchain applications.
The process is based on Agile practices, but makes also use of more formal notations, such as some UML diagrams, modified to represent specific concepts found in Blockchain development. An example is given to show how the method works.
Which cryptocurrencies does Mike own? What is ‘DeFi’? We’ve been receiving many questions about blockchain lately, hopefully a great deal of them will be answered in this amazing discussion between Dan Larimer and Mike Maloney. Note: This is a longer video, but make sure you watch it until the end to learn about what Mike says is ‘one of the most brilliant ideas I have ever heard’. Download Mike’s best-selling book for free here: https://pages.goldsilver.com/freebook Thanks for sharing and clicking that ‘Like’ button. For those wondering why our videos don’t appear in their subscription feed immediately – we release our clips to our free weekly email readers first, then later we publish to YouTube. Sometimes it’s just hours, sometimes it’s a couple of days later. This is to encourage people to join our free newsletter – because one day, we may not have YouTube to rely on. Join our free newsletter list by going to https://goldsilver.com/ and entering your email address in the ‘Get Market Alerts’ box at the bottom of the page. As always, thank you for your support. M.
(Want to contribute closed captions in your language for our videos? Visit this link: http://www.youtube.com/timedtext_cs_panel?tab=2&c=UCThv5tYUVaG4ZPA3p6EXZbQ)
Since the time the Agile Manifesto was published in 2001, we have seen the emerging of a variety of implementation frameworks, most of which have been extremely successful in small or mid-size organizations but consistently struggling to deliver sustainable results at large scale. In the last decade, the emerging of DevOps, i.e. the evolution of Agile applied to software engineering, started naturally selecting the most successful technical frameworks and integrating them into a widely acknowledged set of practices (continuous integration/continuous delivery, pervasive automation, extreme programming, shifting left security, microservices architecture, containerization, etc.). When we started with Agile at IBM CIO in 2015, we had to cope with a challenge no one has dealt with before: how can we adopt an agile working culture in an IT company operating in 170 countries and made by 360.000 employees? Dealing with the technical side of the work, isolated by the management and organizational dimensions, was just impossible. We had to find a way to address both aspects and support our teams on a journey that is still progressing today. Key success factor was to acknowledge that in a digital world, technical practices are not a secondary dimension compared to management, but they play a vital role to become an elite performance organization. We found confirmation of our intuition into the most recent DORA researches as well as in books like “Accelerate: the science of Lean Software and DevOps” (2018), written by the team who started the Phoenix project and is at the core of the DevOps movement. Well… all this was very encouraging, but it didn’t help us so much to solve the core of our challenge: scale and complexity of a 110 year old global corporation, where daily issues are by far greater than measuring the time “from committing code to delivery” to ensure “DORA like” metrics are statistically accurate. We had to go beyond the available researches and proven frameworks. We had to start exploring how to expand our Agile operating model and dramatically improve product discovery, integrate design, embrace full user-centric product development, adopt Domain-Driven-Design with Event Storming, implement Communities of Practice and, last but not least, loosely couple our teams and architecture while keeping them tightly aligned. All this aiming to build a true “open organization”, i.e. “an organization that engages participative communities both inside and out—responds to opportunities more quickly,… inspires, motivates, and empowers people at all levels to act with accountability” (Jim Whitehurst, The Open Organization: Igniting Passion and Performance, 2015). We plan to share our Agile journey at IBM CIO, what we have learned from our failure and successes, what are the questions we’re still trying to answer. We will also share how at IBM we are breaking new ground, applying transformative technical and leadership practices at large global scale, not only to the latest and brightest emergency technologies, but also to an hybrid IT portfolio that covers the whole history (and future) of software engineering: from legacy proprietary languages to Quantum, from private Mainframe datacenter to multi-tenant Cloud, from traditional relational databases to Blockchain, from legacy proprietary platforms to Open Source.
Brett Henderson provides an update on Ethereum 2: design requirements and the latest details. Anchor Chain, Coordination Layer / Beacon Chain, Data Layer (Shard Chain), Execution Layer (VM). Phase 0, Phase 1 and Phase 2
Peter Robinson (https://www.linkedin.com/in/peter-robinson-98a0061/) delivers a talk on Decentralized Random Number Generation. This talk covers many techniques: XOR, Commit-Reveal, RANDAO and Hash Onions, Verifiable Delay Functions (VDF), Shamir’s Threshold Scheme, Pedersen’s Scheme, my scheme, and Justin Drake’s scheme.
The slides are here: