← Back to Insights

Recurring engineering effort

What Repeated Manual Investigation Reveals

Written by:Better SoftwareBetter Software TeamUpdated 6 min read
What Repeated Manual Investigation Reveals

Quick Answer

Repeated manual investigation signals that a system lacks the instrumentation engineers need, not that engineers lack skill. Standard logs, metrics and traces miss edge cases that appear in production, so teams fall back on ad-hoc steps. Documenting each manual step, classifying the missing information and adding targeted metrics, logs or traces closes the gap and turns long diagnosis into a quick check. Post-incident reviews keep the gaps visible.

Repeated manual investigation signifies gaps in a system's observable surface area. This means standard instrumentation, logging, metrics, or tracing do not provide sufficient information. Engineers resort to ad-hoc methods to gather needed context for diagnosis. This operational pattern indicates a missing systemic capability, not a lack of engineer skill.

Why Observability Gaps Appear in Production

System observability gaps usually result from an incomplete understanding of failure modes during development. Initially, systems are instrumented for expected happy paths. Edge cases or complex interactions emerge later in production. These new failure modes require data points not previously captured.

Organizational dynamics also contribute. Time pressure often prioritizes feature delivery over robust instrumentation. Technical debt accumulates when engineers defer observability improvements. A lack of standardized post-incident review processes can prevent institutional learning. Inadequate investment in observability tooling perpetuates manual diagnostic efforts. This can lead to reduced engineering velocity due to constant reactive work.

A Process for Closing Observability Gaps

  1. Document Manual Steps. List every manual action taken during an investigation. Include SSH commands, database queries, API calls to internal services, and log file greps.
  2. Identify Information Gaps. For each manual step, determine what information was sought. Pinpoint why this information was not readily available through existing dashboards or logs.
  3. Categorize Information Type. Classify the missing information. Examples include specific transaction IDs, request parameters, service call durations, or external system responses.
  4. Trace Causal Chains. Map how the missing information relates to system behavior. Identify upstream dependencies or downstream effects requiring manual checks.
  5. Quantify Frequency and Effort. Estimate how often this specific manual investigation occurs. Calculate the average time spent per occurrence. Prioritize frequently occurring, high-effort investigations.
  6. Propose Observability Enhancements. Suggest specific metric, log, or trace additions. Consider new dashboards, alerts, or debug endpoints.
  7. Review Post-Incident Reports. Analyze post-incident documentation for common manual diagnostic patterns. This reveals prevalent blind spots. Effective incident investigation leads to such improvements.

We would build this instrumentation into product engineering from the first release rather than retrofit it after incidents.

A Practical Example From Payment Timeouts

A payment processing service intermittently reported `transaction_timeout` errors. Existing metrics showed an increase in 5xx errors from the payment gateway. Logs captured the gateway's error code but lacked detail. Engineers repeatedly performed manual investigation steps. First, they SSHed into the payment service. They then `grep`ped logs for the `transaction_timeout` error within a specific timeframe. For each occurrence, they extracted the `payment_intent_id`. Next, they manually queried the payment gateway's internal analytics portal using this `payment_intent_id`. This revealed that specific merchant accounts, which process large batch payments, experienced upstream rate limiting failures. The rate limiting was external to the payment service, but directly caused the timeouts. The manual process consistently consumed substantial engineering time per incident. To address this, the team implemented a new logging field. This field captured the merchant ID and the precise upstream error message directly in the service logs. A new metric was also added to track `payment_gateway_rate_limit_errors_by_merchant`. An alert was configured for threshold breaches. This eliminated the need for manual analytics portal queries. Subsequent timeout incidents were diagnosed in minutes, not hours. Manual SSH and log grepping diminished significantly. This improved the reliability of the production system.

How to Prevent Repeated Manual Investigation

Preventing recurrence requires systemic changes. Implement a standard post-incident review process focused on observability gaps. During reviews, explicitly identify and track actionable items for instrumentation improvements. Mandate service-level agreements for observability coverage. For example, require critical paths to have defined metrics, distributed traces, and contextual logs. Invest in centralized logging and monitoring platforms. Automate the creation of runbooks with diagnostic steps that leverage existing data. Promote a culture where adding observability is part of feature completeness. Treat observability debt as critical technical debt requiring regular remediation. This reduces production toil for engineers.

What Teams Usually Do Instead of Fixing Gaps

Instead of addressing fundamental observability gaps, teams often implement temporary workarounds. They might create custom, one-off scripts to extract data during an incident. These scripts are rarely maintained or integrated into the system. Engineers sometimes develop undocumented personal dashboards or queries. These are not shared or standardized. Another common anti-pattern is relying on expert knowledge. Only a few experienced engineers can diagnose specific issues. This creates single points of failure. It also prevents new team members from effectively contributing. These approaches provide immediate, short-term relief but exacerbate the underlying problem. They increase context switching costs during future incidents. They do not build lasting operational capability.

Key Takeaways on Manual Investigation

  • Repeated manual investigation signals missing systemic observability.
  • Document all manual diagnostic steps during incident resolution.
  • Prioritize observability enhancements based on frequency and effort.
  • Add specific metrics, logs, or traces to address identified information gaps.
  • Integrate observability improvements into standard development workflows.

See how Better Software helps teams build observable products.

Frequently Asked Questions

What Does Repeated Manual Investigation Mean?

We read it as a gap in the system's observable surface area. Standard instrumentation, logging, metrics or tracing does not give enough information, so engineers use ad-hoc methods to gather context. We treat the pattern as a missing systemic capability, not a lack of engineer skill.

Why Do Observability Gaps Appear?

We see them come from an incomplete understanding of failure modes during development. Systems are first instrumented for expected happy paths, and edge cases appear later in production. Time pressure favors feature delivery, observability debt accumulates, and weak post-incident review prevents institutional learning.

How Do You Close an Observability Gap?

We document every manual step in an investigation, identify what information was sought and why it was unavailable, and classify it. Then we estimate how often and how long it recurs, prioritize frequent high-effort cases, and propose specific metric, log or trace additions, with dashboards, alerts or debug endpoints.

What Do Teams Usually Do Instead of Fixing the Gap?

We see custom one-off scripts, undocumented personal dashboards and reliance on a few experts. These offer short-term relief but create single points of failure, keep new team members from contributing, and raise context switching costs during future incidents without building lasting operational capability.

How Do You Prevent Manual Investigation From Recurring?

We run a standard post-incident review focused on observability gaps and track the instrumentation items it finds. Critical paths need defined metrics, distributed traces and contextual logs, with centralized logging and runbooks built on existing data. We treat observability as part of feature completeness.

About the author

Better Software

Better Software Team

Product and engineering team

Better Software Team is the product and engineering team at Better Software. We build new software products and improve existing applications and systems, with deeper experience in healthcare, finance and energy.