How blockchains can help build stronger software
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
Source – idgconnect.com
Blockchains can make the biggest impact in deeply collaborative environments. That is why supply chains stand to benefit from blockchains, composed as they are of diverse people, organizations, and stakeholders. Given the proliferation of software and application development globally, a DevOps-based software supply chain ecosystem experiences very similar challenges to traditional “offline” supply chains comprised of physical goods. Enterprises are embracing open source systems like never before – but, they are failing to manage them effectively[1] – which can leave them open to attacks from vulnerabilities such as Heartbleed. In the context of a supply chain, where there are multiple stakeholders, there is a pressing need for provenance, a key blockchain attribute.
Most DevOps ecosystems have inefficiencies. Rework may be required, product development can go off sync, release quality and compliance are uncertain and inevitably, development costs and times spiral out of control. Sounds familiar?
An initiative to explore the benefits of blockchain technology in DevOps kicked off in June 2017. The project was led by the Center for Global Enterprise’s Digital Supply Chain Institute (DCSI), Aricent and Bitfury. A Proof of Concept (PoC) would investigate how the blockchain could enhance software product development supply chains and improve the DevOps process for enterprises.
Quick off the block
At the onset, the consortium established a joint team to ensure a pilot could be developed in a six-week sprint. To measure the business impact, the team would use DCSI’s Blockchain Return Index. The implementation took place in the Fall of 2017. Initially, three members from each organization collaborated on the PoC design, development, test and integration phases.
The technical solution for the PoC was structured as a single blockchain-based system. This would be the middleware between existing DevOps solutions and processes (e.g. GitHub, Travis, Jenkins, manual reviews, etc.). This was to determine how such a solution can facilitate trusted product development, increase developer efficiency and deliver increased transparency among multiple entities.
The PoC development yielded deliverables including a blockchain backend infrastructure (several nodes), a web application-based UI for DevOps process visualization, and connectors for integrating existing development tools such as GitHub and Travis. Iterations of this PoC were piloted across two development projects.
The first project was focused on the development of new versions and features of a security solution, as well as enhancements and bug fixes for existing clients. The team consisted of an average of 14 people. The second project was based on the maintenance of telecommunications software with a similar focus on bug fixes. The team consisted of an average of 27 people. In both projects, the sample size for (pre-pilot) metrics was two months – leading up to December 15, 2017.
Evaluation and metrics
Software development teams track various metrics to ensure they achieve their project schedule, cost, and quality targets. Simultaneously, they manage project agility by measuring development productivity, velocity and other factors. The PoC was based on these parameters and used a development agility metrics framework as the basis for driving customer and business value.
The PoC established a set of common of pain points and success criteria experienced by DevOps teams to measure KPIs. Having defined the KPIs to measure, the PoC was piloted on two production-grade software development teams between December 15, 2017 and January 12, 2018.
Blockchain utilization had a positive impact on both projects – quantitatively and qualitatively. Accordingly, numerous factors influencing projects were examined in detail to best distill the impact of technological and process improvement gains – including those attributable to the PoC.
3 keys findings from the blockchain PoC for supply chains
1. Quality: pinpoint faults fast
Pilot results indicated an 11% improvement in bug fixes upon utilization of the blockchain-based POC, giving teams the ability to boost both productivity and product quality
2. Productivity: improved collaboration
By enforcing the DevOps process via blockchain, there was greater collaboration between tech leads, testers and developers. This resulted in a productivity spike in the region of 30% for each pilot, resulting in higher numbers of issues resolved and bugs fixed.
3. Cycle time: increased efficiency
The pilot results indicated cycle times accelerated by 34%. The new approach has the potential to reduce product development costs by approximately 5-10% and duration by 20-25% when a blockchain-enabled DevOps process is adopted.
Thanks to the blockchain, inefficiencies, or slack, across the whole process became visible. One example is that most of the pull requests tended to get accepted towards the end of the sprint cycle even though developers and testers had closed the feature development.
The blockchain difference
The PoC demonstrated that blockchain-enabled software supply chains deliver unprecedented visibility, trust and transparency across the whole process. Stakeholders are not only afforded “linear” updates but also a “lateral” view. As well as being an invaluable project tracking tool, blockchains have a crucial role to play in averting cyber risks in software supply chains. It provides an immutable recording of software development events for all stakeholders to supercharge the supply chain.
Simply put, blockchains can democratize trust in the supply chain. The PoC demonstrated that adoption of blockchain-enabled development techniques yielded significant quantitative and qualitative improvements. Blockchain-enabled workflows lead to faster product development cycles, and improved productivity resulting in new revenue opportunities and improving profitability. This technology should achieve similar results when applied to large scale projects across multiple industries.
Looking to the future, there will be more research on areas such as blockchains and open source, automated blockchain-based licensing and billing and smart contract-based solutions as “hypervisors” between developers and tools. This is just the start. The promising results from this PoC can inspire enterprise-grade blockchain frameworks for the future. Why? Because blockchains are the future.