Software Entropy (آنتروپی نرم افزار)

آنتروپی (میزان بی نظمی در یک سیستم) یک مفهوم ریاضی و علمی است که می تواند در سیستم های نرم افزاری نیز کاربرد داشته باشد. (اگر به ریاضیات و علوم آنتروپی علاقه دارید، قانون دوم ترمودینامیک را جستجو کنید.) 

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

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

متأسفانه، آنتروپی نرم افزار به ندرت اهمیتی را که شایسته آن است، قائل می شود. هنگام بیرون کشیدن فردی از تیم توسعه، شروع پیش از موعد یک چرخه ی توسعه، یا اجرای "رفع سریع باگ ها"، لحظاتی که در واقع، احتمال رشد آن بسیار زیاد است، هیچ توجهی به آن نمی شود.