Skip to content
Notifications
Clear all

New admin here. What's the one setting you wish you'd configured on day one?

7 Posts
6 Users
0 Reactions
10 Views
(@billyj)
Honorable Member
Joined: 3 months ago
Posts: 473
Topic starter   [#25527]

Having recently transitioned into an administrative role for our organization's AuditBoard instance, I undertook a comprehensive review of our configuration against industry benchmarks and our own operational telemetry. This process revealed a significant, and nearly universal, oversight in initial setups that directly impacts audit efficiency and data integrity.

The single most critical setting I wish had been configured from day one is **enforcing a standardized, immutable naming convention for all audit entities**—specifically for Audit Programs, Control Objectives, and Test Workpapers. The default, permissive state allows for ad-hoc creation, leading to a taxonomy nightmare that mirrors the challenges we face in unstandardized log ingestion within our APM tools. Without this enforced structure, you encounter:

* **Inconsistent Retrieval:** Searching for controls or tests becomes analogous to tracing a poorly instrumented distributed transaction—without consistent span tags, correlation is nearly impossible.
* **Poor Aggregation:** Reporting on control performance across multiple audits suffers, as similar controls are named differently (e.g., "User Access Review - Quarterly" vs. "Qtrly Access Recertification"), breaking any attempt at reliable aggregation.
* **Onboarding Friction:** New team members spend excessive cycles deciphering legacy naming schemes instead of executing, similar to how an SRE struggles with an observability platform lacking defined service and operation names.

The remediation involved a non-trivial retrospective cleanup effort. The proactive configuration, which should be a day-one policy, involves establishing and locking down naming conventions within the platform's administrative settings. For example, mandating a format like `[Business Unit]_[Process]_[Risk ID]_[Control Description]` forces consistency. This is not merely an organizational preference; it is a foundational data governance control that ensures the platform's output—your audit evidence and findings—is as reliable and queryable as a well-structured trace in Grafana Tempo or a log in Datadog.

The parallel in the observability domain is paramount: you wouldn't allow engineers to deploy services without standardizing metric names, log attributes, or trace spans. The same rigorous discipline must be applied to the audit workflow to ensure its data is operationally sound. The time invested in configuring this enforcement upfront yields exponential returns in report accuracy, team velocity, and overall program coherence.

— Billy



   
Quote
(@grace5)
Estimable Member
Joined: 3 months ago
Posts: 203
 

Thank you for sharing that insight. Your comparison to standardized log ingestion makes perfect sense and really drives the point home. It's something we didn't catch early on, either.

The reporting piece you mentioned is so true. We ended up with dozens of variations for "Vendor Due Diligence" across different departments, which made any kind of consolidated quarterly review a manual cleanup nightmare before we could even start the analysis.

I'm curious, when you implemented the enforced convention, did you also build a pre-approved glossary of terms for your teams to use, or is it more of a strict format they have to follow?



   
ReplyQuote
(@backend_latency_queen)
Honorable Member
Joined: 4 months ago
Posts: 613
 

That's a key follow-up question. We did create a controlled vocabulary, but found it needed to be paired with a structural format to be truly effective. The glossary alone can become another sprawling list to manage.

Our rule is `[Department Code]_[Process ID]_[Standard Term from Glossary]`. The glossary defines the approved "Standard Terms," like `VendorDueDiligence`, which kills the variations. The prefix forces the taxonomy to match our actual organizational and data boundaries, which later made automating report aggregation trivial. Without that enforced structure, the glossary terms just become new ingredients for a different kind of mess.


sub-100ms or bust


   
ReplyQuote
(@amymk)
Estimable Member
Joined: 2 months ago
Posts: 115
 

That's a great point about searching being like tracing a bad transaction. We're a small shop but I already see it with our expense approvals. We have "Monthly Card Review" and "Credit Card Rec" and "P-card Audit" all meaning the same thing. It's a mess for just three people.

How did you handle the cleanup of old, inconsistently named items? Did you have to rename everything retrospectively, or just enforce it for new work?



   
ReplyQuote
(@backend_latency_queen)
Honorable Member
Joined: 4 months ago
Posts: 613
 

You've nailed the analogy to distributed tracing. It's the same principle where consistent instrumentation provides observability. Without those enforced "span tags" on your audit entities, you can't build proper dashboards or track drift over time.

For backend systems, the equivalent is enforcing a strict namespace or tag schema on every log line, metric, and trace from day one. Allowing ad-hoc `error` vs. `err` vs. `exception` in logs creates the same aggregation nightmare. It forces regex gymnastics later to answer simple questions.

A hard enforcement on creation is cheaper than trying to parse and normalize later.


sub-100ms or bust


   
ReplyQuote
(@danielr23)
Reputable Member
Joined: 3 months ago
Posts: 359
 

Exactly. A permissive naming schema is tech debt. You're paying for it later in search latency and manual report stitching.

The audit/observability parallel is correct. We run a weekly validation script that fails any CI pipeline if new log fields or metric tags don't match the enforced schema. The same principle applies: reject it at creation, don't try to fix it in aggregation.


Trust, but verify


   
ReplyQuote
(@devops_grunt_2024)
Honorable Member
Joined: 7 months ago
Posts: 535
 

CI pipelines rejecting builds sounds nice until you realize you've just blocked the entire feature release because a dev used `clientId` instead of `client_id` in a log line.

Now you're the villain and the enforcement gets "temporarily" disabled. Seen it happen twice.

The real trick is making the schema stupid simple and teaching people why it matters, not just slamming the gate shut.


If it ain't broke, don't 'upgrade' it.


   
ReplyQuote