So, what you do is you recognize every ticket has a somewhat variable “actual effort”; and, if you’ve been honest in approximate effort pointing, you’ll know your team (or your own) velocity.
From there you can run Monte Carlo simulations - say a few hundred thousand, and get a pretty good estimate of actual time spent.
Assume that for various practical reasons, we've decided it's one of the best functions out there. How do we use it effectively, especially when it has noise, and drifts over time with unseen changes to the human_estimator and the hideously complex world_state?
A popular option is to run it multiple times with different person/task combinations, putting a projected number on to each task. Afterwards, the tasks finished in sampling period ("sprint") become a quantifiable total for that period ("velocity").
Do the same process again with the next set of tasks, and you can figure out which ones are likely to fit if the velocity doesn't change much. If you know the velocity will change due to losing staff or vacation days... well, we apply a multiplier and hope for the best.
Trying to "fix" the meaning of points is maladaptive, because they reflect many changing things which are outside our control and can't be independently measured.
Honesty isn't the issue, in my experience. The issue is unknowability. You usually can't know what clients actually want until you've given them a prototype and gotten their feedback. You often can't know the rough performance impact until you've done the first implementation. Sometimes you just have to work through a list of candidate solutions S1, S2, etc... and you can't know which one will eventually work. All of which means that forecasting beyond a couple of weeks is wasted effort, except for rote factory-line work.
I thought you weren't supposed to use it to estimate man-hours? Or is it ok if we don't allow engineers to provide time estimates, but permit simulations to do so?
Prefixing saying something with "Two quick notes first" is extremely common AI meta commentary. You may be right that it is something Microsoft insisted he put at the top, which would also explain the weird style.
It's not a "normal" sentence and is quite clearly produced by an LLM, it's a typical Claudeism so probably that. The entire post is also flagged by Pangram, so OP is correct.
The other one on that list is food (or, using food to cope with trauma, resulting in an addiction).
You have to eat to survive, but when it becomes your only source of peace or happiness and/or you get addicted to it … very bad things happen and it’s very hard to moderate.
I think the style essay akin to a punchy, TED-talk style persuasive essay is dead.
Whether or not this author wrote it themselves (I strongly suspect at least an AI editor), the specific style that was, for a time, very attractive has become the hallmark of AI-written prose; and, while the content doesn’t seem wrong from a particular view, it also leaves a taste of waste to me - waste that I spent that time reading something they didn’t write, full of -isms that aren’t theirs, when the thesis could have padded out far less paper.
The word count feels unearned, even if the content is fine.
How many thousands of dollars are you burning a month on “looks good, go” and then *letting it run overnight*?? I spend enough money on 8 human, interruptible and human-thinking hours with paused hours.
I can’t imagine how high that number would go if I got rid of the collaborative style and also the “please don’t run scary commands on random directories without permission” mode.
Write a good high level plan with functional and non-functional requirements and it works out costing less, works more efficiently, and no surprises.
It’s like this: If you know the right words to say to the LLM, you’ll likely get back the “right words” also. And the more right words up front, the less steering you need to do.
(Having 20yrs of experience writing these user stories and designs help, my “unfair” advantage)
Sure and sometimes that is what happens. Sometimes it's not. We should be doing a lot of things, but have to triage issues and act pragmatically.
In the case of what I'm currently working on, filing bugs for every issue I found, and then factoring out each fix, and then running each change through the 8 hour ci/cd system, and hoping an unrelated issue doesn't get misattributed to me... No, I'd rather just wrap it up into one coherent refactoring change and be done with it because when I'm done there are several more like it waiting for my attention.
I don't know your exact situation; and there are sometimes genuinely valid reasons for an 8-hour CI/CD system; but ... man, reducing that down to like 20 minutes (which is possible and often common) would pay as many dividends as all the AI stuff that's been added. Man, like ... holy crap @_@
We're uh.. we're a well known and widely used piece of software. There is an insanely large amount of testing that needs to go in to each change across many platforms and configurations and we have a lot of devs hammering that system with changes to test. Even worse now because of AI...
If your company is really interested in doing AI stuff you may be able to sell people on the idea of a "fast agentic CI" where you:
1. Track code coverage from all current test cases in your big 8hr runs.
2. Index the coverage so it goes testcase name -> methods touched.
3. On every commit run an agent which looks at the diffs, tries to predict which tests the code being edited is touching, and run just those tests (or a random subset if there are too many).
Once you have this you can also automatically kick off builds every 8hr that contain all the previously submitted patches. Once that is done, if a test begins to fail, it can automatically bisect the history to find change, and notify the author.
You could also get these benefits with a Bazel like build system which can cache test executions so others don't need to rerun them if the binary is not changed.
Or, more simply, affairs, unwed couples, incidences of rape that were a dark stain in the victim’s life, etc.
A friend of mine loves to think about heritage and genealogy and when I brought up genetic testing and “wouldn’t it be neat to find out if someone in your lineage wasn’t actually in it?” they were quick to point out that they’re not interested in that because it doesn’t matter and her parents are her parents (and her great great grandparents are her great great grandparents).
Discovering infidelity and/or abuse in your family tree 2-3 generations back often (but never ever always) does little but harm to one’s own genealogical journey.
Is your entire line of thinking about crime and punishment not entirely dependent upon laws and punishments, as they exist right now, being perfectly just?
Because otherwise, “they knew the law and chose to break it, therefore they get what’s coming to them” is a bit Javert from Les Mis.
> "People have free will. Bad people know what right and wrong is, and they chose wrong."[0]
Broader Context:
In response to a commentary on how 'good and bad' can be complicated:
> "It's always someone else's fault."[1]
Broader-broader Context:
Prison is punishment, etc.
So, a reasonable chain of thought here and paraphrase of what you've said is:
"people know right from wrong" -> we're in the context of crime and punishment, so this is operating as a substitute for "they know what's legal and illegal". If it's not, it doesn't belong here, because at this point we should all know that legality != morality.
"and they chose wrong" -> therefore they chose the consequences - they chose punishment. The colloquial way of saying that is "they get what's coming to them".
So, while those weren't your words, was that your implicit statement? And if not, what is the implicit statement?
I ask because the people in those cells are real, and 23 of them died of heat.
> People have free will. Bad people know what right and wrong is, and they chose wrong.
The context being that the "bad" person is such simply because they chose to break the law. Even if it doesn't match your thoughts, surely you can see how one might read your comments as both claiming that laws are not morals, and also that those who break the law made the "wrong" (moral) choice (put another way: laws are morals).
Breaking the law is not strictly a moral failure. It can be, but they have an "orthogonal" relationship. To that point:
> I did not say there was no injustice happening. Nor did I say that all laws are just.
Choosing to follow an unjust law is a moral failure. That moral failure is baked into the word "unjust". This blanket statement that the choice to commit a crime is a choice to be "bad" is not self-evident (or it's laughably tautological) and, regardless, is contradicted by the assertion that not all laws are "just".
Of course, one can assume you have more nuanced thoughts than that; the point of my coment is that you've not communicated that nuance here, so you appear to be contradicting yourself: saying both that laws are morals and that they are not morals.
Or it’s as simple as “hey, they don’t want telemetry? Cool, we’ll turn off all the extra phoning home” and their feature flag code uses the same paths as telemetry because it’s the same endpoint, etc.
So, what you do is you recognize every ticket has a somewhat variable “actual effort”; and, if you’ve been honest in approximate effort pointing, you’ll know your team (or your own) velocity.
From there you can run Monte Carlo simulations - say a few hundred thousand, and get a pretty good estimate of actual time spent.
I’ve seen it work before with shocking accuracy.