یک اصطلاح قدیمی و کاربردی در مهندسی نرم افزار رایج است به نام a big ball of mud یا همان توپ بزرگی از گل!
این اصطلاح اولین بار توسط دو دانشمند علوم کامپیوتر به نام های Brian Foote و Joseph Yoder مطرح شد اشاره داره به سیستم نرم فزاری که به دلایل گوناگون از جمله فشار کسب و کار، طراحی ضعیف، عدم شناخت درست دامنه فعالیت و... به مرور به یک پروژه با معماری بهم ریخته و با آنتروپی بالا تبدیل شده است.
در واقع وقتی پروژه نرم افزاری به توپی از گل تبدیل شد نگهداری و توسعه آن عملا غیر ممکن میشود و یا هزینه نگهداری و ارتقا آن بشدت بالا میرود.
پس از مهمترین وظایف یک معمار و مهندس نرم افزار جلوگیری از تولید توپ بزرگ گِلی است! و رعایت این مهم از همون فازهای اولیه تولید و طراحی یک نرم افزار آغاز میشود.
یکی دیگه از کارهای مهم مهندسان نرم افزار که از کار اول هم سختتر است این است که متوجه بشوند که واقعا پروژه ای که روی آن کار میکنند به توپ گل تبدیل شده است یا خیر! تشخیص درست(در زمان درست) این موضوع، از هدر رفت منابع و هزینه های بسیاری جلوگیری خواهد کرد.
برای جلوگیری از تولید یک توپ بزرگ از گل این ویدیو خیلی خوب و کاربردی توضیح میده چه کارهای باید بکنیم و چه کارهایی را نه! همچنین اگر به این موضوع علاقه داشتید پیشنهاد میکنم این ارائه از گوگل تک تاک رو هم ببینید.