10

Background

Mark Trapp closed this question on the licensure of software engineers on Programmers for the reason of not being constructive. More recently, another question about replacing XML with JSON was closed for the same reasons. In the comments of both, he called it a "hypothetical question" and cited the FAQ. I believe that the ultimate problem lies in the definition of hypothetical and practical.

The text of the notice for non-constructive questions states:

All questions should be practical, answerable, and of some educational value to the greater community. Chatty, open-ended discussion questions diminish the usefulness of our site and push other questions off the front page.

I think we can agree that open-ended discussion questions, "getting to know you" questions, and questions asking for predicting the future aren't practical, answerable, or of educational value and are more suited to other forums. And there are plenty of questions like this, such as trying to figure out, the next big language, what features C# will add in the next version, or what terminology you use to refer to the { character. We, as developers, don't know what the next big language is going to be, or what features the next version will have until the creator(s) tell us, and it really doesn't matter that I call { the open-stache and you call it the open brace. Questions like these should be closed, and I think we can all agree on that.

However, I think we need to come to terms, as a community, with what is practical, answerable, and of some educational value. We also need to discuss the balance between the three of them. I think that all questions have to be answerable, but how does an individual (or even a subset) decide what is practical or of educational value to the community at large.


Practicality

For practicality, how do we define what is practical, and who has to consider it practical for it to be practical?

For example, I just pulled this decent question on MS SQL XML best practices from the home page. This is practical to people who are working with MSSQL and XML, but it's not practical to me in my job (I'm currently doing Java development with some MySQL database work here and there) nor in my professional interests (I'm interested in the softer topics of software engineering). Should I vote to close it because it's not practical to me? No, because it's practical to a reasonable subset of software developers out there (meaning it's not localized to a particular geographic area, period in time, or individual).

Just take a look at my profile to see what I'm referring to:

My professional interests include software project management, software engineering process models and methodologies, software measurements and metrics, empirical software engineering, leadership, and professionalism in software engineering.

There are entire academic disciplines and research areas devoted to these, and the four are specific to software engineering. Questions and answers on these topics are practical, to me. But also, practicality is different depending on context. For example, empirical software engineering isn't necessarily practiced across industry, but it has led to insights into techniques and tools used to develop software better. For something to be practical, does it have to be practical to someone in an office doing work that eventually leads to delivered software, or can it be practical and useful to a researcher or academic who is looking to make the professional lives of those people delivering software easier or better?


Answerability

What is the minimum level of certainty and/or reliability for a question to be considered answerable?

I think we can all agree that questions must be answerable in some way. There are clearly unanswerable questions (especially those asking to predict the future, or career planning advice that's incredibly localized to a person's current state), but there are also questions that we can draw on experiences and outside knowledge to answer. Going back to this licensure question, I think we can consider Steve McConnell (among others) an expert and cite his work, and we can look at other professions that require licensure and look at what happened there to draw conclusions.

The issue is that there is no answer: we don't have time machines and we don't have crystal balls. Any "answer" provided is a guess: an educated guess perhaps, but still a guess. There's no criteria by which to gauge the answers in a meaningful manner: who had the best theory? Who wrote the most? Who cares? - Mark Trapp

I don't entirely agree with that. If I have a question, chances are, I don't know everything that's been written or how answerable the question is. I might have read a book or a blog post or talked to a co-worker about something. I think that the ability to present an expert's theory (which, if you can substantiate it, might be your own theory) in response to a question is perfectly acceptable, as long as you provide a summary or short quotation and a citation so that the original source can be found.

If you need a time machine or crystal ball to answer the question, that means that the question should be closed. However, if you can provide well-educated guesses based on experiences, knowledge, and reputable sources, that's perfectly acceptable, in my opinion.

From Good Subjective, Bad Subjective:

In fact, most academic fields don’t have objective answers. Topics like economics, engineering, the arts, literature, and social sciences don’t exactly have correct and incorrect answers. There is a growing list of proposals about increasingly subjective topics, and we believe many of them are going to make great Stack Exchange sites!


Educational Value

How do we measure how educational a question (and its answers) is?

I'm not sure about other people, but I had to learn about software engineering professionalism and ethics as part of my undergraduate curriculum. In fact, we had a discussion about licensure and/or certification and their value. I think specific, pointed questions about industry trends are good questions to learn from, especially for people who have 30+ years left to spend in it. The opportunity to stay current on topics I learned about 4-5 years ago is valuable to me, and clearly adds educational value. At least 5 people (4 + the author) appeared to learn something from my answer to the licensure question, too.


Questions

  • How do we define what is practical, and who has to consider it practical for it to be practical? For something to be practical, does it have to be practical to someone in an office doing work that eventually leads to or otherwise supports delivered software? Or can it be practical and useful to a researcher or academic who is looking to make the professional lives of those people delivering software easier or better?

  • If on-topic (as per the list of topics in the FAQ) questions that are answerable with either facts, reputable sources, or personal experiences, yet are not about a specific problem that someone is having right now aren't allowed here, where should they go? There are many good questions in this realm that are suitable for a Stack Exchange community (suitable meaning they aren't discussions or debates). Should another Stack Exchange be made, further dividing the software development community? Or can we improve guidance as to making it easier to define what is or isn't a good question?

  • What is the minimum level of certainty and/or reliability for a question to be considered answerable? How do we measure this? How is a diamond moderator or 5 users who aren't knowledgable in a given topic able to assertain the answerability of a question?

  • How do we measure how educational a question (and its answers) is?

  • Can we apply the Back-It-Up policy as defined in Good Subjective, Bad Subjective to allow more good (non-debate, non-discussion) questions that have answers?


EDIT: @Thomas Owens made several great points in this post. Now that @Mark Trapp is gone, we might want to reevaluate some of his unilateral closures. If I see any, I'll bring them up on Meta.

0

2 Answers 2

8

The issue is that there is no answer: we don't have time machines and we don't have crystal balls. Any "answer" provided is a guess: an educated guess perhaps, but still a guess. There's no criteria by which to gauge the answers in a meaningful manner: who had the best theory? Who wrote the most? Who cares?

Stack Exchange is not the place to opine about a topic. If you're looking for that type of place, where you can poll fellow programmers to see what they think about some hot or future topic, you will be consistently disappointed. I would suggest looking into Hacker News or /r/Programming or any number of programming forums out there.

Now, if you have a question that you're actually facing, then that's fine: ask about that. The question you linked is not that. It states X is what Y other profession does and asks what would happen if X happened in software engineering. What's the practical problem being faced? What real-world experience related to software development can be provided to answer such a hypothetical?

And consider it from a practical perspective: if you have an actual problem you're facing right now that you need someone to help you with, do you really want to see your question pushed down the front page by people dreaming up hypothetical scenarios to poll the audience about?


In response to your new questions:

How do we define what is practical, and who has to consider it practical for it to be practical? For something to be practical, does it have to be practical to someone in an office doing work that eventually leads to or otherwise supports delivered software? Or can it be practical and useful to a researcher or academic who is looking to make the professional lives of those people delivering software easier or better?

I think it's pretty straightforward: is the question asking about a problem the asker is actually facing right now? If so, it's a practical question that deserves further consideration. If not, it either needs to be revised to ask about a problem the asker is actually facing or it'll be closed.

If on-topic (as per the list of topics in the FAQ) questions that are answerable with either facts, reputable sources, or personal experiences, yet are not about a specific problem that someone is having right now aren't allowed here, where should they go? There are many good questions in this realm that are suitable for a Stack Exchange community (suitable meaning they aren't discussions or debates). Should another Stack Exchange be made, further dividing the software development community? Or can we improve guidance as to making it easier to define what is or isn't a good question?

When we talk about constructiveness, it's not a Programmers.SE-only policy: it's network-wide. Programmers was originally created to be the less-strict version of Stack Overflow and it sucked hard. That's when it was figured out there's a standard level of questions, objective or not, every Stack Exchange site needs to have in order to thrive. There really is no room for a less-strict version of another site.

As an alternative to Stack Exchange, I would suggest Quora, Reddit's Programming subreditt, or Hacker News.

What is the minimum level of certainty and/or reliability for a question to be considered answerable? How do we measure this? How is a diamond moderator or 5 users who aren't knowledgable in a given topic able to assertain the answerability of a question?

It's not really about whether someone knows the answer or knows whether there is an answer, and the "only ask about problems you actually face" guidance covers this pretty well: you don't need to know if your question is answerable, but you need to ask about something you're actually facing right now.

In cases where the FAQ is unclear and a person asks a borderline question, it's entirely up to the answers to demonstrate the question's value and community moderation to revise the question into a workable form.

But to reiterate, in this specific case, it's not borderline: it's spelled out pretty clearly in the FAQ. The question also received 6 downvotes and 2 flags for closure, which to me indicates the community agrees prima facie this question is not a good fit for this site.

But when a question is closed, there's still opportunity to get the question into shape. And that includes this question: if it actually asked about a real problem instead of a hypothetical scenario, I'd be the first one to reopen it.

Can we apply the Back-It-Up policy as defined in Good Subjective, Bad Subjective to allow more good (non-debate, non-discussion) questions that have answers?

We do: I touched on it above, but when a question is borderline, whether it's receiving absolutely stellar answers that are backed up by facts and experiences is what determines if it's able to be saved. But again, in this specific case, this question is not borderline: it's hypothetical speculation.

22
  • 1
    I disagree 100%. It's not always about solving a problem, but asking questions and sharing knowledge and experiences, especially on a site that's supposed to be dealing with subjective and "whiteboard" questions from software developers. If there's a question that's on-topic, within scope, follows the guidelines for subjective questions, and is answerable with reputable references and personal experiences, it shouldn't be closed, per Good Subjective, Bad Subjective. SE sites are, first and foremost, about learning and knowledge sharing, so let us ask these good questions.
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 17:07
  • 2
    @Thomas The issue is that it doesn't follow the guidelines for subjective questions nor is a hypothetical—by definition a scenario that doesn't actually exist—answerable with personal experiences. As the FAQ says, "You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page."
    – user8
    Commented Sep 16, 2011 at 17:10
  • 1
    The question most certainly does follow the guidelines for subjective questions (in fact, I scored it a perfect 6/6 on the guidelines!), and hypotheticals can be answered by citing academic research and similar situations that can be related.
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 17:15
  • 4
    @Thomas Look at What questions should I not ask here?: beyond what I quoted, the guidelines explicitly prohibit hypotheticals as being not constructive. "Good Subjective, Bad Subjective" states that "great subjective questions invite sharing experiences over opinions...It’s more useful to share with us what you’ve done than what you think." Not sure where the disconnect is coming from here.
    – user8
    Commented Sep 16, 2011 at 17:21
  • 2
    Hypotheticals are constructive, when worded properly. I'm editing my question now to clearly demonstrate how the linked question scored a 6/6 on good subjective questions.
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 17:29
  • 2
    @Thomas Hypotheticals may be good questions, but that doesn't mean they are good questions as Stack Exchange defines them. They're great discussion starters, but I do not believe they fit into a Q&A model.
    – Adam Lear StaffMod
    Commented Sep 16, 2011 at 19:00
  • 1
    I just totally nuked the question, given this post, to make my stances more clear. I'm not sure this answer makes sense anymore. My new stance is that this isn't a hypothetical (hypotheticals are indeed poor questions for a Stack Exchange), but rather a different kind of practicability and answerability. (/cc @Anna)
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 19:14
  • 1
    Maybe I should generalize this and bring it to Meta.SO, because the definition of practical needs to be clarified. Given thefreedictionary.com/practical, what definition of practical is used right now? I assert that it should be "of or concerned with ordinary affairs, work, etc."
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 19:40
  • 2
    @Thomas I can migrate this to MSO if you'd like, but I'm still not understanding why "problems you actually face" doesn't sufficiently describe what "practical" means in the context of asking a question on Stack Exchange.
    – user8
    Commented Sep 16, 2011 at 19:54
  • 1
    Practical depends on your point of view. A software process engineer who is designing a new organizational process that implements Scrum inside of a CMMI Level 5 organization, a software developer who has to work within this process, and someone researching process methodologies all have a different definition of "practical". See my next comment for how each of the three people might phrase what is essentially the same question.
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 20:08
  • 2
    @Thomas I think you're unnecessarily complicating this. The point of view is already defined: in the same breath as saying "practical questions", the guidance specifically defines what that means "...that you actually face." It's not nebulous: it's clearly defined for Stack Exchange. You may disagree with that definition, but how the word "practical" is defined, however one defines it, isn't what the entire constructive guidance is based on: it's a stand-in for the guidance that immediately follows its usage.
    – user8
    Commented Sep 16, 2011 at 20:12
  • This is very contrived, but...Process Engineer: "What is the best method of planning project resources to meet CMMI requirements when using Scrum?" Developer/ScrumMaster: "I've been asked to product a plan for accounting for required project resources to meet CMMI requirements. How can I do this best within the Scrum framework?" Researcher: "Are there certain aspects of Scrum and CMMI which are at odds? How can you best mitigate these to maintain a CMMI raiting while functioning within the Scrum framework?" Only one is facing a problem. The other two are trying to forsee and avoid problems.
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 20:15
  • 1
    @Thomas If those questions actually went into the reasons for asking them, they'd be perfectly fine. They are not analogous to the questions you've highlighted in your question, which are missing that component. Why is providing an actual problem you're facing to give context to the question like pulling teeth? What is so onerous about explaining your actual problem?
    – user8
    Commented Sep 16, 2011 at 20:18
  • @Mark So if I edited those questions to keep the idea and not invalidate any answers, but provide a reason, they could be reopened?
    – Thomas Owens Mod
    Commented Sep 16, 2011 at 20:23
  • 1
    @Thomas Fair enough: the mistakenly migrated version of this question on MSO was deleted, so feel free to ask a new question there.
    – user8
    Commented Sep 16, 2011 at 21:49
1

Can we replace XML with JSON entirely?

This might be reopenable if it is refocused on XML Namespaces (or something else a bit more specific) and stops being so ridiculously open-ended. As currently stated, it is correctly closed IMO. It is very much Gorilla vs. Shark.

Would licensing software engineers increase skill and salary levels?

This seems slightly more defensible; if Mark's concern is that this is too hypothetical (and note it has 6 downvotes) then perhaps it should be rephrased as something like

When I apply for jobs I have to compete with too many other software engineers who have little or no skill and dilute the candidate pool. I feel it devalues our profession and ultimately pushes down the salary levels for all practicing software engineers.

I feel my career, and that of other skilled software engineers, would benefit if less unskilled software engineers were prevented from entering the field until they passed a standard set of tests to become "licensed", like the medicine and law professions...

Not an exact edit, but you get the idea: the actual problem is that your profession is being harmed and your salary is being harmed. I do think it's a good topic for the site.

I'll go ahead and finish this edit and make it so...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .