4 ms·
Governments often have a ton of overly complex and poorly documented rules. Add in bad incentives and people put into roles they are poorly suited and it can go
by MattGaiser 3y ago
Governments often have a ton of overly complex and poorly documented rules. Add in bad incentives and people put into roles they are poorly suited and it can go to hell pretty quickly.
Here is an anecdote from a past job.
1. Years ago (decades), someone made the contract rules. They did it in an ad hoc not very systematic way. They assumed everything would be judged by a human and be judged reasonably.
2. That person left and the department expanded.The rules had to become more formalized, but still room for plenty of exceptions. An exception could be a penciled scribble in the margins in a file or later on, a sticky note.
3. Time to digitize. Unfortunately, computers like standards and need every little rule must be programmed.
4. A business analyst with no real understanding of the system is hired to generate requirements for digitization. The current overseer of the rules, someone who doesn’t use a computer much (yes, these people still exist) kind of just nods every time he creates these tremendous flow charts. this is the first degradation of knowledge. Even then though, this business analyst is not technical or legally trained, so doesn't appreciate why defining things like "end of day" or "contract billing cycle" precisely is crucial. even if he could, many contracts had sticky note individual definitions.
5. The business analyst goes back and feeds the information into the ticket mill of Scrum. To be nice and agile, work is done in bite sized increments with no regard for context. This is the second knowledge degradation. All those flow charts are chopped into little boxes. Devs see ambiguities, but have no interest in pushing back.
6. Developers only have the tickets to work on and quotas to meet, so write the code as requested. Testing is another set of people, so code is just tossed over to QA. QA has no more context than dev, so if it matches the ticket, they approve it.
6a. Nobody budgeted for automated testing so things break over time for lack of tests. Product Owner wouldn't grasp the concept, business analyst had a budget and wanted to deliver more features, and devs didn't want to fight about it.
7. Final increment goes back to product owner who doesn't understand and just nods. A piece of software that doesn't work all that well gets approved. Repeat for years and constantly adding post-it note rules as code and you have a system that has lots of errors.
- rightbyte 3y agoAt some point one should just give up and do it by hand. There is so much overautomization nowadays that in practice are time sinks and deadlocks the org. A sane system would be 'contract A type' and all other be done manually or something.
- InCityDreams 3y ago>3. 3. Time to digitize. Unfortunately, computers like standards and need every little rule must be programmed. Er....shit in. Shit out?
- stuartjohnson12 3y agoNot necessarily. More of a lost in translation. A great example of something hard to digitise is mechanisms for reward/punishment. Algorithmic approaches for criminal sentencing that work on a parameterised basis have been proposed over the years but always found wanting.