Jika data yang Anda rencanakan untuk dimigrasi saat ini buruk, perlu diperbaiki apakah Anda melakukan migrasi atau tidak. Data buruk = data tidak berguna.
Migrasi itu berisiko, itu benar. Tapi begitu pula setiap proyek TI besar. Ada beberapa cara untuk mengurangi risiko dan risiko tersebut harus direncanakan di muka dalam suatu migrasi.
Pertama, Anda harus selalu memiliki cara untuk kembali ke sistem seperti sekarang. Migrasi kedua harus dilakukan pada server uji yang disiapkan hanya untuk migrasi. Adalah bodoh untuk melakukan migrasi tanpa kemampuan untuk mengujinya terlebih dahulu. Ketiga, semua kode untuk migrasi harus dalam kontrol sumber.
Keempat, Anda memerlukan persyaratan dan rencana pengujian sebelum memulai migrasi. Anda perlu tahu bahwa jika Anda memiliki 1.293.687 catatan dalam sistem lama, bahwa Anda memiliki yang sama di yang baru atau Anda tahu di mana mereka pergi (ke tabel pengecualian mungkin). Jika Anda menormalkan skema denormalized, Anda perlu menghitung berapa banyak catatan Anda harus berakhir dengan sebelum Anda mulai dan kemudian memeriksanya. Anda memerlukan dokumentasi yang menentukan apa pemetaan dari satu sistem ke sistem lainnya. Ini akan membantu orang-orang QA Anda memeriksa untuk melihat bahwa data pergi ke tempat yang tepat.
Anda perlu menentukan cara menangani data buruk saat ini. Apa yang bisa dibersihkan, apa yang mungkin membutuhkan nilai di bidang yang diperlukan yang mengatakan 'Tidak Diketahui', apa yang harus dibuang ke tabel pengecualian, apa yang perlu intervensi manual oleh sekelompok pengguna (memutuskan apakah kedua orang ini benar-benar dup atau tidak apakah ada dua dokter dalam praktek itu dengan nama yang sama misalnya dan jika itu adalah dup mana data yang harus dipilih ketika dua catatan berbeda, dll.).
Kunci keberhasilan migrasi adalah perencanaan. Saya telah menemukan bahwa perencanaan (yang mencakup penulisan kasus uji dan tes unit) biasanya membutuhkan waktu lebih lama daripada pengembangan yang sebenarnya.
Kunci berikutnya untuk migrasi data yang sukses adalah QA. Ini bukan proyek untuk dilemparkan ke tim QA sehari sebelum peluncuran. Ini bukan proyek untuk diluncurkan ketika QA mengatakan ada masalah.
Kunci lain untuk migrasi yang berhasil adalah untuk menggunakan sebagian besar data dan mengujinya saat sistem asli masih berjalan. Jika Anda memindahkan banyak catatan, ini bisa memakan waktu dan perubahan baru akan terjadi. Jadi proses Anda harus dapat menarik perubahan data setelah migrasi dimulai juga. SQL Server misalnya memiliki sesuatu yang disebut Ubah Data Capture yang dapat membantu dengan ini. Anda dapat mengambil cadangan sistem asli dan mengaktifkan perubahan pengambilan data secara bersamaan. Kemudian Anda dapat mem-resot cadangan ke server migrasi Anda, menguji migrasi, mendapatkan sebagian besar data yang dimuat dan kemudian Anda hanya perlu memuat catatan yang telah berubah. Saat Anda memigrasi catatan akhir, matikan sistem sumber sampai migrasi selesai. Ini adalah salah satu alasan untuk memigrasi sebagian besar catatan sebelumnya, jadi aplikasi turun paling sedikit waktu. Pilih waktu migrasi Anda dengan baik, jangan tutup sistem penggajian pada hari mereka harus memproses penggajian atau mengirimkan W2s. Dan lakukan selama jam penggunaan rendah. Jika Anda memiliki banyak klien, Anda dapat mempertimbangkan untuk bermigrasi terlebih dahulu dan memastikan semuanya baik sebelum melakukan yang lain. Jauh lebih mudah untuk mengembalikan data satu pelanggan dari 10.000 jika ada masalah. Tetapi rencanakan ini dengan hati-hati jika Anda melakukannya. Data lebih dari 10.000 jika ada masalah. Tetapi rencanakan ini dengan hati-hati jika Anda melakukannya. Data lebih dari 10.000 jika ada masalah. Tetapi rencanakan ini dengan hati-hati jika Anda melakukannya.
Jika migrasi melibatkan antarmuka pengguna baru, harap minta pengguna yang sebenarnya untuk menggunakannya sebagai bagian dari pengujian migrasi. Kemudian latih pengguna lain sebelum ditayangkan (tetapi kurang dari seminggu sebelum ditayangkan atau mereka akan lupa). Jika pengguna terlibat dalam pengujian membantu merancang pelatihan, mereka tahu pertanyaan apa yang mereka miliki dan apa yang orang perlu ketahui dalam urutan apa. Dapatkan input mereka, buat bidang yang diperlukan karena menurut Anda seharusnya tidak akan membantu jika pengguna biasanya tidak memiliki data saat mereka memasukkan catatan. Mereka hanya akan memasukkan sampah ke dalam bidang yang baru diperlukan karena mereka tidak bisa mendapatkan data di sebaliknya.
Lihatlah apa yang salah dengan data saat ini, dapatkah Anda menambahkan kunci asing, batasan, pemicu, aturan bisnis dalam aplikasi, nilai default, dll. Untuk menghindari hal ini menjadi buruk di masa mendatang? Saat Anda membersihkan data yang buruk, Anda juga perlu menciptakan cara untuk menghindari agar data yang buruk tersebut tidak masuk di masa mendatang. Menganalisis mengapa data buruk disatukan dan memperbaiki desain lubang.