ما به عنوان مهندسین نرمافزار عادت کردیم که نرمافزار بسازیم، در حقیقت به آن معتاد شدهایم. به خاطر همین موضوع است که اغلب دوست نداریم به این فکر کنیم که تغییری که در نرمافزار میدهیم چطور باید در نسخه لایو اجرایی شود. خیلی وقتها نرمافزار را به صورت بسیار عالی تغییر میدهیم، ولی برنامهای برای اینکه این تغییر چطور باید در نسخهاجرایی اعمال شود نداریم.
یکی از دغدغه اصلی یک مهندس نرمافزار خوب، تمرکز بر Software Migration است. هر قطعه کدی که توسط یک مهندس نرمافزار نوشته میشود باید با دید یک Change دیده شود که باید روی نسخه لایو اعمال شود، نه صرفا یک کد جدید که Create شدهاست.
ایجاد (Create) بدان معنی آن است که شما چیزی را ایجاد می کنید که قبلاً وجود نداشت. فقط یکبار، هیچ چیز روی هارد دیسک وجود نداشت و بعد از ساخت نرم افزارتون ، چیزی بوجود خواهد آمد تا بتوانید آن را در دیسک سخت خود کپی کنید. آفرین!
حالا مشکل کجاست!؟ مشکل هارد دیسکه! که دیگه الان خالی نیست! چیزی که در اونجا قرار داره ورژن قدیمی نرم افزار شماست. همچنین شما چیزی که میخواهید فقط نمیتوانید بسازید. شما باید برنامهای برای تغییرات برنامه قدیمتون به برنامه جدید داشته باشید.
این کار فقط اضافه کردن کلاسها و جداول تازه به برنامه خودتون نیست. شما در حال تغییر و ویرایش کلاسها و جداول برنامه قدیمی خود هستید. شما نمیتوانید به طور مثال جداول قدیمی پاک کنید و جداول جدید را ایجاد کنید. شما باید برنامهای برای تغییر شکل سیستم خود داشته باشید.
خوب این یک تغییر بزرگه! چون شما در حال نوشتن یک قطعه کد نیستید شما در حال نوشتن یک قطعه تغییر در نرم افزار خود هستید.
منبع: http://mehrandvd.me/2015/09/06/be-a-developer-not-a-programmer/