ریسک عملیاتی، بدهی فنی و محدودیتهای معماری رو کم کنید، بدون اینکه مجبور بشید سیستمهای حیاتیتون رو با یک بازنویسی پرریسک جایگزین کنید.
برنامهریزی یک مدرنسازیهر سیستم قدیمی زمانی معماری تمیز یک نفر بوده — بدهی فنی از سالها استفادهی واقعی، الزامات درحالتغییر و میانبرهایی که زیر فشار ددلاین زده شده، جمع میشه، نه از اینکه کسی کارش رو بد انجام داده. یک بازنویسی کامل جذاب به نظر میرسه تا وقتی هزینهی واقعیش رو بشمرید: ماهها یا سالها بدون عرضهی چیز جدید، و یک احتمال واقعی که جایگزین همهی edge caseهایی که سیستم قدیمی بیسروصدا پوشش میداد رو نپوشونه. ما بهجاش تدریجی مدرن میکنیم — تجزیهی یک مونولیت تکهتکه، مهاجرت دیتابیس بدون داونتایم، جایگزینی یک کامپوننت در هر مرحله پشت یک اینترفیس پایدار — تا سیستم همچنان کار کنه و همزمان بهتر بشه. هر برنامهی مدرنسازیای که مینویسیم نقاط rollback صریح داره، چون ریسک یک قدم مهاجرت اشتباه بهاندازهی فایدهی قدم بعدی اهمیت داره.
معماری، وابستگیها و ریسکهای خاصی که یک تغییر ممکنه ایجاد کنه رو نقشهبرداری میکنیم.
مدرنسازی رو به مراحل امن و مستقل با نقاط rollback ترتیب میدیم.
یک کامپوننت، سرویس یا دیتاستور رو در هر زمان پشت یک اینترفیس پایدار جابهجا میکنیم.
هر مرحله رو با ترافیک واقعی production و دادهی واقعی، قبل از رفتن به مرحلهی بعد، تأیید میکنیم.
معماری جدید رو مستند و تیمتون رو روش آموزش میدیم، یا بهعنوان بخشی از دراپ تمپو ادامهش میدیم.
محصولات و خدمات نرمافزاری ما بالاترین استانداردهای کیفیت رو رعایت میکنن.
توی شرایط سخت هم از باورها و اصولمون کوتاه نمیایم. کاری رو انجام میدیم که درسته، نه چیزی که راحتتره.
با استفاده از متدولوژیهای چابک، سرعت توسعه رو بالا میبریم و رابطهی بهتری با مشتریامون میسازیم — و سریع خودمون رو با تغییرات وفق میدیم.
نه. کار رو طوری ترتیب میدیم که تیمتون بتونه همزمان ویژگیهای جدید رو روی بخشهایی که فعلاً درحال مهاجرت نیستن عرضه کنه.
هر مرحله یک نقطهی rollback صریح داره که قبل از شروعش تعریف شده — پس یک قدم اشتباه برگردونده میشه، نه انباشته.
بله. اکثر پروژهها با پرریسکترین یا پرهزینهترین کامپوننت شروع میشن و بر اساس چیزی که یاد میگیریم گسترش پیدا میکنن.
از رفتار واقعی سیستم موجود کار میکنیم، شامل edge caseهای مستندنشدهش، بهجای اینکه از صفر دوباره specifyش کنیم — که دقیقاً همونجاست که بازنویسیها معمولاً قابلیت از دست میدن.