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

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

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

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

مسئله تجاری

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

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

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

رویکرد فنی

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

نتیجه و شواهد

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

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

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

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

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

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

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

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

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