ارزیابی ساده‌ی تیم نرم‌افزاری (تست جول)

تست جول یک لیست ۱۲تایی از سوالات بله/خیر هست که با یک محاسبات بسیار ساده و در زمان خیلی کوتاه بهتون می‌گه وضعیت تیم نرم‌افزاریتون چطوریه! ولی قبل از پرداختن به تست یه کوچولو در مورد طراح این تست یعنی جول اسپالسکی (Joel Spolsky) بخونیم.جول هم‌بنیانگذار شرکت‌های Fog Creek Software، Stack Overflow و Trello بوده و در حال حاضر مدیرعامل Stack Overflow است. قدیم هم در شرکت‌های مایکروسافت و جونو کار کرده و در کل دولوپر پر سابقه‌ای به حساب می‌آد.یه توضیح کوچیک دیگه هم بدم و برم سر اصل مطلب. تست جول در سال ۲۰۰۰ منتشر شده و یکم قدیمیه :). اول اصل تست رُ اینجا می‌نویسم و در نهایت تغییراتی که ما در شرکت بیستون روش دادیم رُ بهتون می‌گم.تست جول اصلیهمونطور که گفتم تست جول یه لیست ۱۲ سوالی از سوالات بله/خیر است:تست جول اصلیکه به فارسی بخوایم این سوالا رُ بازنویسی کنیم به این شکل درمی‌آد:۱. از سیستم كنترل سورس (به زبان امروزی ساده گیت) استفاده می‌کنین؟۲. آیا می‌تونید در یك مرحله، برنامه‌تون رُ build كنین؟۳. build روزانه دارین؟۴. بانك اطلاعاتی از باگ‌ها دارین؟۵. قبل از نوشتن كد جدید، باگ‌های فعلی رُ رفع می‌کنین؟۶. برنامه زمان‌بندیتون به روز است؟۷. دارای لیست مشخصات برای پروژتون هستین؟۸. برنامه‌نویسا محیط آرامی برای كار كردن دارن؟۹. آیا از بهترین ابزارهایی را که با پول می‌شه خرید استفاده می‌کنین؟۱۰. آیا تستر دارین؟۱۱. آیا داوطلبان استخدام در موقع مصاحبه، کد هم می‌زنن؟۱۲. آیا از تست استفاده‌پذیری راهرویی (hallway usability testing) دارین؟دلیل هر کدام و توضیحاتشون رُ می‌تونید توی این لینک بخونین. تنها بخشی که شاید نیاز به توضیح داشته باشه سوال ۱۲ هست. تست استفاده‌پذیری راهرویی، تستی هست که توی اون اولین نفری که توی راهرو از کنارتون رد می‌شه رُ خفت می‌کنین و مجبورش می‌کنید که از کدی که نوشتین استفاده کنه! به گفته‌ی جول شما با گرفتن این تست از ۵ نفر می‌تونین ۹۵٪ مشکلاتی که کدتون در استفاده‌پذیری (usability) داره رُ پیدا کنین.تست جدیدهمون‌طور که اول هم گفتم با تمام خوبی‌های این تست، تست جول مقداری قدیمیه! و اگه توی اینترنت بگردید می‌تونین آپدیت‌هایی که افراد مختلف روش دادن رُ پیدا کنین. تستی که ما بر اساس اون توی بیستون کار می‌کنیم اینطوریه:۱. از سیستم كنترل سورس (به زبان امروزی ساده گیت) استفاده می‌کنین؟۲. آیا می‌تونید در یك مرحله، برنامه‌تون رُ build كنین؟۳. آیا می‌تونید روی هر کامیت، بیلد، تست و دیپلوی کنین؟۴. بانك اطلاعاتی از باگ‌ها دارین؟۵. قبل از نوشتن كد جدید، باگ‌های فعلی رُ رفع می‌کنین؟۶. برنامه زمان‌بندیتون به روز است؟۷. دارای لیست مشخصات برای پروژتون هستین؟۸. آیا برنامه‌نویسا به جایی دسترسی دارن که در صورت لزوم بتونن بدون مزاحمت کار کنن؟۹. آیا از بهترین ابزارهایی را که با پول می‌شه خرید استفاده می‌کنین؟۱۰. آیا تستر دارین؟۱۱. آیا داوطلبان استخدام در موقع مصاحبه، کد هم می‌زنن؟۱۲. آیا از تست استفاده‌پذیری راهرویی (hallway usability testing) دارین؟ما توی بیستون سوالات ۳ و ۸ را آپدیت کردیم. در مورد سوال ۳، ما به این نتیجه رسیدیم که با وجود سولوشن‌های CI/CD دیگه نیازی به بیلد روزانه نیست! در مورد سوال ۸ هم با توجه به این‌که ما در بیستون تیم‌های کوچک افیشنت داریم که بدون دغدغه و بروکراسی با هم در ارتباط هستن، نیاز به فضایی باز برای شرکت داریم؛ پس ایجاد یک دفتر برای هر فرد به نوعی با افیشنسی تیم و فرآیند نوآوری ما در تضاده! برای این‌که در مواردی برنامه‌نویس‌ها نیاز به فضای بدور از اینتراپت برای تمرکز دارن، باید این امکان برای آن‌ها فراهم باشه تا در صورت نیاز به این‌گونه فضایی دسترسی داشته باشن.امتیاز بیستون در این آزمون چند است؟امتیاز بیستون در جول تستدر بیستون با امتیاز ۴ کار رُ شروع کردیم و الآن با گذشت ۳ ماه از تصمیممون برای ارتقای سطح کاریمون به امتیاز ۱۱ رسیدیم ( و به زودی با راه اندازی CI/CD به امتیاز کامل می‌رسیم).بنا به گفته‌ی جول اگر شرکتی در تست جول با امتیاز ۱۰ یا پایین‌تر از آن باشه، به کمک فوری نیاز داره؛ نمره‌ی ۱۱ قابل قبوله و نمره‌ی ۱۲ عالی!کلام آخرتست جول یک تست اولیه ولی حیاتیه! اگه دوست دارین در فضایی کار کنین که محصولاتی خوبی ارائه بدین و همینطور خودتون هم رشد کنین به نظرم اولین کار رسیدن به امتیاز ۱۲ در تست جوله! دقت کنین که لازم نیست حتما مدیر باشین تا تغییر ایجاد کنین، کافیه با همکاراتون در این مورد صحبت کنین و با هم سعی کنین این محیط رُ برای خودتون ایجاد کنین.