6 ms·
have you made more sites like this beyond the AZ and XY problems? I'd love to be able to cite these when trying to talk about these topics with people.
by beaconstudios 9y ago
have you made more sites like this beyond the AZ and XY problems? I'd love to be able to cite these when trying to talk about these topics with people.
- dvt 9y agoThe XY problem is kind of famous and I actually didn't make that website (although I find myself citing it all the time). I kind of "invented" the AZ problem because I ran into it multiple times at my previous job and thought about formalizing it in some way. Hope you find the website helpful! :)
- beaconstudios 9y agoInteresting, I'd never heard of it before - but it puts a name on something I think we've all experienced many times. The AZ problem is a useful generalisation too, it digs towards the root cause. Do you know if it belongs to a category of problems, in the same manner that e.g. the "either-or" belongs to the category of logical fallacies and confirmation bias belongs to cognitive biases? I always find those types of categories useful in building mental models.
- dvt 9y ago> Do you know if it belongs to a category of problems You kind of put me on the spot here, I'm not sure. I'd have to think about it for a while, but my gut feeling is that, yeah, it probably falls in the overarching category of "not knowing/realizing that you don't know something" -- so the failure point is epistemic.
- beaconstudios 9y agono pressure :) I was just curious if you'd happened upon such a thing. I find these groups of errors helpful for understanding interpersonal dynamics - I might go have a read around, I'll reply on here if I find anything.
- russh 9y agoif (today.month != tomorrow.month): send_email()
- dvt 9y agoI think you missed the point. The point isn't to be clever or figure out a way around the ill-suited requirements, the point is to avoid coming up with ill-suited requirements altogether!
- thwarted 9y agoYeah, but this is a bad example of that. It's not that the last day of the month is an ill-suited requirement, it's that, in the example, the programmer who wrote the code for the end of the month did more work and wrote more error prone code than really needed to be. If this was a code review, the end of the month code in this example should get flagged for its complexity, when it can be replaced with the single conditional "if tomorrow.day == 1". It's entirely fine to question the specification/request here, and ask why the end of the month. Not because the code that detects the end of the month can be written in a complex fashion, as it was here. Rather it doesn't seem to meet the requirements: The Account Manager doesn't realize that by processing on the last day of the month, rather than after the last day of the month, is going to miss out on some portion of the last day of "accumulated fees" for the month (depending on the rest of the implementation). The Account Manager has requested an implementation detail that doesn't meet the requirements, and now rework is required.
- dvt 9y ago> If this was a code review, the end of the month code in this example should get flagged for its complexity, when it can be replaced with the single conditional "if tomorrow.day == 1". But it's not a code review. It's a frivolous and simple example to show the underlying impact of not understanding the context of a hypothetical feature request. I have a feeling that in typical engineer fashion, you're missing the forest for the trees. Trust me, I've been there :)
- jaclaz 9y agoBookmarked, thanks. :-) JFYI, and in case you want to add a reference to the chocolate covered banana: http://web.archive.org/web/20160523201519/http://homepage.ntlworld.com:80/jonathan.deboynepollard/FGA/ http://web.archive.org/web/20160523201519/http://homepage.nt... http://web.archive.org/web/20160329162624/http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/put-down-the-chocolate-covered-banana.html http://web.archive.org/web/20160329162624/http://homepage.nt... that I have been citing a lot, together with the Yes/No and the Standard Litany: http://web.archive.org/web/20160527013035/http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/questions-with-yes-or-no-answers.html http://web.archive.org/web/20160527013035/http://homepage.nt... http://web.archive.org/web/20160604095422/http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/problem-report-standard-litany.html http://web.archive.org/web/20160604095422/http://homepage.nt...
- dvt 9y agoOh man, I love that "chocolate covered banana" example, I've never heard of it before, thanks! Will definitely source these, how come the original site is down? Edit: found one that's up: https://jdebp.eu/FGA/put-down-the-chocolate-covered-banana.html https://jdebp.eu/FGA/put-down-the-chocolate-covered-banana.h...
- jaclaz 9y agoGood find, thanks, just bookmarked it, it must be the new one, over the years the site moved already a couple of times, it was: http://homepages.tesco.net/J.deBoynePollard/ http://homepages.tesco.net/J.deBoynePollard/ Before being: http://homepage.ntlworld.com./jonathan.deboynepollard/ http://homepage.ntlworld.com./jonathan.deboynepollard/ all the FGA's are nice, (besides - the technical ones - extremely accurate) if you loved the chocolate covered banana one, you will surely appreciate the "legacy" correct definition: https://jdebp.eu/FGA/legacy-is-not-a-pejorative.html https://jdebp.eu/FGA/legacy-is-not-a-pejorative.html and don't miss the note about the secret 7: https://jdebp.eu/Humour/microsoft-monopoly.html https://jdebp.eu/Humour/microsoft-monopoly.html