The evolution of enterprise technology has ushered in the era of the desktop superapp, which integrates various standalone desktop applications into a unified interface so that, to the user, they form a comprehensive all-in-one tool that facilitates and optimizes all of the functionality needed for their workflow (see first article in the series, The Rise of Desktop Superapps). Picture a platform where applications seamlessly share information (also called interoperability) and everything you need is within reach, neatly integrated into one ecosystem.
Successful implementation and management of the desktop superapp lies not just in the brilliance of coding or the elegance of design, but a more fundamental aspect: governance. Governance is a key pillar of the desktop superapp and is the focus of this blog post.
Introducing Self-Organizing Governance
After speaking with other IT organizations that have implemented their own desktop superapp, we have noticed that many, if not most, of these organizations take — or strive to take — a top-down approach to the governance of their desktop superapp, driven by a central governing body. Despite this trend, there is an alternative approach which uses a bottom-up perspective in which very little centralized control is exercised. We call this bottom-up approach “self-organizing governance.” Rather than focusing on centralized control and top-down management, self-organizing governance is about cultivating a self-organizing system, where rules and standards are generated, maintained, and enforced organically by the development and support teams themselves. This approach negates the need for continuous oversight from a central authority, fostering a culture of collaboration, consensus, collective responsibility and efficiency. In this blog post we will present key strategies for how this approach can be effectively implemented.
Balancing Individual App Needs with Superapp Integrity Through Self-Organizing Governance
A self-organizing governance approach that empowers individual app teams to manage their applications effectively, while aligning with the superapp’s broader objectives, requires proactive monitoring and support structures in order for it to work. This approach enables teams to identify and address issues before they escalate into larger problems.
If mission-critical issues arise, then it is more efficient to immediately go to the people who can fix the problem rather than going through additional layers of management first. In the self-governance approach, the key is to establish a self-organizing system which puts in place an emergent assembly line to assure that, as problems arise, issues arrive at the right people who can either fix them or decide on a relevant workaround. The self-governing process also involves connecting with the right people who can facilitate the development of a more comprehensive strategic solution at a later stage. The spirit of this philosophy for governance is reflected throughout the next section, outlining key strategies for effective self-organizing governance.
Key Strategies for Effective Self-Organizing Governance
The following are some examples of key strategies that have proven effective in our journey to implement self-organizing governance. Please note that this is not an exhaustive list of all the strategies to achieve self-organizing governance, as fully detailing all such strategies would extend beyond the scope of this blog post.
Communication Strategies to Support Self-Governance
1. Dedicated Communication Channels
By embracing platforms such as Slack, MS Teams, and Discord, teams can establish dedicated channels tailored to specific aspects of superapp development and governance. Developers can use these channels to swiftly seek and receive guidance, share insights, or collaborate on solutions — they act as vital spaces for ongoing platform discussions, fostering a more collaborative and inclusive environment.
These platforms also serve as hubs for discussing and resolving interoperability (interop) challenges. Ensuring smooth interop among the diverse components of the superapp is crucial for its functionality and user experience. Communication channels like Slack are a useful way to quickly share and update interop standards, troubleshoot interop issues, and align all development efforts towards maintaining a seamless interop environment within the superapp.
2. Dedicated Wiki Pages to Support Superapp Releases
Creating dedicated wiki pages (e.g., Confluence pages) for each superapp release is pivotal. These pages should feature a checklist where app owners can document their apps’ compatibility with the upcoming framework version, focusing on both functionality and interoperability. This process offers a straightforward yet effective method for multiple app owners to affirm that their applications have been tested with the latest framework update and are issue-free prior to the next superapp release. These dedicated wiki pages also encourage a collaborative approach towards maintaining interop standards across the superapp ecosystem, ensuring all components work harmoniously together.
3. Enabling Self-Governance via FAQs
Establishing FAQs where the IT community contributes its most frequent issues and their solutions/workarounds is imperative to enable any other team in the IT organization to conduct its own troubleshooting in a more streamlined manner. The FAQs should provide clear guidelines for support teams on how to address issues related to the superapp in a production environment, thereby facilitating efficient and informed solutions.
Self-Governance Strategies for Apps
Optimizing the superapp’s administration tool for its app store, with a focus on supporting governance, enables self-governance workflows. For example, ensuring that an app store administration tool includes critical information beyond the essential declaration of app names, URLs, and user permissions is essential to enabling IT teams to manage their own troubleshooting efforts. The critical information should also include each app owner, the app owner’s contact details and links to an app’s specific runbook (see footnote 1). The Platform Dev Team will then be able to reach out to app owners directly when there is an issue raised with their apps, or remind them to certify their apps prior to each superapp release (see prior section regarding dedicated wiki pages to support superapp releases). Links to an app owner’s runbook enable any relevant person within the IT organization to reference known issues and troubleshoot these app-specific issues as they arise.
Self-Governance Strategies to Streamline Feedback and Enable Help for Users
1. Enabling Users to Report Issues — The “Report Issue” Icon
Implementing a “report issue” icon on each application window within the superapp framework can significantly streamline the process of raising concerns or inquiries. Ideally, clicking on this icon would automatically generate an email addressed to the support team, with the relevant app’s development team included in the CC, and a pre-filled subject line.
A more advanced solution utilizing a “report issue” icon opens a specialized framework window. This window would not only set up the email’s recipients and subject, but also offer the option to attach logs and relevant auto-generated screenshots. These attachments provide a more comprehensive understanding of the issue, enhancing the efficiency of incident tracking and resolution. Integrating this feature with existing incident management software further streamlines the support process.
2. Enabling Users to Complete Tasks with Contextual Help — The “Help” Icon
In addition, incorporating a “help” icon on each framework window would guide users directly to a resourceful info/help/FAQ page specific to the application they are using in that window. This feature ensures that users can readily access background information on the application, helpful guidance to accomplish specific tasks, and answers to frequently asked questions that are relevant to their current context within the superapp, thereby enhancing the user experience and fostering self-help capabilities.
Self-Governance Strategies for Inner Source Code Contribution
A code contribution model through inner source initiatives can foster a culture of collaboration, innovation, and efficiency while enabling the organization to leverage the collective expertise of its development teams. Inner source code contributions lead to improved code quality, faster development cycles, and increased adaptability to changing business needs.
Self-Governance Strategies for Proactive Monitoring of Ecosystem Apps
Effective governance in a superapp ecosystem is fundamentally anchored in proactive monitoring and meticulous management of individual applications. This strategy encompasses vigilant oversight of key performance indicators for each app, such as memory usage, responsiveness, and load times, to prevent any single application from unduly affecting the superapp’s overall stability and performance.
Distinguishing between issues specific to individual apps and those pertaining to the broader superapp framework is crucial for timely and targeted troubleshooting, ensuring the entire system’s integrity and seamless functionality. The self-governance approach emphasizes the importance of preemptive action and clear delineation of responsibilities among development and support teams. For example, if the root cause of an issue is determined to be caused by an individual application, then the responsibility to resolve the issue will be automatically assigned to the application owner, whereas superapp framework issues will automatically be assigned to the Platform Dev Team (the team dedicated to developing and maintaining the superapp).
Distinguishing between issues that arise due to individual apps and those that are due to problems that can be attributed to the superapp’s platform framework also involves continuously collecting and analyzing statistics to identify and address potential performance bottlenecks or resource-intensive processes. Regular training for support staff to recognize the differences between app-specific and platform-wide issues further enhances the governance model’s effectiveness.
Self-Governance Strategies for Management of Alerts
Incorporating a mechanism for both managing and monitoring alerts visible to users within the superapp is not only a matter of convenience to help both users and the superapp’s Platform Dev Team, but it is also a crucial aspect of enabling effective control over functionality that can potentially overwhelm users (by inundating them with unwanted alerts) and also crash the superapp.
By ensuring that there are guidelines in place so that no single application overwhelms the shared alert system with either unwanted alerts (by enabling users to filter out unwanted alert types) or alerts that are either transmitted too frequently or that have a payload size that is too large (both of which can result in unwanted system crashes), governance of alerts allows for the maintenance of a balanced and well-functioning platform environment. This strategy is vital for the overall health of the superapp ecosystem, as it prevents any one application from overshadowing others and maintains the efficiency and responsiveness of the alert system and the overall superapp platform.
The governance of a superapp is a dynamic and complex endeavor that requires careful planning, clear communication, and a commitment to shared goals and standards. Not all desktop superapp governance needs to be top-down. By embracing a self-organizing governance model, superapp ecosystems can thrive, delivering seamless, efficient, and user-centric experiences. This approach not only facilitates the smooth operation and evolution of the superapp but also sets a new standard for collaborative and effective governance in the realm of enterprise technology.
- A runbook is a detailed guide for completing a commonly repeated task or procedure, often used to provide everyone on the team — new or experienced — the knowledge and steps to quickly and accurately resolve a given issue.