Lesson 1 / الدرس 1

What the ticket does not say / ما لا تقوله التذكرة

Almost every ticket is a solution somebody already picked, written down instead of the problem behind it. Finding the problem takes one question, and it is the difference between building the right thing and building exactly what was asked for.

كل تذكرة تقريبًا حلٌّ اختاره أحدهم أصلًا، مكتوبًا بدل المشكلة خلفه. والعثور على المشكلة يكلّف سؤالًا واحدًا، وهو الفرق بين بناء الشيء الصحيح وبناء ما طُلب بالضبط.

"Add a CSV export button to the bookings page." That is not a requirement, it is a design — somebody has already decided the answer is a button, on that page, producing that format. What they actually needed is somewhere behind it, and it might be met better by something else entirely.

One question, two different jobs

<h2>As written</h2>
<p><b>Add a CSV export button to the bookings page.</b></p>

<h2>After one question</h2>
<p><i>What do you do with the file once you have it?</i></p>
<p>"I open it in a spreadsheet every Monday and count how many
bookings each room had, so I know which rooms to discount."</p>

<h2>What was actually needed</h2>
<p>Bookings per room, for a date range, on a screen.</p>
<p>Which is a smaller job than an export, is useful on a phone,
and does not need anybody to open a spreadsheet at all.</p>
The question is always some form of "what will you do with it once you have it?" It is not a challenge and it does not need to sound like one — you are asking what happens next, which is the one thing the ticket almost never contains and the person asking always knows.

Four things a ticket is usually missing

MissingThe question that finds it
Who it is forWho is going to use this, and how often?
What happens nextWhat do you do with it once you have it?
How you will know it workedWhat would make you say this was worth doing?
What it does when things are oddWhat should it show when there are none? When there are ten thousand?

The last row catches the most bugs. Almost every ticket describes the case where everything is normal, and almost every defect found in review is one of the others — an empty list, a very long name, a date in the past, a person with no permission. Asking takes a minute and moves the discovery from after the build to before it.

Try it live / جرّب بنفسك

Preview / المعاينة

Check yourself / اختبر نفسك

1. Why is "add a CSV export button" not a requirement?

2. Which missing detail accounts for the most defects found in review?

3. You do not understand the ticket. What does building it anyway cost?

Your task / مهمتك

Take a real ticket — from work, from a project, or invent one you have been given before. Write it as it arrived, then write the four questions and your best guess at each answer, then write the one-sentence understanding you would send back before starting.

خذ تذكرة حقيقية — من عمل أو مشروع، أو اختلق واحدة أُعطيت لك من قبل. اكتبها كما وصلت، ثم اكتب الأسئلة الأربعة وأفضل تخمين لكل جواب، ثم اكتب جملة الفهم التي سترسلها قبل البدء.

  • The ticket exactly as it arrived, not tidied up التذكرة كما وصلت بالضبط، غير مرتّبة
  • The four questions, each with your best guess at the answer الأسئلة الأربعة، ولكلٍّ أفضل تخمين للجواب
  • One sentence of understanding you would send back before starting جملة فهم واحدة سترسلها قبل البدء
How do you want to submit? / كيف تريد التسليم؟