rounds · May 22, 2023

The asset register is a list of places, not a database project

Every year someone tries to begin Tidep with a database. They have a spreadsheet, or a shapefile, or a set of drawings, and they want it in before anyone walks. I have stopped this often enough that I am putting it here, where implementation can send the link instead of having the same hour.

An asset register, for this product, is a list of places you stop. A name you already use. A place in words. The checks you repeat there. It is not a model of the plant. It is not required to be complete. Completeness is a property of drawings and of people who do not have to open the app on a Tuesday.

The failure is predictable. You import four thousand valves. The names do not match the tags. Duplicates appear because the spreadsheet had two spellings and the shapefile had a third. The route builder becomes a search box. Inspectors search, guess, and then start taking unlabeled photos because the right asset is not obvious and the truck is running. By week three the register is a rumor and the notebook is back. I have watched this at a utility that will not be a case study because we unwound it, and at East Ward, who tried a pole sample, saw the mismatch, and deleted the sample. Deleting a sample is a sign of health. Protecting a bad import because the import took a weekend is how the weekend becomes the product.

Start from the route. Which stops does Tuesday already make. Those assets exist, whether or not a drawing agrees. Name them as the crew names them. If the tag disagrees with the crew, write both in the place line and fix the disagreement in the world, not with a third identifier invented by us. We will not issue Tidep asset numbers. A second number is a second system.

Then walk. The first walk will find a stop you forgot and a stop you listed and do not actually make. Edit the same day, while the disagreement is fresh. Add the asset you forgot. Retire or remove the one you do not touch. Retirement is for something you recorded and abandoned. Removal is for a duplicate with no history. Do not delete history because you are annoyed at a name. Rename it.

Only then consider a second route. The register grows at the speed of the walk. Poles enter when the cycle reaches them, which is what East Ward does, and what I will defend against any integration diagram. A pole you have not walked is not “in the system” in any sense that helps the inspector. Pretending it is will produce a pass you did not earn.

Campuses are the loudest version of the temptation, because a campus looks like a list of rooms and a room looks like an asset. St. Brice did not load the rooms. They loaded the traps in one notebook. Hoods came a floor at a time, later. Dorm deficiencies came as a round, not as every bed. Paul Igwe already had a work-order system for lamps. He did not need another, and Tidep would have been worse at lamps than the thing he already disliked. Knowing what you are not is part of the register.

There is a point, later, when a fuller import is reasonable. You have three routes people trust. The names on those routes match the tags. You want the next cycle’s poles to be easier to add. Then we can talk about a file, and the file will be checked against the names you trust, not the other way around. The trusted list is the one a person walked. I will not flip that hierarchy for a cleaner diagram.

If you are early, you do not need a workshop about data models. You need the Tuesday stops written down, each with one check that has a real limit. Start is that, in shorter words. The register is what those stops accumulate into. It is allowed to be small. Small and true beats complete and abandoned, every time I have been in the room for both.

Also in the journal