Project Management
Product: Problem Statement → Problem Description → Impact of the Problem Statement → Current Solutions? → Limitations of Current Solution/s → Propose a new Solution
Solution: Requirements (both Functional and non-Functional) → Functional Architecture → System Architecture → Low Level Designs → Implementation Phase (Estimated Effort for Tasks)
Project Roadmap
Activity Category | Activity | Effort | Estimated Time |
---|
Learning Activities | Technologies - Virtualization/Containers | 1 Week | 1st week of June |
Hyperledger Fabric | 3 Weeks | end of June |
Problem Statement and Analysis | Problem Description | 2 Weeks | 2nd week of July |
Impact |
Current Solutions - Analysis |
Formulate a Proposal |
Requirements Gathering and Design | Capture Functional and non-Functional Requirements | 1 Week | 3rd week of July |
Functional Architecture |
System Architecture |
LLD | 1 Week | end of July |
Implementation | VS Code Plugin Development - Experiments | 2 Weeks | 2nd week of August |
Feature Development | 8 Weeks | 2nd Week of October |
Testing Phase | 1 Week | 3rd Week of October |
Quality and Metrics | 1 Week | end of October |
Documentation and Presentations | User Documentation | 1 Week | 1st week of November |
Present the Project - Public Forums | 1 Week | 2nd week of November |
Product
Problem Statement | - As a Hyperledger Fabric smart contract (chaincode) developer, there is no option to debug the code during development.
- The mechanism to debug the chaincode often involves adding debug log lines and running the chaincode in a test environment.
- The complexity of running a Hyperledger Fabric environment for testing purpose is complex due to the nature of setting up the network. The developers are expected to learn the deployment and internal operations of the network.
- If the smart contract is running in a production environment, consuming a specific state database and it fails for a specific scenario, debugging gets more complicated. The developers would typically replicate the scenario on a test network, but they may not be able to do so because of the lacking state database values. Additional debugging code in the smart contract is not feasible due to chaincode operations and involvement of multiple partners.
- Overall the cost for debugging is high, both the time and the process is complex factoring the number of participants involved.
|
---|
Problem Description |
|
---|
Impact of the Problem | - High Cost of Maintenance: Both the time and the process for maintaining the Hyperledger Fabric smart contract in production environment.
- Specialized Skill: Finding the talent for Hyperledger Fabric smart contract development becomes extremely difficult.
- Feasibility: Other blockchain protocols such as Ethereum have better tooling for smart contract developers.
|
---|
Current Solutions | Hyperledger Fabric Debugger: Spydra |
---|
Limitations of the Current Solution |
|
---|
Proposal | - Develop a plugin that can connect to any Hyperledger Fabric runtime. Including a test network brought up locally, a production instance or a cloud instance.
- If there is some process involved for setting up the debugging capability, then it should be one time.
- Flexibility to make calls to specific chaincode functions, and accept the values at runtime. Precompose list of values to be supplied.
|
---|
Solution
Functional Requirements |
|
---|
Non-functional Requirements |
|
---|
Functional Architecture |
|
---|
System Architecture |
|
---|
LLDs |
|
---|
Implementation Plan |
|
---|