Back to blog

Making Work Visible Without Watching Over Shoulders

The disconnected systems problem

Most engineering teams run on a patchwork of tools. JIRA for tickets. GitHub for code. Confluence for documentation. Slack for everything in between. Each tool holds a fragment of the picture, but nobody has the full view.

The result? Engineers spend standup meetings narrating what they did yesterday instead of talking about what's blocking them. Leads piece together progress from half a dozen browser tabs. Important work — a thoughtful code review, a documentation update, a tricky investigation that didn't result in a commit — goes completely unnoticed.

It's not that the information doesn't exist. It's that it's scattered across systems that don't talk to each other. And when the picture is fragmented, people fill the gaps with assumptions — usually the wrong ones.

Why visibility matters

Making work visible isn't about surveillance. It's about removing the need for engineers to constantly explain themselves and giving leads the context to actually help.

When you can see the full picture — tickets created, PRs opened, code reviewed, docs updated — you spot things that would otherwise take days to surface. An engineer quietly stuck on a problem they're too deep into to see clearly. A PR that's been open for a week with no reviewers. A pattern of work that's drifting away from the sprint goal.

Visibility also shines a light on the work that usually goes unrecognised. The engineer who reviews more PRs than anyone else on the team. The one who keeps the documentation up to date. The one who mentors junior developers through thoughtful review comments rather than flashy feature work. These contributions matter enormously, and without visibility they're invisible.

The communication graph hiding in your tools

There's a layer of insight that most teams never look at: the interaction patterns embedded in their existing workflows.

Every PR review is a communication event. Every commit to a shared branch is a coordination point. Every JIRA comment is a conversation. Taken together, these interactions form an organic graph of who's working with whom, how often, and on what.

This matters more than most people realise. You can see which engineers are natural collaborators. You can spot when a team is siloed — all reviews happening within the same three people, no cross-team contributions. You can identify mentoring relationships that formed without anyone planning them. You can see when a critical repository has a single point of failure — one person who reviews everything, with no one else building context.

None of this requires new tools or processes. The data is already there, sitting in your GitHub activity and your JIRA history. It just needs to be surfaced.

The dangers of over-monitoring

Here's where it gets delicate.

The same tools that surface useful patterns can, if misused, erode the trust that makes engineering teams function. The moment engineers feel they're being watched — that their commit frequency is being counted, their PR turnaround time is being scored, their "productivity" is being reduced to a dashboard — you've lost something that's very hard to get back.

When a measure becomes a target, it ceases to be a good measure.

Goodhart's Law applies with full force here. Start measuring lines of code and you'll get more lines of code — not better code. Start measuring PR throughput and you'll get smaller, more frequent PRs — not necessarily more useful ones. Engineers are smart. They'll optimise for whatever you measure, and the result is rarely what you actually wanted.

There's also a deeper problem. Software engineering is a creative discipline. Engineers need long, uninterrupted blocks of time to think through hard problems. They need time to write — not just code, but design documents, investigation notes, architectural sketches. They need the space to have a conversation with a colleague at a whiteboard without someone wondering why they're not at their desk.

Every meeting is a context switch. Every "quick check-in" is an interruption. Every status update request is an implicit message that says: I don't trust you to be doing the right thing. Pile enough of these up and you don't have an engineering team — you have a group of people spending half their day proving they're working and the other half trying to actually work.

The delicate balance

So how do you get the benefits of visibility without the costs of surveillance?

The answer is intent. Use visibility as a safety net, not a leash.

A good safety net catches the problems early: the engineer who's been yak-shaving for three days and hasn't realised it, the blocked ticket that nobody noticed, the PR that needs a reviewer. It surfaces these things so a lead can have a helpful conversation — not an interrogation.

A leash does the opposite. It tracks every movement, quantifies every action, and creates a culture where people are afraid to step away from the keyboard to think because it'll look like they're not working.

The difference comes down to how you treat people. Engineers who've chosen to build software for a living are, overwhelmingly, people who care about the craft. They want to ship good work. They want to create value for customers. They don't need to be monitored into productivity — they need to be unblocked, given context, and then left alone to do what they're good at.

Check in, don't check up. There's a world of difference between "I noticed this PR has been open for a while — is there something blocking it?" and "Your PR metrics are below the team average this week." One is helpful. The other is corrosive.

Getting it right

The best visibility tools do two things well: they surface just enough information to keep things on track, and then they get out of the way.

They pull together the scattered fragments from GitHub, JIRA, and Confluence so you don't have to. They highlight the patterns that matter — blocked work, collaboration gaps, unrecognised contributions. And they present it in a way that helps you have better conversations, not replace them.

They don't generate a score. They don't rank your engineers. They don't try to reduce the messy, creative, deeply human work of building software into a set of KPIs.

Because the goal was never to measure everything. The goal was to understand enough to help — and then trust your team to do the rest.