Amirali Yaghoutiمهندس ارشد نرم‌افزار

مطالعه موردی مهندسی

اتوماسیون گزارش‌گیری روی گوگل شیتس

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

مسئله تجاری

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

آنچه تحویل دادم

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

رویکرد فنی

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

نتیجه و شواهد

گزارش‌های دوره‌ای خودشان می‌آیند، هر بار با همان شکل، و تیم به‌جای یادآوری اعداد قدیمی، عدد به‌روز را می‌خواند.

اهمیت برای کارفرما

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

خلاصه-اجرایی-پروژه

خلاصه اجرایی خوانا

خلاصه_اجرایی {
  پروژه: "Google Sheets Reporting Automation"
  مقصد: "گوگل شیتس، جایی که تیم از قبل کار می‌کند"
  ریتم: "زمان‌بندی‌شده؛ گزارش به‌طور پیش‌فرض وجود دارد"
  خط_لوله: "استخراج ← نرمال‌سازی ← نوشتن، به‌شکل مراحل جدا"
  ساختار: "شکل شیت پایدار تا نماهای پایین‌دستی دوام بیاورند"
  دسترسی: "فقط‌خواندنی؛ گزارش‌گیری هرگز داده‌ی تجاری را
           تغییر نمی‌دهد"
  رازها: "پیکربندی سمت سرور، نه داخل گردش کار"
}

ارزش حرفه‌ای این پروژه

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

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