Files
vibe-coding-college-specs/chapters/04-idea-to-product/02-lesson-user-stories/spec.md

102 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# مشخصات درس‌نامه: داستان کاربر (User Stories)
- **شناسه در سیلابس:** `L4.3`
- **فصل:** فصل ۴: از ایده تا محصول (Ch 4)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۱۲ دقیقه
- **پیش‌نیازهای مستقیم:** `L4.2` (از ایده تا مسئله)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **درک کند (Understand):** داستان کاربر (User Story) چیست و چرا بیان نیازمندی‌ها از دیدگاه انسان، کیفیت درک هوش مصنوعی از پروژه را چند برابر می‌کند.
- [ ] **تحلیل/ارزیابی کند (Evaluate):** تفاوت میان «دستور فنی خشک» (مثل: یک جدول و سه اینپوت بساز) با «داستان کاربر هدفمند» (مثل: مدیر بتواند پروژه‌ها را به راحتی ویرایش کند تا اطلاعات بروز بماند) را تشخیص دهد.
- [ ] **به‌کار ببندد (Apply):** ساختار استاندارد سه‌بخشی داستان کاربر را بنویسد: **به عنوان [نقش کاربر]، می‌خواهم [اقدام و عمل] تا [ارزش و منفعت حاصل شود]**.
- [ ] **به‌کار ببندد (Apply):** داستان‌های کاربر پروژه محوری (پورتفولیوی پویا با ادمین و سئو) را در هر دو جبهه کاربر عمومی و مدیر پورتفولیو استخراج و دسته‌بندی کند.
- [ ] **به‌کار ببندد (Apply):** اصول استاندارد INVEST را برای بررسی کوچک و تست‌پذیر بودن داستان‌ها به کار گیرد.
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **داستان کاربر چیست و چرا در وایب کدینگ حیاتی است؟**
* هوش مصنوعی بدون فهم هدف کاربر، کدهایی بی‌روح و فاقد تجربه کاربری مناسب می‌سازد.
* وقتی شما «علت و ارزش» یک فیچر را برای ایجنت توضیح می‌دهید، او بهترین استایل، پیام‌های خطا، حالت‌های بارگذاری و منطق دیتابیس را برای رسیدن به آن ارزش انتخاب می‌کند.
2. **کالبدشکافی فرمول استاندارد داستان کاربر:**
* **«به عنوان یک [کاربر مشخص]...»** (As a...) $\rightarrow$ تعیین زاویه دید و سطح دسترسی.
* **«می‌خواهم [یک کار مشخص انجام دهم]...»** (I want to...) $\rightarrow$ توصیف رفتار و عمل مورد نظر.
* **«تا اینکه [یک ارزش ملموس به دست آورم]...»** (So that...) $\rightarrow$ بیان انگیزه و دلیل وجودی فیچر.
3. **معیارهای سنجش یک داستان کاربر عالی (چارچوب INVEST):**
* مستقل (Independent)، قابل مذاکره (Negotiable)، ارزشمند (Valuable)، قابل تخمین (Estimable)، کوچک (Small)، و تست‌پذیر (Testable).
4. **استخراج داستان‌های کاربر پروژه محوری (پورتفولیوی پویا):**
* **داستان‌های سمت بازدیدکننده (Visitor / Recruiter):**
* «به عنوان یک کارفرما/مدیر استخدام، می‌خواهم پروژه‌ها را بر اساس مهارت یا تکنولوژی (مثل React یا AI) فیلتر کنم تا سریعاً متوجه شوم آیا این متخصص به درد پروژه من می‌خورد یا خیر.»
* «به عنوان یک بازدیدکننده، می‌خواهم با کلیک روی یک پروژه، جزئیات و تصاویر و لینک زنده آن را ببینم تا کیفیت کار واقعی را لمس کنم.»
* **داستان‌های سمت صاحب پورتفولیو (Admin / Creator):**
* «به عنوان صاحب پورتفولیو، می‌خواهم با رمز عبور وارد پنل شوم تا فقط خودم دسترسی تغییر اطلاعات را داشته باشم.»
* «به عنوان صاحب پورتفولیو، می‌خواهم بدون دستکاری کدهای برنامه، یک پروژه جدید را همراه با کاور و توضیحات اضافه یا ویرایش کنم تا رزومه‌ام همیشه بروز باشد.»
* «به عنوان صاحب پورتفولیو، می‌خواهم تایتل و توضیحات سئو و تصویر اشتراک‌گذاری (OG Image) را از پنل تنظیم کنم تا وب‌سایتم در لینکدین و گوگل حرفه‌ای نمایش داده شود.»
5. **هم‌آفرینی داستان‌های کاربر با هوش مصنوعی:**
* پرامپت آماده برای گرفتن یک ایده و تبدیل آن به ۱۰ داستان کاربر مرتب‌شده با ساختار استاندارد.
6. **کال‌اوت‌های Quera:**
* `<details class="violet">`: مقایسه یک دستور خشک تکنیکال با یک داستان کاربر زنده در هدایت خروجی ایجنت Cursor.
* `<details class="red">`: تله اپیک‌های غول‌پیکر (Epic Trap)؛ چرا داستان‌هایی که بیش از یک کار را طلب می‌کنند باید فوراً به داستان‌های کوچک‌تر شکسته شوند.
### آنچه نباید وارد آن شویم (Out-of-Scope):
- تعریف پرسونا با جزئیات جمعیت‌شناختی عمیق (درس بعدی ۴.۴).
- تعیین شروط دقیق تایید تست و معیارهای قبولی (درس ۴.۶).
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| User Story | داستان کاربر | شرح کوتاه و ساده از یک نیاز نرم‌افزاری از زاویه دید و زبان خود کاربر نهایی |
| Persona | پرسونا | کاراکتر فرضی نماینده گروهی از کاربران واقعی با اهداف و رفتارهای مشخص |
| INVEST Framework | چارچوب کیفیت داستان | چک‌لیست ۶ ویژگی ضروری برای اطمینان از کیفیت و قابلیت اجرای یک داستان کاربر |
| Epic | کلان‌داستان / اپیک | نیاز بزرگ و چندوجهی محصول که باید به چندین داستان کاربر کوچک شکسته شود |
| User Intent | نیت و قصد کاربر | انگیزه درونی کاربر از انجام یک عمل که هدایت‌گر طراحی نرم‌افزار است |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** کاور مدرن با تم تیره و کارت‌های شیشه‌ای دیجیتال استیک نوت که اجزای یک داستان کاربر را در یک بوم محصول نشان می‌دهد.
2. **آناتومی فرمول داستان کاربر:** `images/user-story-anatomy.png`
* **موضوع:** تصویر شماتیک ۳ قطعه پازل رنگی: [نقش کاربر] + [عمل و خواسته] + [ارزش نهایی].
3. **چک‌لیست شاخص‌های INVEST:** `images/invest-framework-checklist.png`
* **موضوع:** اینفوگرافیک ۶ شاخص: مستقل، ارزشمند، کوچک، تست‌پذیر و ... با تیک‌های سبز بررسی.
4. **نقشه داستان‌های کاربر پورتفولیوی پویا:** `images/portfolio-story-map.png`
* **موضوع:** تفکیک بصری دو ستون اصلی: ستون بازدیدکننده (مشاهده، فیلتر، ارتباط) و ستون مدیر (ورود، مدیریت پروژه‌ها، تنظیمات سئو).
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# داستان کاربر: بیان نیازمندی‌ها از نگاه انسان، نه کد!`
2. **مقدمه ملموس:** چرا گفتن «چه کدی بنویس» به هوش مصنوعی شکست می‌خورد و گفتن «کاربر چه می‌خواهد» معجزه می‌کند؟
3. **جدول کاور درس**
4. **ساختار استاندارد یک داستان کاربر طلایی:** تشریح فرمول سه‌بخشی (نقش، اقدام، ارزش).
5. **چرا هوش مصنوعی عاشق داستان کاربر است؟:** درک زمینه، ایجاد پیام‌های خطا و حالت‌های بصری متناسب.
6. **باکس نکته Quera (`<details class="violet">`):** مقایسه خروجی هوش مصنوعی با پرامپت دستوری در برابر پرامپت داستان کاربر.
7. **چارچوب INVEST: سنجه‌های سلامت یک داستان کاربر:** چگونه بفهمیم داستان ما آماده پیاده‌سازی است؟
8. **داستان‌های کاربر واقعی پروژه پورتفولیوی پویا:**
* داستان‌های سمت بازدیدکننده و استخدام‌کننده.
* داستان‌های سمت صاحب پورتفولیو و پنل ادمین.
* داستان‌های اختصاصی پنل سئو.
9. **همکاری با هوش مصنوعی در استخراج داستان‌ها:** پرامپت آماده ساخت User Storyها.
10. **باکس هشدار Quera (`<details class="red">`):** فرار از تله داستان‌های غول‌پیکر (Epic Trap).
11. **جمع‌بندی درس‌نامه:** مجهز شدن به لنز داستان کاربر و آماده‌سازی برای تعریف پرسونای دقیق مخاطب.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] فرمول استاندارد داستان کاربر و فلسفه پشت آن با زبان شفاف و رسا تبیین شده باشد.
- [ ] کاربرد داستان کاربر در هدایت هوشمند ایجنت‌های وایب کدینگ اثبات شود.
- [ ] داستان‌های کاربر پروژه محوری (پورتفولیوی پویا با ادمین و سئو) به تفکیک دو نقش اصلی در متن درج شوند.
- [ ] شاخص‌های INVEST برای راستی‌آزمایی کیفیت داستان‌ها معرفی گردند.