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