چرا ما لیست تغییرات آویاتو را عمومی منتشر میکنیم؟
بیشتر تغییراتی که در یک سرویس فنی اتفاق میافتد، از بیرون دیده نمیشود.
کاربر وارد پنل میشود، سرورش را میبیند، پرداخت میکند، تیکت میزند، ماشین مجازی میسازد یا آن را خاموش و روشن میکند. اگر همهچیز درست کار کند، معمولاً هیچکس به این فکر نمیکند که پشت همین کارهای ساده، چندین تغییر کوچک و بزرگ در جریان بوده است.
اما برای ما این تغییرات مهماند. نه فقط چون روی محصول کار کردهایم، بلکه چون هر تغییر، مستقیم یا غیرمستقیم، روی تجربهی مشتری اثر میگذارد.
برای همین تصمیم گرفتیم لیست تغییرات آویاتو را عمومی منتشر کنیم.
لیست تغییرات، برای ما فقط یک صفحهی فنی نیست. قرار نیست صرفاً بگوییم در فلان نسخه چند فایل تغییر کرده یا چند خط کد اضافه شده. این صفحه قرار است نشان بدهد آویاتو در حال حرکت است، چه چیزهایی بهتر شده، چه امکاناتی اضافه شده، و چه تصمیمهایی در مسیر توسعه محصول گرفتهایم.
محصولی که تغییر میکند، باید قابل پیگیری باشد
آویاتو یک محصول ثابت و تمامشده نیست. ما هنوز در حال ساختن و بهتر کردن آن هستیم. بعضی امکانات از اول وجود نداشتند و بعداً اضافه شدند. بعضی بخشها در نسخههای اولیه سادهتر بودند و بعداً کاملتر شدند. بعضی تصمیمها هم در عمل نیاز به اصلاح پیدا کردند.
برای مثال، وقتی Console داخل پنل اضافه شد، هدف فقط اضافه کردن یک دکمه جدید نبود. Console برای زمانی است که کاربر به هر دلیلی دسترسی SSH یا شبکهاش را از دست داده و هنوز باید راهی برای ورود به سرورش داشته باشد.
وقتی سیستم تیکتینگ اضافه شد، هدف فقط داشتن یک فرم پشتیبانی نبود. میخواستیم ارتباط مشتری با تیم پشتیبانی از داخل خود پنل قابل پیگیری باشد و هر درخواست به سرویس مربوط به خودش وصل شود.
وقتی فضاهای کاری اضافه شدند، مسئله فقط یک قابلیت مدیریتی نبود. خیلی از کاربران چند پروژه، چند سرویس یا چند عضو تیم دارند و لازم است دسترسیها و هزینهها از هم جدا شوند.
اینها تغییراتی هستند که اگر در یک صفحهی عمومی ثبت نشوند، خیلی زود در محصول حل میشوند و دیگر دیده نمیشوند. اما برای کاربری که میخواهد بداند آویاتو چطور رشد کرده، دانستن همین مسیر مهم است.
شفافیت فقط با جملههای تبلیغاتی ساخته نمیشود
تقریباً همهی شرکتها میگویند شفافاند.
اما شفافیت وقتی معنی پیدا میکند که کاربر بتواند چیزی را بررسی کند. بتواند ببیند محصول در چه تاریخی چه تغییری کرده. بتواند بفهمد چه امکاناتی تازه اضافه شدهاند، چه مشکلاتی رفع شدهاند و تمرکز تیم در هر دوره روی چه چیزی بوده است.
لیست تغییرات یک راه ساده برای همین کار است.
ما با انتشار عمومی تغییرات، نمیخواهیم بگوییم همهچیز کامل است. برعکس، دقیقاً چون محصول کامل نیست، مسیر توسعه آن را ثبت میکنیم. وقتی یک قابلیت اضافه میشود، مینویسیم. وقتی یک بخش بهتر میشود، مینویسیم. وقتی تصمیمی در محصول تغییر میکند، آن را هم ثبت میکنیم.
این کار باعث میشود کاربر فقط با یک صفحهی فروش روبهرو نباشد. میتواند پشت محصول را هم تا حدی ببیند: اینکه چه چیزهایی برای ما مهم بوده، روی چه بخشهایی وقت گذاشتهایم، و محصول از کجا به کجا رسیده است.
تغییرات کوچک هم مهماند
همهی تغییرات محصول بزرگ و هیجانانگیز نیستند.
گاهی یک تغییر کوچک در متن یک دکمه، تجربهی کاربر را بهتر میکند. گاهی اضافه شدن یک loading ساده باعث میشود کاربر نداند درخواستش ثبت شده یا نه. گاهی بهتر شدن پیام خطا از چند تیکت پشتیبانی جلوگیری میکند. گاهی اصلاح یک وضعیت ناسازگار در دیتابیس باعث میشود پنل دقیقتر و قابل اعتمادتر باشد.
در سرویسهای زیرساختی، همین جزئیات کوچک اهمیت زیادی دارند.
کاربر شاید هیچوقت نداند پشت یک عملیات ساده مثل ساخت ماشین مجازی، حذف سرور، ارتقای پلن یا تخصیص IP چه اتفاقی میافتد. اما اگر این عملیاتها درست، قابل پیشبینی و قابل پیگیری نباشند، اعتماد کاربر از بین میرود.
ما لیست تغییرات را منتشر میکنیم تا نشان بدهیم فقط به امکانات بزرگ فکر نمیکنیم. بخش مهمی از توسعه آویاتو، اصلاح همین جزئیات کوچک است؛ چیزهایی که شاید در نگاه اول دیده نشوند، اما در استفاده روزمره تفاوت ایجاد میکنند.
این صفحه به خود ما هم کمک میکند
لیست تغییرات فقط برای مشتری نیست. برای خود ما هم یک ابزار مهم است.
وقتی قرار است هر نسخه را عمومی ثبت کنیم، مجبور میشویم دقیقتر فکر کنیم. باید بدانیم در هر نسخه واقعاً چه چیزی تغییر کرده، چرا مهم بوده، و چطور باید آن را برای کاربر توضیح داد.
این کار باعث میشود توسعه محصول از حالت «چند تغییر پراکنده» خارج شود و به یک مسیر قابل فهم تبدیل شود. هر نسخه باید یک معنی داشته باشد. حتی اگر آن نسخه کوچک باشد، باید مشخص باشد که هدفش چه بوده: بهبود تجربه کاربری، امنیت شبکه، امکانات مدیریتی، پشتیبانی، قیمتگذاری، یا زیرساخت.
برای یک تیم کوچک، این نظم مهم است.
چون وقتی محصول سریع تغییر میکند، اگر تغییرات ثبت نشوند، بعد از مدتی حتی خود تیم هم دقیق یادش نمیماند چه چیزی در چه زمانی اضافه شده و چرا. لیست تغییرات کمک میکند حافظهی محصول از بین نرود.
کاربر حق دارد بداند چه چیزی عوض شده است
وقتی کسی از یک سرویس زیرساختی استفاده میکند، بخشی از پروژهاش را به آن سرویس میسپارد. این موضوع سادهای نیست. یک ماشین مجازی ممکن است میزبان سایت، API، دیتابیس، محیط تست یا بخشی از کسبوکار کاربر باشد.
پس کاربر حق دارد بداند محصولی که از آن استفاده میکند چطور تغییر میکند.
اگر امکان انتخاب موقعیت سرور اضافه شده، باید بداند. اگر سیاست تعلیق تغییر کرده و به جای تعلیق کل حساب، فقط ماشینهای مجازی متوقف میشوند، باید بداند. اگر امنیت شبکه با محدودیتهای بهتر تقویت شده، باید بداند. اگر امکانات تیمی، تیکتینگ یا مدیریت IP اضافه شدهاند، باید بداند.
این اطلاعات فقط خبر نیستند. بخشی از تصمیمگیری کاربرند.
ممکن است کسی قبل از خرید بخواهد ببیند آویاتو چقدر فعال توسعه داده میشود. ممکن است مشتری فعلی بخواهد بداند آیا قابلیتی که قبلاً وجود نداشت حالا اضافه شده یا نه. ممکن است تیمی بخواهد ببیند آیا امکانات همکاری و دسترسی برایشان مناسبتر شده است یا نه.
لیست تغییرات به این سؤالها جواب میدهد.
ما هنوز در حال ساختنیم
انتشار عمومی لیست تغییرات، ادعای کامل بودن نیست.
آویاتو هنوز در حال رشد است. هنوز امکاناتی هست که باید اضافه شوند، بخشهایی هست که باید سادهتر شوند، و تصمیمهایی هست که با بازخورد مشتریها بهتر خواهند شد.
اما ما ترجیح میدهیم این مسیر پنهان نباشد.
به جای اینکه فقط نتیجهی نهایی را نشان بدهیم، میخواهیم مسیر رسیدن به آن هم تا حدی قابل مشاهده باشد. این هم برای مشتری بهتر است، هم برای خود ما. مشتری میبیند محصول زنده است و تغییراتش قابل پیگیریاند. ما هم یادمان میماند که هر نسخه باید چیزی واقعی به تجربه کاربر اضافه کند.
لیست تغییرات آویاتو دقیقاً برای همین منتشر میشود:
برای ثبت مسیر، برای شفافیت، برای اعتماد، و برای اینکه تغییرات محصول فقط در کد و پنل باقی نمانند.
چون در نهایت، یک سرویس قابل اعتماد فقط با امکاناتش ساخته نمیشود. با نحوهی تغییر کردنش هم ساخته میشود.