Comment by shadowgovt
2 months ago
I am creating a jira ticket because I will forget I have done the thing.
I am also creating a jira ticket because 11 months later when another engineer is trying to figure out if the code they're staring at is still actually valuable or if they can rip it out safely, they are going to use git blame to find the pull request where the thing was done, that pull request is going to mention the jira ticket, and the jira ticket is going to reference the design document that justified why we did the thing. If we don't do those things, that engineer is going to yank that functionality out and something way over there is going to break without anybody realizing it broke.
Your mileage may vary. Some teams make the PRs detailed enough that they don't have to fall back on jira. Other teams try to encode this information into unit tests (that helps but it's circular reasoning; the unit test will tell you that somebody at one point thought that this was important enough to verify that it keeps doing the thing; they won't tell you why the thing matters or what customer wanted the thing or whether the thing was the thing we did before we pivoted to doing the new thing cuz the old thing didn't make money).
It's called documentation. Somehow people forget to include a non-external service dependent version with their code these days.
Probably because "nobody is paid for doing that".