تعریف انجام شده یا Definition Of Done و اصول آن

4.5/5 - (4 امتیاز)

تعریف انجام شده (Definition Of Done) موجب شفافیت می‌شود. تا زمانی که DOD محقق نشود، نمی‌توان Increment را نهایی و قابل تحویل تلقی کرد! از طرفی تعریف نادرست DOD می‌تواند صدمات زیادی در پی داشته باشد!

مصطفی بختیاری
12 اردیبهشت 1402 دقیقه 0 دیدگاه

اگر به تازگی استفاده از اسکرام را شروع کرده‌اید و یا در مورد آن یاد می‌گیرید، در مورد Done (انجام شده) و Definition Of Done (DOD) (تعریف انجام شده) چیزهای زیادی خواهید شنید. Done را به عنوان تمام الزامات مورد نیاز برای تکمیل یک Increment محصول در نظر بگیرید. Definition Of Done تعهد Developer‌ها برای ایجاد Increment محصول است، دقیقاً مانند هدف اسپرینت که تعهد Developer‌ها برای بک لاگ اسپرینت است و نیز هدف محصول که تعهد مالک محصول نسبت به بک لاگ محصول است. تعریف Done شامل تمام ویژگی‌ها و استانداردهایی است که یک Increment برای انتشار باید رعایت کند.

راهنمای اسکرام می‌گوید که تعریف انجام شده یا Definition Of Done یک توصیف رسمی از وضعیت Increment است، زمانی که معیارهای کیفی مورد نیاز برای محصول را برآورده می‌کند. فقط هنگامی که Definition Of Done  برآورده شود، Increment انجام شده و تکمیل شده تلقی می‌شود و قابل تحویل است.

تعریف انجام شده (DOD) با ارائه درک مشترک از الزاماتی که برای ایجاد و تکمیل Increment  باید انجام شود و همچنین استانداردهایی که به عنوان بخشی از Increment باید رعایت شود، موجب شفافیت می‌شود. اگر حتی یک آیتم از بک لاگ محصول نیز با Definition Of Done مطابقت نداشته باشد، هنوز نمی‌توان آن را عرضه کرد. در واقع DOD را می‌توان به عنوان استانداردهای تعیین شده برای محصولات ارائه شده در نظر گرفت.

گاهی اوقات DOD برای یک Increment شامل استانداردهای سازمان می‌شود. در آن صورت، تمام تیم‌های اسکرام باید حداقل از این استانداردها پیروی کنند. آنها می‌توانند آن را با هر استاندارد یا ویژگی دیگری که باید برای محصول رعایت شود ترکیب کنند. اگر استانداردهای سازمانی خاصی وجود نداشته باشد، تیم اسکرام باید یک DOD مناسب برای محصول ایجاد کند.

تعریف انجام شده (Definition Of Done) موجب شفافیت می‌شود. تا زمانی که DOD محقق نشود، نمی‌توان Increment را نهایی و قابل تحویل تلقی کرد!

احتمالا تاکنون با اهمیت تعریف انجام شده آشنا شده‌اید. در این مقاله با ذکر مثال‌هایی به جزئیات این مفهوم می‌پردازیم.

چگونه یک تعریف انجام شده (Definition Of Done) ایجاد کنیم؟

DOD به عنوان بخشی از استانداردهای مورد نیاز کار برای ایجاد Increment، شفافیت ایجاد می‌کند. ایجاد آن می‌تواند به سادگی و با همکاری تیم و نوشتن همه چیز با هم و به صورت کار تیمی باشد. برخی از تیم‌های اسکرام ممکن است از تکنیک طوفان فکری استفاده کنند.

به منظور درک بیشتر، در زیر چند نمونه از مواردی که ممکن است در DOD بیابید ارائه شده است:
چند نمونه از مواردی که در DOD برای یک مطالعه موردی جهت ایجاد بروشور بازاریابی به صورت چک لیست آورده شده است:

  • با دستورالعمل‌های برندسازی ویژه مشتری مطابقت دارد
  • به سبک AP نوشته شده است
  • فیچرها توسط مشتری بررسی شده و بازخورد دریافت شده است
  • بازخوردهای دریافت شده اجرا شد
  • پیش نویس نهایی توسط مشتری تایید شده است


چند نمونه از موارد موجود در DOD برای یک برنامه نرم افزاری متمرکز بر سلامت

  • تمام تست ها تکمیل شد
  • هیچ نقص شناخته شده‌ای وجود ندارد
  • بررسی کد تکمیل و تصویب شد
  • مطابق با استانداردهای HIPAA Compliance
  • الزامات امنیتی عمومی را برآورده می‌کند

هنگامی که تمام موارد موجود در DOD بررسی و تکمیل شدند، این Increment انجام شده در نظر گرفته می‌شود.

نمونه هایی از تعریف انجام شده (Definition Of Done)

مثال‌هایی که اهمیت تعریف انجام شده (Definition Of Done) را نشان می‌دهند!

در انتها با چند مثال نحوه‌ی ایجاد تعریف انجام شده (Definition Of Done) و تفاوت آن با Acceptance Criteria را توضیح می‌دهیم.
“بلیک” و “نیشا” در طول اسپرینت بر روی یکی از آیتم‌های پروداکت بکلاگ یک وبسایت فروش آنلاین مواد غذایی به سختی تلاش کرده‌اند. آنها یک فیچر ایجاد کردند که به مشتریان اجازه می‌دهد آنچه را که قبلا در وبسایت سفارش داده‌اند بازنگری کنند و به راحتی همان سفارش را دوباره تکرار کنند. درست چند روز قبل از پایان اسپرینت آنها کارت پروداکت بکلاگ آیتم مذکور را به ستون Done منتقل می‌کنند، همه‌ی تیم هیجان زده هستند و جشن برپا است.

در روزی که تیم قصد دارد این فیچر را به مشتری عرضه کند، “استیو” یکی دیگر از اعضای تیم متوجه می‌شود که گرافیک‌های استفاده شده در این فیچر با قوانین کپی رایت مطابقت ندارد، استیو می‌پرسد که چرا بلیک و نیشا این آیتم بکلاگ را به ستون Done منتقل کرده‌اند! در حالی که برای او واضح است که نمی‌توان آن را با این وضعیت منتشر کرد؛ از سوی دیگر، بلیک و نیشا فکر می‌کنند با توجه به اینکه این آیتم همه معیارهای پذیرش را پاس کرده است، بنابراین قابل عرضه است، پس آن را Done شده در نظر می‌گیرند. مشخصا در این مثال در تیم دیدگاه‌های متفاوتی درباره معنا و مفهوم Done (انجام شده) وجود دارد. “رابین” (اسکرام مستر) اشاره می‌کند که تیم اسکرام به تعریفی واحد از مفهوم Done (انجام شده) نیاز دارد، او توضیح می‌دهد که Definition Of Done را ایجاد می‌کنیم تا از موقعیتی مشابه آنچه که این تیم در آن قرار گرفت جلوگیری شود.

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

او در ابتدا میخواهد سردرگمی‌ای را که در مورد تفاوت بین معیارهای پذیرش (Acceptance Criteria) و مفهوم Definition Of Done وجود دارد را بررسی کند. رابین دو آیتم از پروداکت بکلاگ را نشان می‌دهد، یکی برای فیچری که به مشتریان اجازه می‌دهد سفارش‌های تکراری را در وب‌سایت ارسال کنند و دیگری فیچری که مشتریان را قادر می‌سازد محصولات را در صفحه نتایج مرتب‌سازی و اولویت بندی کنند. او از همه خواست تا معیارهای پذیرش هر دو فیچر را با هم مقایسه کنند، آیا معیارهای پذیرش فیچر “سفارش مجدد” برای فیچر “مرتب سازی کالاهای پشت سر هم”  نیز اعمال می شود؟ اعضای تیم به سرعت متوجه شدند که اینطور نیست و به این نتیجه رسیدند که معیارهای پذیرش مختص هر یک از آیتم های پروداکت بکلاگ هستند، حال رابین مثالی از DOD را ارائه می‌دهد و همین سوال را می‌پرسد که آیا معیارهای DOD برای هر دو آیتم بکلاگ اعمال می‌شود؟ همه اعضای تیم به این نتیجه می‌رسند که موارد موجود در DOD برای تمام آیتم‌ها و کارت‌های موجود در بکلاگ اعمال می‌شود و تضمین می‌کند که یک استاندارد کیفیت برای تیم کاری اسکرام وجود دارد.

پیشنهاد مطالعه

مدیریت پروژه چابک

مدیریت پروژه چابک چیست؟ – راهنمای کامل و کاربردی مدیریت چابک

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

اکنون همه تفاوت بین معیارهای پذیرش و Definition Of Done را می‌دانند. بنابراین رابین از همه اعضای تیم می‌خواهد که به صورت جداگانه فکر کنند و همه‌ی چیزهایی را که فکر می‌کنند برای ایجاد یک محصول با ارزش و قابل استفاده مفید و الزامی است، روی یک کاغذ یادداشت بنویسند و بر روی تابلو بچسبانند. پس از انجام این کار، تیم موارد تکراری را حذف کرده و موارد مشابه را گروه بندی می‌کند، رابین به اعضای تیم فرصت می‌دهد تا از یکدیگر سوال بپرسند و در مورد مواردی که نیاز به توضیح بیشتر دارند بحث کنند. حالا وقت آن است که توافق کنیم که کدام یک از موارد باید در DOD گنجانده شود. به محض اینکه تیم تمام موارد لازم را که فکر کرده‌اند، بر روی تخته چسباندند، رابین مجددا وارد عمل شده و رأی گیری انجام می‌دهد تا اطمینان حاصل شود که همه‌ی اعضای تیم روی تمام موارد موافق هستند. به همین دلیل است که حتی بعضا DOD را در Ground Rule می‌گنجانند، زیرا این موضوع نیز یک توافق درون تیمی است.

بلیک، نیشا، رابین و استیو می‌دانند که ایجاد DOD فقط یک بار انجام نمی‌شود، زیرا آنها باید به طور مداوم در تلاش برای بهبود آن در طول زمان باشند، تیم یاد می‌گیرد که محصول تکامل می‌یابد و بنابراین DOD نیز باید دائما آپدیت شود.

مثالی دیگر در خصوص رشد و آپدیت شدن DOD از تجربیات Lavaneesh Gautam
روزی در سال ۲۰۱۷-۲۰۱۸، من بخشی از تیم توسعه یک برنامه‌ی موبایل برای یک شرکت خدمات مالی بودم. چون محصول بسیار راهبردی بود، بسیاری از رهبران ارشد به آن علاقه‌مند بودند و در  Sprint Reviewهای منظم تیم اسکرام شرکت می‌کردند. در یکی از Sprint Reviewهای اولیه، هنگامی که ما Increment را با ذی‌اثران به اشتراک می‌گذاریم و شروع به بحث درباره‌ی طرح راهبردی می‌کنیم، مدیر دیجیتال مارکتینگ از ما پرسید: «سلام به همه، من هیچ اثری از GDPR نمی‌بینم (اگر کسی نمی‌داند که GDPR چیست، این یک قانون محافظت از داده در اروپاست.)
به عنوان مالک محصول، آن زمان هیچ اطلاعی درباره GDPR نداشتم و پاسخ دادم GDPR؟ GDPR چیست؟
اکنون شما ممکن است بخندید، اما در آن زمان واقعاً نمی‌دانستم. مقررات GDPR بسیار جدید بودند. با این حال، آن بحث نه تنها موارد اضافی برای Product Backlog را به وجود آورد، بلکه نیاز به سازگاری با تعریف ‘Done’ و در واقع آپدیت DOD را نیز ایجاد کرد.

این بهترین اتفاقی است که تعریف ‘Done’ بهبود می‌یابد و کیفیت محصول و فرآیندهای داخلی را بهبود می‌بخشد. بسیاری از تیم‌ها با تعریف انجام شده (Definition Of Done) کمتری در اوایل توسعه محصول شروع می‌کنند. با این حال، هدف بلندمدت باید کاهش بدهی فنی باشد که ممکن است به دلیل DOD ضعیف، این بدهی‌های فنی ایجاد شود.

برای مثال، وقتی که من اولین دوره آموزشی آنلاین خود را ساختم، تعریف «انجام شده» (DOD) بسیار ساده بود. مواردی مانند «بدون اشتباه دستوری» و «باید فونت‌ها در کل دوره یکسان باشند» وجود نداشت. تمرکز من بیشتر بر روی محتوا بود. اما با دریافت بازخورد‌ها آموختم و DOD با افزودن معیارهای کیفیت بیشتر، بهبود یافت.

پیشنهاد مطالعه

اسکرام 1

ارکان و ارزش‌های اسکرام

اسکرام (Scrum) یکی از معروف‌ترین چارچوب‌ها و سیستم‌های توسعه نرم‌افزار و پیشبرد پروژه‌ها است.

در پایان شما هم اگر تجربه‌ی مشابهی از مزایای استفاده از DOD در پروژه‌های خود دارید می‌توانید در قسمت بازخوردها و کامنت با ما به اشتراک بگذارید.

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



دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *