فاز 14 · درس 48

کشف جریان کاری واقعی کاربران با تکیه بر شواهد

نوع
مفهومی و ساختنی
زمان
حدود 70 دقیقه
زبان‌ها
Python (stdlib)
یک نقشه‌ی مسیر با چندین انشعاب و خطوط متقاطع که در بخش‌هایی از آن ذره‌بین‌هایی برای بررسی ردپاها و برچسب‌های شواهد قرار گرفته‌اند.
فهرست مطالب
  1. اهداف یادگیری
  2. کار را با سیستم فعلی شروع کنید
  3. شواهد درجه‌بندی دارند
  4. به دنبال چهار چیز بگردید
  5. اختلاف‌نظرها را با میانگین‌گیری محو نکنید
  6. پیاده‌سازی
  7. تمرین‌ها
  8. برای مطالعه‌ی بیشتر
  9. خروجی این درس

بسیاری از تیم‌های نرم‌افزاری برای تعریف ویژگی‌های جدید یا توسعه‌ی قابلیت‌های هوش مصنوعی، مستقیماً از کاربران می‌پرسند چه می‌خواهند؛ پاسخی که معمولاً دریافت می‌کنند مجموعه‌ای از تمایلات ذهنی است، نه آنچه در واقعیت رخ می‌دهد. وقتی محصول بر مبنای این خواسته‌های انتزاعی ساخته می‌شود، در اولین مواجهه با فرایندهای غیررسمی، استثناهای روزمره و دست‌به‌دست شدن کارها بین افراد شکست می‌خورد.

حل این مسئله در بازسازی جریان کاری فعلی بر اساس رفتارهای مشاهده‌پذیر نهفته است. در این درس یاد می‌گیرید که چطور گام‌های واقعی کاربران، منابع اصطکاک، وضعیت‌های پنهان در حافظه یا چت‌ها و مرزهای اختیارات را مستند کنید تا بتوانید نیازمندی‌ها را با تکیه بر شواهد مستقیم و بدون فرضیات خوش‌بینانه بسازید.

نیازمندی‌ها در جلسه‌ای منتظر ننشسته‌اند تا جمع‌آوری‌شان کنید؛ بلکه لابه‌لای کارها، راه‌حل‌های موقت، سوابق و اختلاف‌نظرها پراکنده‌اند.

اهداف یادگیری

  • مدل‌سازی جریان کاری (workflow) فعلی به‌صورت اقداماتی ترتیبی همراه با شواهد.
  • تفکیک مشاهدات مستقیم از رفتارهای گزارش‌شده یا استنباط‌شده.
  • شناسایی اصطکاک، دست‌به‌دست شدن کارها، اختیار و وضعیت پنهان.
  • شفاف نگه‌داشتن ادعاهای نامطمئن به‌جای تبدیل زودهنگام آن‌ها به نیازمندی.

کار را با سیستم فعلی شروع کنید

کار را با این سؤال شروع نکنید که افراد چه امکاناتی می‌خواهند؛ از بازسازی آنچه در حال حاضر رخ می‌دهد شروع کنید.

برای هر مرحله، موارد زیر را ثبت کنید:

فیلد مثال
کنشگر مهندس کشیک (on-call)
محرک دریافت هشدار پروداکشن (production alert)
اقدام باز کردن هشدار و سپس جست‌وجو در داشبوردها
ورودی بار دادهایِ (payload) هشدار و سوابق دیپلوی
خروجی سرویس کاندید و مالک آن
اصطکاک سوئیچ مداوم بین سه ابزار
اختیار مدیر بحران تغییرات پایگاه داده را تأیید می‌کند
شواهد ویدیوی ضبط صفحه‌نمایش، لاگ حادثه، دستورالعمل اجرایی (runbook)

جریان کاری بسیار فراتر از اتفاقات روی صفحه‌نمایش است. این جریان شامل انتظار، کپی-پیست، کانال‌های فرعی، گرفتن تأییدیه‌ها، بازیابی از خطا و کارهایی است که افراد دیگر حتی متوجه انجام‌دادنشان نمی‌شوند.

شواهد درجه‌بندی دارند

از یک نردبان ساده‌ی شواهد استفاده کنید:

  1. رفتار مستقیم: مشاهده‌ی عینی، ردگیری محاسبات (trace)، ویدیوی ضبط‌شده یا رویداد سیستمی.
  2. دست‌سازه: تیکت، دستورالعمل اجرایی، لاگ، فرم یا خروجی نهایی تکمیل‌شده.
  3. رفتار گزارش‌شده: فرد کاری را که انجام می‌دهد توصیف می‌کند.
  4. استنباط: تیم به این جمع‌بندی می‌رسد که احتمالاً چه اتفاقی رخ می‌دهد.

هر چهار مورد می‌توانند مفید باشند، اما فقط دو مورد اول رفتار فعلی را مستقیماً اثبات می‌کنند. بقیه‌ی موارد را برچسب‌گذاری کنید تا میزان اطمینان به‌طور کاذب و بی‌صدا بالا نرود.

پشتیبانیپشتیبانیپشتیبانیمحرکاقدام کنشگرتحویلاقدام کنشگر بعدینتیجهشواهد مستقیمدست‌سازهرفتار گزارش‌شده

به دنبال چهار چیز بگردید

  • اصطکاک: تلاش‌های تکراری، تأخیر، ورود مجدد داده‌ها یا بازیابی.
  • وضعیت پنهان: اطلاعاتی که در حافظه‌ی افراد، چت‌ها یا یادداشت‌های شخصی نگه‌داری می‌شوند.
  • اختیار: فرد یا سیستمی که اجازه‌ی اعمال تغییری تعیین‌کننده را دارد.
  • استثناها: شرایطی که جریان کاری از حالت عادی خارج می‌شود.

قابلیت‌های هوش مصنوعی معمولاً در نقاط دست‌به‌دست شدن کار و مواجهه با استثناها شکست می‌خورند؛ چرا که فقط مسیر ایدئال و بی‌دردسر (happy path) طراحی شده است.

اختلاف‌نظرها را با میانگین‌گیری محو نکنید

دو کاربر ممکن است به دلایل کاملاً موجه، جریان‌های کاری متفاوتی را پیش ببرند. این گونه‌های مختلف را تا زمانی حفظ کنید که بفهمید نشان‌دهنده‌ی چه چیزی هستند:

  • نقش‌های متفاوت؛
  • سطوح مختلف ریسک؛
  • فرایند قدیمی در برابر فرایند فعلی؛
  • تفاوت در سطح مهارت و تجربه؛
  • یک اختلاف‌نظر واقعی بر سر سیاست‌ها و مقررات.

یک جریان کاری میانگین‌گیری‌شده در عمل ممکن است رفتار هیچ‌کس را توصیف نکند.

پیاده‌سازی

این کارگاه عملی شواهد مربوط به هر مرحله از جریان کاری را ذخیره می‌کند، ترتیب مراحل و سطح اطمینان را می‌سنجد، نسبت شواهد مستقیم را محاسبه می‌کند و در نهایت فایل outputs/workflow-evidence.json را می‌نویسد.

python3 code/main.py
python3 -m unittest discover code/tests -v

یک مسیر استثنا اضافه کنید که در آن سابقه‌ی دیپلوی در دسترس نیست. ترتیب اصلی مراحل را دست‌نخورده نگه دارید و مشخص کنید این branch از کجا آغاز می‌شود.

تمرین‌ها

  1. یک جریان کاری را صرفاً از روی یک لاگ و بدون مصاحبه با هیچ فردی بازسازی کنید.
  2. با یک کاربر مصاحبه کنید و هر ادعایی را که هنوز شواهد مستقیم ندارد علامت بزنید.
  3. یک مرز اختیار و یک مرحله‌ی بازیابی از شکست اضافه کنید.
  4. دو گونه‌ی مختلف از یک جریان کاری را بدون ادغام کردن در یکدیگر مدل‌سازی کنید.
  5. قابلیت پیشنهادی‌ای پیدا کنید که یک مرحله‌ی ظاهری را حذف می‌کند، اما کار پنهان را دست‌نخورده باقی می‌گذارد.

برای مطالعه‌ی بیشتر

خروجی این درس

فایل outputs/workflow-evidence.json را نگه دارید. این فایل در درس بعد، اصطکاک و عدم‌قطعیت‌های مشاهده‌شده را به نقشه‌ی فرضیات تبدیل می‌کند.

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسچرا به جای قابلیت‌های درخواستی، کار را با رفتار فعلی سیستم آغاز می‌کنیم؟
  2. حین درسکدام مورد قوی‌ترین شواهد مستقیم محسوب می‌شود؟
  3. حین درسکدام چهار جنبه‌ی گردش‌کار شایسته‌ی اتنشن و توجه ویژه هستند؟
  4. حین درسچرا باید گونه‌های مختلف گردش‌کار را حفظ کرد؟
  5. پس از درسنسبت شواهد مستقیم (direct-evidence ratio) بیانگر چیست؟
  6. پس از درسمرحله‌ی پنهان در گردش‌کار چیست؟

سؤالات متداول

نردبان شواهد در مدل‌سازی جریان کاری چیست و چه کاربردی دارد؟

نردبان شواهد درجه‌ی اعتبار داده‌ها را می‌سنجد: رفتار مستقیم (مشاهده و لاگ)، دست‌سازه (تیکت و فرم)، رفتار گزارش‌شده (توضیح کاربر) و استنباط. این نردبان مانع از آن می‌شود که حدس‌ها یا شنیده‌ها به‌اشتباه به‌عنوان رفتار قطعی ثبت شوند.

چرا نباید جریان‌های کاری متفاوت کاربران مختلف را میانگین‌گیری کرد؟

تفاوت در عملکرد افراد ممکن است ناشی از نقش‌ها، سطوح ریسک، میزان تجربه یا اختلاف در سیاست‌ها باشد. میانگین‌گیری این تفاوت‌ها را محو می‌کند و فرایندی فرضی می‌سازد که با رفتار هیچ کاربری همخوانی ندارد.

چهار عامل کلیدی که در مشاهده‌ی جریان کاری باید ثبت شوند کدام‌اند؟

اصطکاک (کارهای تکراری یا تأخیر)، وضعیت پنهان (اطلاعات ثبت‌نشده در ابزارها)، اختیار (فرد یا سیستمی که اجازه‌ی تغییر دارد) و استثناها (نقاط خروج از مسیر عادی).

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.