System malfunctions have been a part of the information industry since Grace Hopper traced a Harvard Mark II computer’s erroneous calculations to a moth stuck between relay contacts. Her team found and removed the moth’s body, debugging the system in a literal, tangible way. That was in September 1947. And ever since, coaxing accurate results out of nontrivial systems has required debugging.
For most of that time, correcting problems was a relatively simple process of shutting down the computer, fixing the software, and installing the repaired code. Even a buggy website or internet server could be taken offline for a software update.
However, in the distributed, decentralized world of Web3, there’s no rebooting. Instances of your code are running on strangers’ computers all over the world. Faulty calculations could misdirect great sums of cryptocash every minute or every second. In the blockchain world, there’s often no way to roll those incorrect transfers back.
When critical dApps malfunction, you don’t add a debugging task to the bottom of the development team’s to-do list. You don’t log an incident for QA to assign to a team tomorrow. You need to call together a team whose members have the expertise and the authority to diagnose the problem and decide on a solution without delay.
You need to convene a war room.
All about war rooms
War rooms are a common concept in Hollywood movies. When the American president gathers his top military advisors in the situation room to assess a threat and decide upon a response, that’s a war room.
British Prime Minister Winston Churchill famously established a war room in the basement of his offices as he and his advisors analyzed events and crafted strategy during World War II. Churchill needed a place for his most trusted advisors to assess the significance of information in real time and deliberate over how to respond.
In modern times, development teams have adopted the war room model in response to high-stake errors and hack attacks on critical systems in banking, healthcare, and aerospace.
The war room approach has proved so effective that it has been adopted as a best practice in many Agile development shops, where its use has been extended beyond crisis response into project planning and management.
Whether they’re called situation rooms, control rooms, or command centers, war rooms are essential when critical problems must be resolved on a short deadline.
What are the elements of a successful war room?
All war rooms usually involve a few essential components:
- The personnel who have the expertise and the authority to make complicated decisions quickly. You don’t invite everyone. You invite the engineers who can interpret and understand incoming data. You should also include domain experts who understand how the system should be working. Finally, managers who have the authority to commit resources to solving the problem should also be present.
- Accurate and extensive information about the crisis. Use the most reliable data sources you can find and gather all the information you might need. Your war room can’t solve problems efficiently if you have to keep calling someone outside the room to send critical source code or data feeds.
- Straightforward visuals. In addition to handouts summarizing data, war rooms use video screens and flipcharts to present data and record ideas.
- A meeting place that allows frank, clear communication. Experts say that even in Zoom-powered distributed workplaces, it’s best to gather participants in a single room where they can communicate eye to eye. If that’s not possible, try a virtual war room with a specialized telecommunications solution like IBM’s ChatOps, which gathers visuals and conversation in a single dashboard for all participants.
- Someone skilled to run the meeting. It doesn’t need to be the highest-ranking member of the team. That person needs to be focused on the discussion. Someone needs to watch the clock, ensure that all relevant information is presented, lead the brainstorming, cut off irrelevant side talk, and make sure the right team members have been invited. The meeting manager may also be the one who records ideas on a whiteboard or flipchart.
- A sense of urgency. The war room isn’t your usual Monday morning catch-up meeting. There should be nothing routine about it. That’s one reason experts advise against meeting in your usual conference room – it lulls participants into thinking they’re attending an ordinary briefing. Setting aside a situation room for addressing urgent problems helps participants understand the stakes in a visceral way.
When to use a war room in Web3?
Around the world, individuals and businesses increasingly rely on dApps that comprise code running on arbitrary nodes that could be anywhere on the internet. The emerging Web3 architecture delivers substantial benefits. The price: unprecedented complexity.
When a problem emerges, a range of issues could be the underlying cause:
- It could be a networking issue. Maybe a node’s connection to the network was interrupted while a transaction was half completed. Perhaps one party to a transaction was unexpectedly offline.
- It could also be a problem with third-party components of the dApp. An update to the virtual machine that executes smart contracts could cause your dApp to malfunction. An OS update on client systems could also be the cause of the problem. Maybe updated Android security protocols interfere with your app’s execution privileges.
- Maybe the code is running properly in most instances, but malfunctions on some nodes. Network traffic and processing loads on a network node may make a critical routine time out. Perhaps only the users of a particular digital wallet are vulnerable.
Diagnosing Web3 errors is a complicated business. Ultimately, it doesn’t matter what the problem is. It’s your dApp and your team’s job to make the code work. Diagnosing hack attacks is just as difficult and dApps are a favorite target of attackers. So, it's crucial to establish a sound emergency procedure for war room situations that will help your team deal with issues quickly and efficiently.
War rooms: the ground zero for critical solutions
Given the complexity of the interdependent Web3 architecture and the determination of ingenious hackers, it’s inevitable that problems will arise. In a decentralized world, that means the remedy must be sound and quick. That’s why a war room aid kit is an essential part of your project management toolbox.