در بحث مهندسی نرم افزار و برنامه نویسی ، یکی از مهمترین نکات کنترل کردن به روز رسانی ها و ارائه نسخه های جدید از نرم افزارها است ، برای نرم افزارهای بسیار سنگین و بزرگ ، مدیریت کردن تغییرات ، مستند سازی و مدیریت خطاها در نسخه های جدید بایستی مدیریت شوند تا براحتی بتوان به روز رسانی ها را به بهترین شکل انجام داد و مشکلات نرم افزار را با توجه به نسخه ارائه شده از آن مدیریت کرد ، در اینجا مفهومی به نام کنترل سورس یا Source control مطرح می شود که مهمترین کار آن مدیریت نسخه یا Version Control در نرم افزار و ایجاد یک محیط یکپارچه برای ارائه کردن تغییرات نرم افزارها توسط برنامه نویس هایی می شود که روی یک پروژه سنگین نرم افزاری کار می کنند.