hexagon

Twelve Expectations for Developer Platforms

XI - Discoverable Problems

Proactive detection and collection of problems like alarms, concerns, and user reports

Developer platforms should provide a centralized and unified view of problems arising from various sources, including software, platform, and infrastructure. This holistic approach to problem discovery ensures that developers have a comprehensive understanding of the issues affecting their applications. Alarms triggered by monitoring systems, error logs generated by the software, and user-reported issues should all be aggregated. By consolidating these diverse problem sources, developers can quickly identify and prioritize critical issues, regardless of their origin. The unified problem view should include relevant details such as severity levels, timestamps, and affected components, enabling developers to assess the impact and urgency of each problem.

To accelerate problem resolution and enhance developer productivity, the developer platform should include a knowledge base of common problems and their corresponding solution suggestions. This knowledge base should cover a wide range of issues, from general platform and infrastructure-related problems to software domain-specific challenges. By leveraging historical data, community contributions, and expert insights, the developer platform can provide developers with actionable recommendations and best practices for addressing frequently encountered issues. Additionally, the developer platform should allow developers to customize and extend the knowledge base with their own software domain-specific problems and solutions. This customization enables teams to capture and share their internal knowledge, fostering a culture of continuous improvement and collaboration within the organization.

Effective problem resolution requires a well-defined triage process that takes into account the context from across the entire platform. Developer platforms should provide tools and workflows that facilitate the systematic evaluation and prioritization of problems based on their impact, urgency, and dependencies. The triage process should involve collaboration among developers, product teams, and other stakeholders, ensuring that problems are assessed from multiple perspectives. The developer platform should provide a centralized view of the problem context, including relevant metrics, logs, and traces, enabling teams to make informed decisions and assign appropriate resources for resolution. By streamlining the triage process and providing comprehensive context, developer platforms can help teams respond to problems swiftly, minimize downtime, and improve overall reliability.