حسین دادخواه
حسین دادخواه
خواندن ۲ دقیقه·۳ ماه پیش

بندبازی روی KISS و YAGNI

استفاده مستمر و طولانی‌مدت از تفکر YAGNI (You Aren’t Gonna Need It) و KISS (Keep It Simple, Stupid) در سازمان‌های #Tech_First و توسعه نرم‌افزار میتونه به چندین مشکل منجر بشه

البته قطعا اصول خوبی هستن ولی اعتدال رعایت نشه خودش چالش ساز میشه


و #YAGNI به توسعه‌دهنده‌ها توصیه میکنه که از پیاده‌سازی ویژگی‌هایی که در حال حاضر نیاز نیستن، خودداری کنن. این رویکرد اگه بدون توجه به اعداف و ویژن‌ها باشه، منجر به عدم آمادگی برای نیازهای آینده میشه. Martin Fowler میگه:

“If you don’t think about the future, you’ll be stuck in the past.”

پس مراقب باشید که با YAGNI تو گذشته گیر نکنید!


از طرفی #KISS خوبه هم خودش هم اصلش 😂 💋

ولی اولا #سادگی بیش از حد منجر به طراحی‌هایی میشه که در مقیاس بزرگ به مشکل برمی‌خورن پس اول مقیاسِ #نرم_افزار تون رو بشناسید، دوما Grady Booch میگه:

“Simplicity is the ultimate sophistication.”

یعنی ساده کردن پیچیده‌اس! پس وقتی دارید یه چیزی رو ساده میکنید، اگه حواستون به #پیچیدگی هایی که میسازه نباشه، ممکن یه گُل به خودی بد بزنید!


تو بحث #چابکی (Agility) توانایی انطباق با تغییرات سریع #بازار از اصول کلیدیه YAGNI و KISS ممکنه به کاهش توانایی انطباق منجر بشن چون شما براساس تحولات صنعت یا تحولات بازار پیش نرفتید و سعی نکردید برای آینده نزدیک (نه خیلی دور) آماده بشید.


مشکل بعدی اینه که وقتی این ۲تا عزیز! با همدیگه همراه میشن ممکنه #خلاقیت را به شدت ببرن تو حاشیه یا حتی حذف کنن. چون یکی میگه تا نیاز نشده هیچکاری نکن اون یکی هم میگه به احمقانه‌ترین حالت ممکن ساده باش و ترکیب‌شون در بلند مدت یا در جای اشتباه میتونه سمی برای خلاقیت باشه

و مشکل آخر هم اینه که وقتی بلند مدت در یه #تیم این ۲ اصل رو پیاده سازی میکنی ممکنه افراد تیم دچار یه سری تله ذهنی بشن و #ریسک های بالقوه رو در نظر نگیرن. تقریبا میشه گفت ۷تا تله ذهنی هست که به این موضوع ربط پیدا میکنه یا میتونه توسط این رویه تحریک بشه! تله‌های: ساده‌انگاری، خوش بینی، تمرکز بر حال، تایید، عدم توجه به سیگنال‌های ضعیف، فرار از مسئولیت و انطباق اجتماعی اون ۷ تله‌ای که گفتم و ممکنه یه نفر رو تو دام خودش بندازه. (تو پست بعدی در این مورد این ۷تا بیش‌تر می


این مواردی که گفتم نظریه نیست! به قول استاد Clayton Christensen:

اختلال یک نظریه نیست. این یک واقعیت است.

و بحث منم این نیست که این ۲تا اصل بدن جای مناسب و حد مناسب رو باید رعایت کرد تا تو دام اون واقعیت‌ها نیافتیم.

نظر شما چیه؟

توسعه نرم‌افزاراستراتژی
ناجی کسب‌وکارهای نرم‌افزازی، پل ارتباطی بیزینس و صفر و یک
شاید از این پست‌ها خوشتان بیاید