-5

According to my experience, there are two types of problems:

Two types of problems

  1. For some problems I have been able to use some quick/dirty workarounds. Users are happy. Since the outcome quality has been acceptable for them.
  2. For some problems, no matter what I did with quick/dirty workarounds, I couldn't reach an acceptable quality.

Am I right about my experience? If there is any software development topic about it and the above categorization is correct I want to know more about how I can detect upfront which category a problem belongs to.

2 Answers 2

6

The binary nature of your observation stems from your own binary opinion that a certain implementation is either acceptable or not. What you're noticing is that you observe things to be the way you already think about them.

There are so many arbitrary things in your graph. What is the threshold for acceptability? Why is it at that specific %? Why would it not move based on the importance of the feature at hand? Who is making the final judgment on the "acceptable" label? Why only them? If multiple parties, what if these parties disagree? What is 100% quality? Why is quality somehow flatout capped, rather than a logarithmic ROI? Why are you measuring quality, and not time, cost, maintainability, user acceptance, longevity, or a ratio of any of these?

Your observation, as noted by the graph, omits so very many details and nuances about development metrics that it renders the observation unusable by anyone who doesn't already see things exactly the way you do, rendering the exercise a bit moot.

2
  • Thanks :) So, is there any topic to study to learn more? Commented Sep 15, 2021 at 8:40
  • 5
    @user4838962: Your question is so broad that it is impossible to comprehensively answer it. Your question is the equivalent of "Some cars work acceptably, some cars don't, how do I know which is which", which inherently requires a complete explanation of the entire mechanics of a car. What you're asking is effectively requiring a complete explanation of post-junior software development practices, from the developer all the way to the project manager. That's wildly out of scope. Commented Sep 15, 2021 at 9:00
1

This is called "professional judgement". As the other commentor has said, everything about it depends on the exact situation and your personal knowledge of the situation.

There's an additional consideration which is that what's acceptable now might not be acceptable later. In the 1970s it was a good workaround for the cost of disk space and memory to use two digits for the year. As the date approached 2000 this tradeoff became less acceptable.

I'm not sure how one would study this directly other than a search for "software engineering tradeoffs". So much of this kind of professional knowledge is "oral culture" rather than formally written down. Or if it is written down it's scattered about a set of blog posts and usenet articles over the past few decades rather than concentrated in one place.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.