Table of Contents
- Breaking It Down (Part 1)
- Persistence (this part)
- The Challenges of Persistent Information
- Source Code and Software Assets Are Data Too
- Software Entropy and Long-Term Maintainability
- Project Management Generates Persistent Data
- Garbage In, Garbage Out: When Bad Data Distorts Decisions
- Conclusion: Treat All Project Information as an Asset
- Further Information
- Frequently Forgotten Factors (Part 3)
ersistence: How information sticks around and what happens if it doesn't
Software is all about manipulating information. Numbers, text, images and sounds, it's all ones and zeroes. But when that information sticks around—when it persists—things start to get tricky.
Suddenly, you have to think about all sorts of headaches:
- Where is the data stored?
- Who can access it—and when?
- What happens when two people try to change it at once?
- Should we lock it? Merge it? Roll it back?
- Are we aiming for ACID (strong consistency) or BASE (eventual consistency)?
- What if the data isn’t what we expected? It needs validation and correction.
- How do we migrate it safely when the APIs or internal schema change?
And once you've solved those, you're only a third of the way there.
Code is Data Too
One of the more profound and useful realisations in computer science is that code is data. It can be stored, moved, diffed, merged, and—most importantly—it can break or be misplaced if it is not managed.
That means everything you worry about with persistent data? You get to worry about it again when dealing with the source code. Version control isn't optional; it's survival. And not just for your code files. Think bigger.
You’ll want to track:
- Sounds and images
- Test datasets
- Code generators
- Build scripts
- Image generation scripts
Entropy Never Sleeps
Even if you get all this right, there are other dependencies your software relies on.
Operating systems evolve (or vanish), programming languages shift, frameworks deprecate things without warning, and that obscure build tool you relied on might be abandoned.
Left unattended, even well-built software starts to rot. Not because the logic broke—but because the world moved on without it.
Analysing Version Control Data
There is information in your version control system that goes beyond your current build.Guess What, Your Project has Data Too
Whether you call them tickets, work items, stories or tasks you need to track work. Whether you use Jira, Trello or something else, that data needs to be treated with the same respect that you give your application data, or your version control data.
Garbage In, Garbage Out
Still, I saw enough in the data, to encourage me to push harder on on changes I knew were needed.
- Stop sabotaging your workflow tracking system.
- Stop erasing estimates.
- Stop injecting misleading data that makes it look like you’re shipping four-year-old work every sprint.
In Summary
Persistence isn’t just about databases. It’s everywhere: in your code, your tooling, your workflows, and your team’s memory. If you don’t treat all of that data with care, your systems will degrade—even if no one touches a line of code.
Further Information
Related Posts
- Complexity and Intent vs Implementation
- UX & DX
- Making Work Actually Flow
- Managing Images and Sounds.html







No comments:
Post a Comment