Bob Jiang | 敏捷教练 | Scrum Master
Many say blockchain is just a decentralized ledger, it is true, but not the essential part for blockchain. I (BoB) as an experienced agile guru (Certified Scrum Trainer from scrumalliance.org), would anatomize blockchain with you together and compare agile and blockchain, and try to find the fundamental for both.
In the beginning, let's start from the history to understand how they come.
In 2001, there are 17 software pioneers gathering in snowbird to discuss the light software development methods. Finally they conclude Agile Manifesto with agile principles as well. More details, see also Agile Manifesto.
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is resistant to modification of the data. It is “an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way”. For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for inter-node communication and validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without alteration of all subsequent blocks, which requires consensus of the network majority. – Definition from wikipedia
In 2008, a person (not sure whether a man or woman, still secret now) published a whitepaper named BitCoin: A peer-to-peer electronic cash system.
Blockchain technology is mentioned for the first time there. And as we know, the whitepaper is delivered in cryptopunker maillist first.
Agile and blockchain are 2 different concepts but they have several same points which are under the surface. They are:
Agile as an experimental process is based on 3 pillars:
For example, in agile, information radiator is well used in many teams, in order to visualize and make it transparent. So that it increases trust. ( I see, then I believe )
Blockchain's key charactoristics is Tamper-proof, which based on :
So for agile and blockchain, both are transparent, agile intends to visualize information, and blockchain intends to make transaction (core of blockchain) public.
From the history, we can see both are from community, agile is from face to face meetup to discuss, and blockchain is from a maillist dicussion.
So community is a fundamental, but what is community, and why we need community.
In blockchain area, many communities, but what I see is many people don't understand community, and abuse community. (E.g only for advertisement or promotion product/idea)
Actually community is consensus, is a group people to have similar interest, is a group people who have similar belief. Based on that, community could exist, and live, but community is NOT for profit, is NOT for advertisement, is NOT for sales.
Agile is organization design process, which is based on self organizing feature team ( in special for Scrum ). Empower people by simplifying/decreasing roles in org.
Blockchain is decentralized, so that means in blockchain there is no central point, no one is authority. Everyone could join or exit blockchain freely. It's more like self organizing with economics considering.
Although agile and blockchain have many same points at basis, both have differencies as well, let's take a look what are different.
In agile, it is key to respect people, which means to empower and focus people in agile organization. But for blockchain, it focuses technology more. I am not saying people is not important in blockchain, but it is a bit more focus.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. – From Agile principles
BLockchain field, it is decentralized, is open source, so most use cases are online collaborations. Such as github, slack, gitters, etc. Strangers start to gather with consensus, to work on one product (may be in github or gitlab). And then core developers could meet offline.
So for blockchain, in the beginning, it should be online, but at last, it must be offline, back to agile principles.
Agile is adopted by companies, specially by huge companies, it is because for huge companies they realized to adapt the change quickly to win the market, this is a core competency. So many agile gurus (like speakers, trainers) emerged, like me BoB Jiang.
But for blockchain, it is community based from the scatch. Maybe just a few people have an idea, and have some codes in repository, some people gathered around the repository/idea, and provide more codes.
In the future, there are at least 2 kinds of organizations, company based and community based. And there would be more and more community based organization arises.
Last, but not least, hiblock community focuses on blockchain technology, could provide services like technology training, consulting, smart contract auditing, organizing hackthon etc.
If you have interest, please Mail us .