Content
When you start a task, you need to justify it. You must convince the developer that:
- this is really a bug;
- it must be corrected;
- it needs to be corrected exactly as we said.
And sometimes you read bugs (especially newbie bugs) and ask yourself a question:
- Why is this a bug ??
')
For example, it says: âDownload the report, we get 57.6. And it should be - 57.9 ".

If you write a rationale, this will solve the problem:
- Colleagues distract with the questions "And why is this a bug?", Pulling out of context.
- A month later, you yourself forgot, but, actually, why it was a bug ...
See also:
Why do you need a justification in the bug - in more detail about why justification in general.Hundreds of novice testers (students) passed through me. That's just on their tasks, I began to wonder: âWhy is this a bug?â ... You ask the guys, and in return you get, âYes, this is obvious!â. Well, somehow not very =))
Through a bunch of tasks and âwhy?â Questions, response patterns began to emerge. I identified good and bad patterns. I want to tell about them.
This article is for:
- Beginner testers - learn how to correctly explain your point of view;
- test managers - to give a link to their Padawans and then refer to antipatterns without further explanation.
1. Antipatterns: poor rationale

1.1. Obviously
Why don't testers write a justification in a bug? Yes, because they think it is obvious. And they project their thoughts onto everyone. It is obvious to me = everyone knows why to write something?
But in reality this is not so, because every person is in some kind of context. And what is obvious to you is not at all a fact that it is obvious to someone else.
Let's look at simple examples. Read the word that I will write below â what did you think when you read it? What associations come to mind?
CASTLE
A door lock or a huge stone fortress?
MARRIAGE
Wedding or broken iPhone?
...
Yes, they are homonyms. But they very clearly show the problem "it's obvious." It is obvious to you that the castle is a lock, and to me that it is a castle.
And if you are writing in a bug:
Result
57.6
Expected Result
Obviously, there should be 57.9
That it does not answer my question at all "WHY?" What does "obvious" mean? Explain to me, please. It is not obvious to me, otherwise I would not ask again. But the author is obvious and he thinks that all too.

If we talk about the experience of beginners, then one of my students formulated this idea best of all:
âI didnât understand why to justify bugs at all until I read the bugs of other studentsâ
It can be a very long time to say that âobviouslyâ is different for everyone and I am not in your context, and much more ... But the author of the task will consider that they are simply finding fault with him, itâs not clear to the others, but he is fine!
And just reading other people's bugs, you start to think, âHmmm, why does he think so? I've thought differently. â It is then that the understanding comes that your "obviously" is obviously not for everyone.
Once I went to the bug tracker and saw such a bug from a student: âWe enter the name Sharipat, it is defined as male. But it should be like a woman's! â Why should both feminine? I look at this name - well, Sharipat and Sharipat look like a man's. I'm asking:
- Why do you say that? Why female?
- Yes, because my wife is so called!
And now this at least explains to me why he started the task. When we test applications, we first try simple data, familiar things to us. We try our name, the name of the wife, brother, sister ...
He tried to enter the name of his wife and found a bug. And if he even wrote in the expected result: âThe gender is female, this is a female name - my wife's name is that,â then at least the question âWhy did you start this task at all?â Would disappear from me.
Of course, such a justification is not enough. Googling "unusual names", because itâs not even forbidden to name your son's Bedside Table, but is it worth considering this word as a correct male name?
So what do you need to google, what are the names at all, localize the problem - the problem with Russian names? Kazakh? Ukrainian? Should the system be able to handle them? And so on. Maybe not a bug at all ...
And yet âmy wifeâs name is soâ at least allows the author to introduce us into his context and explains why he decided to start a task at all.
And remember - the evidence may be dictated by the context. You have now carefully studied the large module of the system, you know everything thoroughly. Therefore, it is completely obvious to you that "this chip should work HERE SO." But if you return to the task in a month or two, you will already be working on another module, and remembering exactly why this will be more difficult.
Even the dumbest pencil is sharper than the sharpest memory of the Internet.
When you start a bug, and the expected result seems obvious to you, stop and think: âWhy do I think so?â. And write down the answer to this question.
1.2. Mom, I swear!
When a student realizes that he doesnât write anything at all, âbecause itâs obvious,â he doesnât go off, he goes on to the next stage of anger, denial, and justification of the bugs, which is called âI swear to my mom!â without explaining why.

That is, the rationale looks like this:
Result
57.6
Expected Result
57.9, because that's right
But such a justification again does not answer my question âBut why?â. Why did you decide that so right? I'm still not a wang or a telepath, and I don't know why you think this is right.
In fact, this is not much different from the situation "did not write anything at all, because it is obvious." Therefore, I call this the second stage - it is precisely in this scenario that events usually develop, first âobviouslyâ, then âyes, thatâs just rightâ. Let's look at an example from the life of students:
Peter and the Indians
Our system is able to incline names by cases. The student checks the name of Peter. Do you know how it bends? In the nominative case, it is written through the letter E, and in all others - through E. âPeter, but Peterâ.
And here I go to the bug tracker and read such a bug: âPeter leans over the cases through the letter , but must through eâ.
I'm asking:
- Why do you think so?
- Well, obviously, that through E is necessary (the first stage)
âWhy do you think this is obvious?â
- But this is according to the rules of the Russian language!
- What are the rules?
- Well, should I run and google the rules of the Russian language? (second stage - right, believe me)
- YES! Yes, that's exactly what you should do. Because it will be a justification of the bug. Because maybe your developer is a Hindu, and you are also a Hindu. And you do not know the rules of the Russian language! So give them a link, and all questions will disappear immediately.

Of course, there is no need to go to extremes and give links to dictionaries when you put a bug on a typo or a missing comma. And yet âPeterâ is a non-trivial example, because this is an exception to the rules. It always works that way, but for Peter, itâs different.
Therefore, the link here is not out of place. Especially if the developer asked "Is it really so right?". You can blame him for stupidity and illiteracy and spoil the relationship. And you can give a link, gently confirming his point of view.
But ok, let's take another example, not about the rules of the Russian language, which are âso obviousâ.
Email.rf
My students like to start this task very much (almost every stream is made out of it):
- I'm trying to register with email.rf and I can not. This is a bug!
- Why?
- How is it why? We live in Russia, everyone has such emails!
I told this case at the DUMP conference, and I had a full audience. I asked to raise the hands of those who have such an email. Of 200 people, three people raised their hands.
The fact that we live in Russia does not mean that everyone has such emails. Well, yes, yes ... And also tame bears and nesting dolls ...
There is no causal link, itâs just hard to give up your idea. After all, I found a bug! How can this not be a bug ?? So cool. Russia is obviously the same! No, not obvious? Well, anyway, Russia, there are a lot of such people.
Such a justification is more like âI am too lazy to google and search for facts. Believe on the word. When we do not have the facts and evidence, there is a desire to disguise their rationale and write "Probably, perhaps, for sure ...".

But these are STOP-words! If you have a desire to write them - it means that you do not have real facts. So you are just thinking out. And why do you need to do a task based on the fantasy of the tester? Prove your theory!
And if there are no facts? Then the task is not even worth starting. Yes, it is difficult to abandon "his, native" bug. But this, too, must be able to.
Email.rf - facts
What could there be facts?
Firstly, we can make our site for some state customers who are obliged to register in domain.rf. Corporate standard, they have no way out.
Or we really have a lot of such customers, statistics show that. For example, in the logs a lot of errors are âtrying to register through such a domainâ. And perhaps, then it is worth making this feature. In order not to lose potential customers.
Based on such facts, the RM (Project Manager) decides whether we will do the task or not. And if so, when. Or maybe say, âWell, there are mistakes, and okay, there are less than 1% of total registrations, we will not doâ
Instead of the abstract âyes, there are such people for sure!â Cite FACTS.
And when setting the task, use principle 5 why. When writing down the expected result, ask yourself "Why am I expecting this?" The first answer will be âIt's obvious,â but again ask the question âWhy?â. And if you notice that there is no data, you just think so - look for the facts or discuss the situation with your colleagues.
1.3. Bunnies offended
If there are no facts, and I donât want to give up the bug, students move on to the next stage of anger, denial and justification of bugs ... Pressure on emotions:
I'm trying to register with the name Cthulhu, but the system does not. Must give, but otherwise ... I was offended and left, and YOU! Lost customer!
And surely everyone is the same as me, so you lost ALL clients, and they also filed a lawsuit for an insult and took all the money!
And other cars ...

Of course, when I personally donât like something, ignoring my problem is very angry. What does it mean âNormal people don't register with that name?â Am I crazy? As I want, I call it, how can you forbid me something ?!
And then the projection turns on - if I do not like it, then other users will not like it! If not all, then at least many. Therefore, this is definitely a bug and must be fixed. Well, or at least credited within the framework of training, if we are talking about students.
However, an offended user is the worst rationale that can be. Because they can justify any nonsense:
- On the main there is no cat? All right! I was offended and GONE! AND YOU! Lost customer !!
- Iâm not a member and I didnât get paid for it ?? I was offended and left ... AND YOU! Well, you understand!
Anything can happen and hurt me. The button is green, and I wanted to red, the system did not offer me a pizza as a gift ... I, as a user, can be offended by anything. But who cares? All the same you will not please, insults are inevitable. And so be conducted on threats in general, the last thing.
It all started with one of the students, who said this intimate phrase:
- Oh, you do not want to register through the domain of the Russian Federation? And I, as a user, tried to register, saw this blatant situation, and DID! AND YOU! Lost customer!
Then my friend said that such speeches are very similar to âBunnies are offended.â I do not know where she took this analogy from, but everyone liked it.
The student realized that he got excited. Went to look for the rationale without emotion. And we got the name antipattern.

Remember one simple rule -
there should be no emotions in the bug!Emotions are a passing phenomenon. You are now blazing with righteous anger and want to express it in snide comments like "only an idiot could write code like that." But remember any situation when a child is capricious next to you, making your mother hysterical about a toy that has not been bought or an ice cream. Do you, as a bystander, enjoy watching this scene? But your hysteria in the bug tracker looks exactly the same!
Therefore, if you really really want to - make it all verbally. Discuss the task in the smoking room with the developer, vehemently defending your position. But as soon as we reach the computer, we remove emotions, we write only facts. Without âif yes ifâ and without âbut YOU! Lost a customer! â
Remember that the tasks are returned after a year or two or three. And even then you will be disgusted to look at your own tantrum. The past emotions are no longer there, this is what looks funny. So the emotions are maximum verbally - in the smoking room! And in a bug somehow without them.

And in the justification we do not write about mega-offended bunnies. Sometimes this sort of upholding of a task is ridiculous:
The student found a typo in the user's offer. Put a bug with critical priority. On the request to clarify the priority was very indignant:
- The system deceived me, I can not trust her !!!
Probably he was worried that the question would result in âthis is not a bug at allâ, so he began to defend his bug. But no one is against it, that is a bug. But why criticized something? Who reads the offer at all?
- I am reading! Therefore, I see that the system is bad, if there is a typo, then what can it do? And how to believe her now ?!
But "I read" â "everyone reads." And then the student himself admitted that he did not read carefully EVERY licensing agreement, which is slipped to us when installing programs. So with the offer the same story. So far so good, it is not read. If something is not pleasant, already address to rules.
However, âthe system has deceived me and I cannot believe it nowâ because of one typo on the tenth page of the text that few people read ... Well ... Do not write this in a bug, do not make your PM laugh.
So, we remove the emotions from the bug. And what can we leave there? Of course, the facts!
Instead of writing on emotions, âbunnies will definitely be offended, leave, and you will lose customersâ:
- collect statistics;
- Evaluate labor costs;
- calculate ROI;
- poll users;
- compare product with competitors;
And instead of hysterical proteins, you will become a cool tester who gets thought-out bugs!
2. Good reasoning patterns

How to justify the bugs correctly? What do you need to write in the expected result so that your bug is fixed the way you wrote? And they didnât ask again 10 times âwhy exactly that wayâ?
Above we discussed three anti-patterns, let's discuss three good patterns of justification of bugs.
2.1. Pruflink
It may be:
- Link to requirements
- Requirements (a Word file, a predashka ...)
- Link to the Internet
- Calculated ROI
- Customer's letter
- Statistics
Link to requirementsThe easiest bug is when there is a TZ and the system does not work as described there.
So we write in the expected result: "57.9, because it is in the TK." Um, um ... Wait a minute. It sounds like âI swear momâ ...
Yes, in such a formulation it sounds like that. Therefore, confirm your words with a link. Otherwise, the developer reads the bug, and he needs to:
- to realize what kind of TZ in question;
- find the TK itself;
- find the specific location in question;
- get a grasp ...
Is not it easier to leave only the last item? After all, the developer can work on 10 different projects, the documentation of which is distributed in 10 different places. His search for TK will take about 5-10 minutes, and adding a link for you is a matter of a second. After all, you are testing now for TK, which means that it is open and in front of your eyes. Copy the link and paste!
Respect the time of colleagues, and they will be grateful to you.
Requirements themselvesIf the requirements are not stored in the confluence or another cloud system, but in a normal Word, attach the document you are testing with.

It is possible that you are testing outdated requirements. And if you attach a straight Word-file you are checking with, the analyst can see it and say, âOh, wait, we changed everything 10 times, forgot to upload it. Take this!"
If you do not do this, then you will spend three hours disassembling with the developer, who will say âIâm different with me!â. You will run, watch his requirements, then yours, then look for an analyst, to clarify who is right ...
And so you immediately invested the requirements, the developer looked said, âsomething kind of garbage,â redirected the analyst. The analyst wrote them, and he, opening your Word, will immediately understand whether it is outdated or not. That's saving time!
Link to the InternetAs we remember, requirements are far from always. And instead of them maybe ... Link to the Internet! Yeah why not?
If we recall our example of âPeter, Peterâ, then even if we have requirements in the system, it is unlikely that it says âThe system works according to the rules of the Russian languageâ and lists all the rules of the Russian language. Of course, nobody writes like that. And it still turns out, if you want to refer to the rules of the Russian language, you will have to go and google them.
Or if you take an example from Sharipat. Again, where did you get the idea that this is a normal female name? We go google all sorts of Kazakh and other names, we find Sharipat, we find other similar names and give a reference to this page.
And here already, even if the developer does not agree with you, he can come and say - "Look, you gave a link to the site, but this is some kind of yellow press, they always write garbage." But if you donât give the link, the developer will have to google himself, search for any websites himself, and only then he will understand that you may have attacked some false information. Save him time, give immediately a link to the Internet.

Yes, here you need to understand that not every link is useful and justified, but at least it will show why you think that this is really a bug. This is no longer âI swear by my motherâ, but with a justification!
Customer's letterThe rationale may be sending a letter to the customer. We even have a separate field in Jir, âBusiness justificationâ, where we write down which customer requested this feature. And then, when we read our bug, we immediately see:
- Yeah, the business case is empty. This means that we ourselves have found this problem and believe that it should be corrected.
Or:
- Yeah, so the customer complained about the problem on August 1, 2015
And if we need to clarify with this Customer what exactly does not suit him, then we can easily find this letter, because we have all the information (who, when, the name of the letter). Knowing this info, I will go and find the letter in 5 seconds in my outluk. If this information is not there, then I will have to go to Outluk and search among 10 different daddies - which customer requested it and in which letter?
Moreover, if we see that this feature was requested by several different customers, then its priority immediately rises. Since we understand:
- Yeah, customer 1 complained then, in a couple of weeks / months the customer complained to another. Hmmm, but surely there are a bunch of other customers who also suffer, but are silent. Cry, inject, but continue to eat the cactus. After all, not everyone will write to us and report a problem ...

So the more complaints, the higher the priority. Since we understand that this is a real user complained, they really have such problems. And even if we return to the bug after six months or a year, thanks to the attached letter or at least a link to it, you can always raise the history of the task.
ROIWe can try to calculate ROI - payback ratio. Do we really need to make this feature or fix this bug? Will this have the proper effect?
One thing is to make a minor edit for half an hour of development, which will help hundreds of users. It is completely different - because of the hysteria of one user, two weeks to redo the work of the system, which suits everyone else.
If we calculate ROI and see that the game is worth the candle, we put the calculations into the task. But sometimes, after calculations, it turns out that the task is not needed. And this is normal! So we saved the team time to discuss an unnecessary feature.
That is why we think over the justification - because sometimes it seems âOh, what a bug, what a bug!â
For example, we come to work with a mobile application, and there is a debug panel for testers, which looks like this:

Whoa whoa! There is a blue one, there is a red one, the text is not completely visible, the fonts are scattered ... An obvious bug! How did they not notice me? I urgently make out, I need refactoring!
How to justify? âWhat are you, if a user SUCH sees, then he will be offended immediately and leave.â Stop. Turn on the brain. This is a debag panel. It is for testers and developers, assistant in testing [2]. The user will NEVER see her. And if he sees, then THIS will already be a bug, and a critical one!
And the guidance of beauty ... But who needs it, is this beauty? New functionality is added there urgently and quickly. The tester comes, complains about the problem, the developer writes code on his lap. Works? Do not touch!
Nothing will happen to the testerâs sense of beauty, let him look for such bugs in other places. Because the refactoring of this panel can take a week of development. And it is very expensive. And for what? For the sake of beauty? Oh, its nafig, it is better to make the functionality for which the client will pay.
So they calculated the labor costs and realized that we already live so well, we should not change anything!
StatisticsCollect statistics and invest in the task:
- the number of errors in the logs;
- the number of complaints in technical support;
- the number of clicks on the button;
- the number of users who left at the stage of placing an order (closed the tab);
- ...
That is, if you think that the typical order form in the online store is âbadâ and it needs to be improved - justify it. What exactly is it bad? The fact that to enter the address you need to know your index and fill in 10 required fields? Is it really bad or annoying only for you?
Consider that developers may not see the âobviousâ in their software. After all, they developed it, tested it ... They see it constantly 100 times a day, they are already used to the interface. So even if itâs really outdated, facts are needed.
And the facts are easy to gather - please make statistics to see when the user leaves the page. And if he added pizza to the basket, and then started filling the fields and after 5-7 he spat and left, this is not very cool. And if every third person acts in this way - it is definitely worth improving something!
If you remember about email.rf, then you can look at the logs - and if there are any errors like âAttempt to register on such email is rejectedâ? Maybe they donât exist at all, and weâve already come up with a bunch of offended users, because of which the site has literally lost millions.
Why statistics are better than emotions? Yes, because we, IT professionals, and ordinary users are two different worlds. What is convenient for us is uncomfortable for them. And vice versa.

Suppose we do accounting software. It seems to us: âFu, nobody works with the mouse, itâs necessary to make everything work from the command line, so that you donât have to touch the mouse at all!â. We spend a lot of time on this functionality, but real users do not use it at all. Because they need a mouse to pick up a big button ... And what is convenient for programmers, theyâre generally up to the bulb as itâs convenient for something completely different.
And if you want to tell everyone what users need, first learn usability testing, and then say whether the hare will be offended or not.
In our system, we collect anonymous statistics on what functionality is used and what is not. There are a lot of filters on the web form that are hard to maintain. Do they need them? You can not just take and remove, it is worth checking out.
So statistics are usually very surprising. We thought that this filter was not used at all, but in fact it was working every hour. And on the other they pinned high hopes, and nobody needs him ...
Only statistics honestly tell you about the existence of the problem. If there are no statistics, it will be just tastes. And everyone has different tastes. The tester wants the red button, the developer wants the green one, and the designer wants the blue one. So look for the facts and give them a proof link!

2.2. Uniformity
If there is no pruflinka, we can refer to the uniformity of the system. Because if the system always works like that, and then suddenly it works differently - it could well be a justification for the bug.
For example, if our system works as a puntoswitcher (this is when I type in Russian, forgetting to switch the layout, and the system switches it itself). I can type âOlgaâ, and I can âJkmufâ, the system will turn the second option into the first one.This happens on all sorts of state applications. They sometimes work on the same principle themselves. You must register clearly as in your passport. Since we live in Russia - registration is in Russian, so the English letters will be corrected. You obviously forgot to change the layout, man!Jkmuf â Olga
Okay, but what if I try to type the name "Julia"? It begins with the letter U, and this letter does not correspond to the letter of the Russian alphabet, but a special character:> â Yu
And this is a completely different equivalence class!That is, if we understand that the system works as a puntoswitcher, we have at least 2 equivalence classes: there are Russian letters that correspond to Latin letters, and there are those that correspond to a special character.These are completely different classes, they need to be checked! And perhaps, when we print a special character, the system does not recognize it. And then we start a bug - I type the symbol>, I expect that the system will translate it into the letter Y, but nothing happens. Why do I expect it? Because the system ALREADY works that way, because if I enter Jkmuf, the system will understand that this is Olga.We show that the system already works that way, and this is already a good rationale. We do not say âI swear to my mother, she works like this,â we prove it on Olga.
2.3. The problem, or # life is pain
Tell us about some real problem user.Because we are testers. Our task is to destroy and break, enter âWar and Peaceâ in a short field, edit one entry in two browser tabs, and so on. And even if something is not working with us, this does not mean that the user will do the same.And sometimes bugs are not fixed simply because âyes, no one does that!â. And that's fine.
Why waste energy and resources on a problem that never arises?This is especially true of problems with usability. As we remember, what is convenient for an IT person is inconvenient for a simple user. And vice versa! And it turns out that if we just write âWell, this is inconvenient ...â - this is a bad rationale, you never know what is uncomfortable for you, the rest is satisfied. But if we collect feedback from users, we attach their letters in which they complain to us, then this immediately indicates that such a problem really exists. And it already raises its priority.The problem of a real customer is always better than just some kind of negative test from a tester.
This does not mean that testers never fix problems. If you have a problem, too, complain! Maybe the developer can help you in just 5 minutes, he just does not know the situation.Testing a new feature, I cover it with autotests. The test framework has been around for a long time, we are used to it. Tests are similar to each other, so copy-paste - after all, we usually change one parameter of some kind, leaving the rest unchanged. This is the â1 test = 1 testâ principle, so that the drop in the test immediately indicates the cause.
And here I need from autotest to autotest copy-paste parameters. And I have to dig them out from the first test to the second, to the third, to the fourth, to the fifth, to the tenth ... And in this copy-paste I need to change only 1 value in one line, and if I donât do it, everything will fall apart from the terrible by mistake.
, , - ⌠30 , , NPE. , , .
, , ⌠, . :
â , , . !
:
â , .
, ?!!!

Complain, do not be afraid! Maybe you are suffering, but the developer does not even know about it. And maybe he can quickly fix your problem, here and now. Or maybe not fix it, but suggest a workaround.Of course, if the problem is one-time, or itâs too long to fix it now, the optimization task will go to the next release or further. But it is worth at least discuss "how this can be improved" and set the task. After all, if there is no task, no one will do anything.There are different cases of problems:- customer problem;- the problem of a real user;- the problem of the tester;- a problem within the team;Some are more priority, others less. And yet, if we describe a real case and a real problem, then such a task has more chances for correction than âobviously, it will be better for everyoneâ.Yes, you need to understand that even if we describe how real users feel badly, this still does not guarantee that we will fix the bug, but such is life. In any case, if we at least describe the problem, it will be at least understandable why we have set this task at all. Even if we return to him in a month, two or three. We will always see why we thought that users feel bad and uncomfortable working with it.3. When justification is not needed
Suddenly, isn't it? =)
Nevertheless, the anti-pattern "obviously also" has exceptions. We really do NOT need to write a rationale if the system:- hung;
- dropped with an unhandled error;
Especially if it happened in production. If our site is lying, there is no justification, it is necessary to beat the gong and run to the developer âurgently fix it!â. You can do without a bug. And you can with a brief âError 500 on the main oneâ, that's enough.No need to suck the rationale of the finger, because "it is always necessary." To write "the system should not fall" - the text for the sake of the text.But!
You must write the expected result. Even if it seems obvious to you, write it down, it will not lose you.Steps
Open example.com site
Result
Error 500
Expected result
Main page opened
Everything seems to be simple here - the main one does not open, but should. But there are more difficult examples.For example, the developer made a formula from the TZ and somewhere there is a division by zero. If you just write âThere should be no errors, the report is loadedâ, the developer will still come to you with the question âHow should it open? There is a division by zero! âYou need to think it over and write âI expect that a report will open with such and such values ââaccording to formula XXXâ - as long as you think what it should be, you can discover the joint in TK. And then already ask the analyst how to.
So even if there is no justification, there is at least an expected result. And remember that this is an exception to the rule. The system should not fall and hang. However, such bugs are rare, and in other cases, the rationale should be.4. Results
We discussed 3 antipatterns. Three steps of anger, denial and justification of bugs:- Obviously - We are obviously not justified. And then we get âoh, I forgot why I wanted it soâ ... It is obvious only to you, only here and only now. In six months, youâll forget why. Explain how for the stupid that there is such an obvious.
- Mom swear so right! - Why swear? For some reason, you think that this is the right way, so tell me why. Give a link to the requirements, for example.
- Bunnies offended - "Oh, you did not add a cat to the main? All right!I was offended ... and GONE! And you! Lost a client !! â But what is inconvenient for you may be convenient to others. So remove the emotions and bring the facts.
Instead, they should use the correct justification:- â , , , ...
- â , -, !
- â , , ( ). , .
Be sure to write why we decided that this is really a bug and why we want to fix it exactly as we wrote here. We ask ourselves questions from the â5 whyâ series- why I think that this is obvious?- why do I think so right?- why I think users will be upset?We give links to requirements on the Internet, point out the uniformity, or talk about the real problem of the user.And when you reread the well-formed tasks a year later, you will still say âThank you!â To me ă