4 ms·
But the trick is, you probably couldn't do a better job. There is little technical challenge in a product like this. Building crud apps that scale to low tens
by x0x0 12y ago
But the trick is, you probably couldn't do a better job.
There is little technical challenge in a product like this. Building crud apps that scale to low tens of thousands of users is not that challenging. Since (I believe) we all share that belief, then why do projects like this keep failing?
I've worked on large medical information systems. The problems those encounter are
(1) you essentially never get to bulk replace entire systems; you will have to support ongoing data ingestion and export to other running systems, often systems not designed to support this or with poor apis;
(1a) if / when you fuck up, critical processes are disrupted. You have to engineer your systems and create backup processes to make this very unlikely to happen. There is a case I can't really share too many details of where a database was accidentally dropped in a datacenter of a hospital chain you've heard of. Said hospital chain was unable to access medical records for 20+ hours; this was in the 90s running on giant hpux machines and it took a long time to reimport data off tape. My employer was on the hook for $30M iirc, and I wouldn't be surprised if this actually contributed to serious patient injuries or deaths. Now obviously law enforcement isn't quite as critical as medical records, but it's not far behind.
(2) over the life of such systems, lots of workflows / processes have developed around using them inside hospitals or large doctors offices. You have to discover these processes, mostly stored in the heads of line level workers and their immediate supervisors, and figure out how to enable them in your shiny new system. To be concrete: the medical record system didn't support some requirement. That didn't stop users from needing it. So employees or doctors decided to use a field in a certain way, and they know how to interpret the presence and/or data in that field. You don't even know a field is being repurposed, let alone how they actually use it. This will be a large problem importing all the old data and in recreating the necessary functionality.
(3) no one person, and probably no small set of people, know or understand all the ways the system is used. Somehow, you have to capture that knowledge and use it to create a functioning new system. At least the medical record company I worked for hired lots of doctors and nurses out of hospitals to help them understand how users used the system in practice. You essentially don't understand at all how prosecutors, police, secretaries, and all the other people involved in law enforcement use this system.
There are clear parallels to replacing systems like this. Particularly when you have to do a live transition.
- japhyr 12y agoI recognize the difficulties of attempting a project like this, and the serious ramifications of any bugs you introduce into the project. There are life and death ramifications here as well - contributing to a wrongful imprisonment, or accidentally freeing a dangerous criminal are pretty bad outcomes. But if no one attempts this, those things are going to happen anyway. I'm not saying I could do a perfect job - just that I imagine I'd have something to show for working on this problem full time for 10 years, with the stated level of funding.
- x0x0 12y agoI don't doubt you would. But the challenge in these projects is generally not technical, which your post focused on. It's all management: management of scope, management of requirements gathering, management of expectations, management of deliverables. Management of having to work with people who, frankly, are dumb, and for whatever reason resent you, but they use the system and you have to figure out what they need anyway. Oh, and the better question in all of this is why is Alaska building such a system? Are they such special snowflakes that not a single other state or country in the world has a similar system that they could buy and minimally to moderately adapt for local needs? Forty-nine other states, plus DC, plus puerto rico, plus the fbi's system, not to mention the provinces in Canada or states in Mexico. Surely someone has a system that could serve as a 90% starting point.
- mlinksva 12y agoWhat is the best guess at answer to the better question? Relatedly, why aren't these systems mandated to be open source? The public ought be able to inspect the algorithms that regulate them, and various parts of government ought be able to collaborate freely.
- omouse 12y agoBuilding crud apps actually is a challenge! I've seen three projects over the last year that are basically CRUD apps with some email notifications and that's it. And yet, because there's a custom workflow and some custom UI components, the developers mess up the CRUD part because it "looks" different and they manufacture a whole bunch of edge cases. Even with the hand-holding and guidance offered by Django and Rails, you still get low-complexity CRUD business apps that are drowning in bugs.