کدهالیک | codehalic
تا حالا شده توی خونه مبل رو جوری بذاری که جلوی پریز رو بگیره ولی بعد یه مدت به همون وضعیت عادت کنی؟ حالا اگه یکی بیاد مبل رو جابهجا کنه که خونه رو قشنگ کنه، شاکی میشی چون تمام نظم ذهنی تو به هم ریخته. این دقیقا خلاصه اتفاقیه که بهش میگن قانون هایروم. این…
خودم توی شرکت قبلی دقیقاً با این داستان برخورد کردم. داشتیم سیستم سرچ رو بازطراحی میکردیم و من اصلاً حواسم به این نبود که یه سری از کاربرها عادت کردن «شناسه ملی» شرکت رو بزنن و اینتر کنن تا مستقیم برن توی پروفایل اون شرکت. این قابلیت اصلاً توی تسک من تعریف نشده بود، ولی چون کاربرها به این «میانبر» عادت کرده بودن، نبودنش رو به چشم یه باگ میدیدن. وقتی این قابلیت رو دوباره اضافه کردیم، تازه فهمیدیم چقدر توی زمان کاربرها صرفهجویی میشه و چقدر خوشحالتر شدن.
این قانون دقیقاً همینه: توی بازطراحی یا همون Migration سیستمها، نباید فقط به فیچرهای رسمی نگاه کرد.
اما این هایروم کیه؟
هایروم رایت یکی از مهندسهای ارشد گوگل هست که تخصصش تغییر دادن کدهایی در مقیاس میلیون خطیه. اون موقعی که داشت روی کتابخانههای مرکزی گوگل کار میکرد، متوجه شد حتی وقتی یه تغییر خیلی ساده و به ظاهر بیضرر مثل حذف یه «فاصله خالی» یا عوض کردن رنگ یه آیکون رو انجام میده، باز هم یه جایی یه چیزی خراب میشه.
هایروم به این نتیجه رسید که هر چقدر هم به کاربرها التماس کنی که «فقط به داکیومنت من اعتماد کنید»، باز هم اونا میرن و از رفتارهای غیررسمی و جانبی کد تو استفاده میکنن. واسه همین این قانون رو گذاشت تا به بقیه هشدار بده: وقتی کدت محبوب شد و آدمهای زیادی ازش استفاده کردن، دیگه اون کد فقط متعلق به تو نیست و نمیتونی به راحتی هر جاش رو که خواستی عوض کنی.
#lawsofsoftwareengineering
@codehalics | کدهالیک
این قانون دقیقاً همینه: توی بازطراحی یا همون Migration سیستمها، نباید فقط به فیچرهای رسمی نگاه کرد.
اما این هایروم کیه؟
هایروم رایت یکی از مهندسهای ارشد گوگل هست که تخصصش تغییر دادن کدهایی در مقیاس میلیون خطیه. اون موقعی که داشت روی کتابخانههای مرکزی گوگل کار میکرد، متوجه شد حتی وقتی یه تغییر خیلی ساده و به ظاهر بیضرر مثل حذف یه «فاصله خالی» یا عوض کردن رنگ یه آیکون رو انجام میده، باز هم یه جایی یه چیزی خراب میشه.
هایروم به این نتیجه رسید که هر چقدر هم به کاربرها التماس کنی که «فقط به داکیومنت من اعتماد کنید»، باز هم اونا میرن و از رفتارهای غیررسمی و جانبی کد تو استفاده میکنن. واسه همین این قانون رو گذاشت تا به بقیه هشدار بده: وقتی کدت محبوب شد و آدمهای زیادی ازش استفاده کردن، دیگه اون کد فقط متعلق به تو نیست و نمیتونی به راحتی هر جاش رو که خواستی عوض کنی.
#lawsofsoftwareengineering
@codehalics | کدهالیک
🤯4👏3
خب امروز میخوام راجب یه قانون دیگ در توسعه نرم افزار صحبت کنم که بیشتر جنبه محصولی داره !
قانون زاوینسکی
قانون زاویِنسکی میگه: هر برنامهای وقتی موفق میشه، کمکم شروع میکنه به اضافه کردن فیچرهای جدید، تا جایی که از هدف اصلی خودش فاصله میگیره و حتی تبدیل میشه به یه محصول «همهفنحریف» که هیچ کاری رو واقعاً عالی انجام نمیده. همون چیزی که میگن: Jack of all trades, master of none.
مثلاً تلگرام اول فقط یه پیامرسان ساده بود، اما کمکم تبدیل شد به یه پلتفرم کامل: تماس صوتی و تصویری، کانال، استوری، بات، پرداخت و حتی مینیاپها. الان دیگه فقط «چت» نیست، یه اکوسیستمه.
این قانون بیشتر برای پروداکت منیجرها مهمه، چون دائماً بین دو فشار گیر میکنن: رشد محصول با اضافه کردن قابلیتهای جدید، یا حفظ سادگی و تمرکز. چالش اصلی اینه که بدونی چی رو نباید اضافه کنی.
پ.ن: البته در بعضی بازارها (بهخصوص کشورهای در حال توسعه)، سوپراپ شدن خودش یه مزیت رقابتیه. چون یه اپ میتونه چندین سرویس رو یکجا جمع کنه؛ مثل تاکسی، غذا، خرید، خدمات پزشکی و… نمونههاش هم توی ایران زیاده.
#lawsofsoftwareengineering
@codehalics | کدهالیک
قانون زاوینسکی
قانون زاویِنسکی میگه: هر برنامهای وقتی موفق میشه، کمکم شروع میکنه به اضافه کردن فیچرهای جدید، تا جایی که از هدف اصلی خودش فاصله میگیره و حتی تبدیل میشه به یه محصول «همهفنحریف» که هیچ کاری رو واقعاً عالی انجام نمیده. همون چیزی که میگن: Jack of all trades, master of none.
مثلاً تلگرام اول فقط یه پیامرسان ساده بود، اما کمکم تبدیل شد به یه پلتفرم کامل: تماس صوتی و تصویری، کانال، استوری، بات، پرداخت و حتی مینیاپها. الان دیگه فقط «چت» نیست، یه اکوسیستمه.
این قانون بیشتر برای پروداکت منیجرها مهمه، چون دائماً بین دو فشار گیر میکنن: رشد محصول با اضافه کردن قابلیتهای جدید، یا حفظ سادگی و تمرکز. چالش اصلی اینه که بدونی چی رو نباید اضافه کنی.
پ.ن: البته در بعضی بازارها (بهخصوص کشورهای در حال توسعه)، سوپراپ شدن خودش یه مزیت رقابتیه. چون یه اپ میتونه چندین سرویس رو یکجا جمع کنه؛ مثل تاکسی، غذا، خرید، خدمات پزشکی و… نمونههاش هم توی ایران زیاده.
#lawsofsoftwareengineering
@codehalics | کدهالیک
👍4