The XY Problem Guideline Removal Proposal (Should it be removed?) #2628
Replies: 11 comments 27 replies
-
I am also documenting this concept to help as another possible solution to help guide users to understand this problem in a deeper way. Maybe a wiki page would help this? If you have any information about the XY Problem, or any stories to why this problem came to be and why it is used, I would love sources and articles talking about this. It will help with documenting this and enlighten other users to why this is a concept. Thank you in advance. |
Beta Was this translation helpful? Give feedback.
-
https://xyproblem.info/ is another reference This one poses it as Y is the thing that gets asked instead of asking about X. |
Beta Was this translation helpful? Give feedback.
-
I think we should ban or at least remake the xy rule, it sounds like a whole load of bs that no one needs and harms idea creation. but the thing is, the XY problem actualy fixes the issue. if Y is the issue, then X must be a fix for something. regardless if the issue is actually trying to point the correct direction. i'm not trying to hate on anyone but this " i think this is the case of the XY issue." doesn't seem to make any sense. say i'm a new user right? i'm working on something and i think of a great feature that will help everyone. i'm not trying to be rude here but the XY problem plagues people and i know people who just straight up refuse to make more feature requests because their afraid that they might get hit with it again. i hope what i know can help anyone who reads this. |
Beta Was this translation helpful? Give feedback.
-
This isn't a rule, it's guidance that is attributed to the requirement "Focus on the high-level issue first, not a specific solution" The problem we have a lot of times is that the problem is left behind and solutions become the subject of the conversation. This guidance is meant to remind us all to remember to "Focus on the high-level issue first, not a specific solution". While this topic is healthy and discussion is welcome, the inclusion of the word "rule" is misleading. It has never been a hard rule. |
Beta Was this translation helpful? Give feedback.
-
Maybe a better way to address potential XY problems could be rather than opening with "this seems like an XY problem" working to find the solution that fits best and if it does wind up being an XY problem, noting that afterwards? Most of the issues where I've seen it come up it can kind of feel like the person making the issue is being "punished" for failing to identify what they need initially. I don't think it should be "gotten rid of" or anything like that though, because its good to have guidelines for clarity and at the core of it thats really all it is |
Beta Was this translation helpful? Give feedback.
-
I don't know much or I can't say much, but a lot of things are heavy bias. I hated it the most when a request got linked to another request with a horrible write up and hardly any information and was told it was suitable... (then someone else who had the same issue as another got instantly approved, even with the same arguments as me or someone else, where does that make logical sense, oh yeah because they are well known and get rite of passage apparently) ((Some other things also are linked to similar experiences not just the one I addressed) as a new user it seems very unprofessional. Even when people put effort into something completely different, they get crossed with something else that doesn't even tangle with the user request and gets shrugged off. There needs to be better standards for the entire interactions of this GitHub not just the XY problem. Those are my thoughts as a new user. Thanks for reading. (Sorry for not providing any examples but as a whole it shows my disinterest in using the Git with its current status) |
Beta Was this translation helpful? Give feedback.
-
I'm going to say upfront - we will not remove this guideline. It's a very important one and following it makes our (engineering) work much easier to do. What is important to understand here is - we get A LOT of issues and requests and our time is very limited. We are always looking for ways to implement things that will help the most people with least amount of engineering work and for that, it's important to understand the underlying issues behind people's requests - it lets us, the engineers, to come up with best solutions to solve those problems. When people ask for a very specific solution, you effectively remove that ability from us (or at least, make it much more difficult to do), which hurts both us and hurts other users - if we need to spend a lot more time trying to figure out your issue, that time is taken away from working on other issues from other users. With that said, we could definitely focus on improving the wording, guidance and explanations on why this is being done. From our perspective, what we really need users is to be "This is the end goal of what I'm trying to achieve" first, without focusing on "How" and through which means, rather than "I want feature that does XYZ specifically". When you work on an issue, it's almost like you "zoom in" on the way you want to solve it. And when you make a request about that "zoomed in" feature, that makes the work harder for us. What we need users to do is "zoom out" and give us the big picture of what they've been trying to do, so we can look if there's better approaches and solutions. The difference between the two from our perspective is huge. |
Beta Was this translation helpful? Give feedback.
-
Just focusing on this part - we appreciate all the ideas and suggestions, they still give us some information on what people want. However the important part to understand here is - that doesn't mean we can/will work on all of them. That's simply unrealistic. Issues will have to be closed and some things we just cannot do and there some things we won't do, because we have to ensure the codebase and engine will remain maintainable and we don't code ourselves into some corners that will be hard to get out of. It sucks, but there's only so much we can do. But that's also why XY guideline (as well as others) are important - the easier you, the community, make the work for us, the more efficiently we can get through the issues and implement more of them. If we remove the guideline, you will effectively make the opposite happen - we will have to ignore and skip a lot more issues, because each one will take more of our time than it otherwise would have. |
Beta Was this translation helpful? Give feedback.
-
To give you an example of XY problem and why it's important in a more demonstrative example. Imagine you have a chair. The chair is rickety, because one of the legs is shorter than others. So you try to solve it, by putting a book under the leg that's the perfect length. But you can't find ones that are perfect length for it, so you figure that if you counter-balance it on other sides with other books, you can make the chair perfectly level. So you go and create a request saying "Implement book searching algorithm that finds 4 sets of books whose page lengths sum up to the same number with ability to offset each set by a given value." When we look at that issue we'll be like "That's... really weird and very complicated to implement. Why would anybody want to do that?!". We might not commit any resources towards implementing that kind of feature, because we don't understand its usecase, it's complex in implementation time and it seems very niche - like it wouldn't help other stuff. This makes the user frustrated, because their problem - rickety chair, is not resolved. What we really need the user to do in that case - and what XY problem is really about, is to "zoom out". Focus on what is the initial problem that led you to that request. If instead of that particular issue you made issue that says "My chair is rickety", we'll just be like "Oh that's super quick fix, we'll just replace the chair leg, 5 minutes and done." Just by changing that, you made the issue go from "hours worth of figuring stuff out and weeks worth of engineering for a confusing and niche feature" to "5 minute quick solution" - that's potentially hours (and weeks if we decided to implement it) saved, your issue resolved and we can do a bunch of other issues in that time! We actually get a fair bit of requests that are pretty much like this - which is why we want people to think about the XY problem when making issues. |
Beta Was this translation helpful? Give feedback.
-
Isn't the XY-problem just "State your problem instead of requesting a thing that would fix it"? |
Beta Was this translation helpful? Give feedback.
-
This has been bouncing around in my head all afternoon for some reason. I think we can resolve this with some wording tweaks then. I will update the Readme with a PR and link it here. But additionally, if all folks responding to issues could just replace, "This sounds like the XY Problem" with "Could you elaborate more on the problem you are trying to solve as right now it sounds like you're talking more about a solution" or equivalent. With both we should be solved. |
Beta Was this translation helpful? Give feedback.
-
--- Preface ---
First things first: This is a discussion, a proposal if you will, about removing the XY Problem rule from the submission process of Yellow Dog Man Studios GitHub (or at least making it more clear and understandable as the alternative). I want this to be civil, respectable, and well thought out. I want a proper discussion that talks about if there should be this rule in the first place. Be respectful to everyone here, especially to the dev team as they try their best with development and policies, there should be no hate. Consider both sides of the arguments presented, it does not need to be a full on debate, as we are all learning through the process (no matter in what capacity). Everything here in this post is my opinion, my research into the matter, and what I think possible solutions are, and no one has to agree with anything I say here (I realize this is a hot take). With all that being said, here is my proposal:
--- The cons to having the XY Problem Rule ---
When I first learned how to make issues on GitHub here, as well as thinking in the mindset of a new user that ran into an issue for the first time, the issues I personally wrote up were not written or expressed the best, and everyone starts out somewhere, however I found a couple of roadblocks/pain points that makes it feel bad to even go through the process of writing up an issue. This effects more of the non-developers, non-creatives, and users that just want to be social on the platform. I will start with the opposing arguments first:
--- The benefits to having the XY Problem Rule ---
Don't get me wrong, I think it is wonderful to have the XY Problem rule, and it does serve well for developers and creatives (but not everyone knows it exist until they are exposed to the idea of it). Here is the pros to keeping it on the requirements on the page:
--- Resolutions to the proposed problem ---
As with any pain point for users, nothing is perfect, but a discussion about this could help. All, Any, or None of these solutions could be implemented to help ease and educate users on what is and is not the XY Problem, or maybe there is no need for it and a better process to determine solvable solutions to the issues could be created. I have a couple of resolutions that I can state here that may ease users, or to encourage users, to submit issues using the GitHub platform:
--- Conclusion ---
I feel this should be discussed and possibly find a solution that is easier for new and old users looking to submit bugs and features, as well as to properly write them up with the best quality possible for the dev team to understand it well enough. My take on this may not be garnered well with the community on this one as I don't feel the XY Problem excuse is adequate enough to express (or even to teach users) on what even the XY Problem is. I don't want this XY Problem to be itself an XY Problem, so there has to be a solution for this, unless there is nothing that can be done, which means that users will continue to encounter this meta-issue. And if users feel bad about writing issues or requests, they are less likely to write one up to help Resonite as a whole.
--- References to issues that should not have been treated as XY Problems ---
These are examples, not the rule. This showcases when and what happened, and should only be for further reading on this.
--- Other References ---
Beta Was this translation helpful? Give feedback.
All reactions