Milik saya adalah kisah "sukses". Proyek saya melibatkan situs utama dengan 4 situs satelit yang dikelola / ditulis secara independen (subdomain dengan aplikasi berbeda pada mereka). Kami memiliki 4 basis pengguna utama (semua dalam direktori aktif yang terpisah) dan tidak ada yang memiliki sistem otentikasi umum. 3 adalah aplikasi mapan dan silo'd dan satelit ke-4 adalah merek baru dan telah menyalin banyak basis kode dari situs kami yang paling mapan.
Sasaran: Menerapkan sistem identitas perusahaan yang dapat mengotentikasi akun di 4 domain dan mengelola penuh (dengan swalayan) akun di 1 domain. Karena .Net sudah diterapkan pada satelit, situs asp klasik yang berfungsi sebagai "pemimpin" perlu ditulis ulang, manajemen identitas ditambahkan, dan semua situs akan memerlukan pengujian regresi untuk memastikan tidak ada layanan yang terpengaruh.
Sumber: 3 arsitek utama - programmer, manajemen identitas, manajer proyek. Sekitar 20 pengembang, 10 analis, 10 penguji.
Waktu sampai selesai (mulai dari selesai): 1,5 tahun
Peluncuran Sukses: Near Failure
Keberhasilan Umur Panjang: Hebat
Saya adalah arsitek manajemen identitas, jadi saya merancang basis data, subsistem, dan antarmuka logis tempat semua satelit akan berinteraksi. Arsitek "programmer" adalah pengembang utama dengan pengetahuan bisnis yang luas dari semua satelit dan pengalaman dengan aplikasi dan pengembangannya hingga saat itu.
Setelah beberapa bulan persyaratan berkumpul dengan 50 orang atau lebih yang berbeda dari berbagai departemen di perusahaan kami, kami berhasil membuat arsitektur logis terselesaikan dan mulai mengeluarkan kode. Karena sifat perubahannya, kami harus menulis ulang situs web kami sendiri dan semua fungsi yang terkandung di dalamnya. Net. Dalam beberapa kasus itu hanya masalah refactoring. Dalam banyak kasus itu melibatkan penulisan ulang lengkap dari proses di sekitarnya. Dalam 2 kasus kami hanya mengabaikan fitur asli karena tidak penting. Kami melewatkan 2 tenggat waktu dalam proses (tetapi akhirnya mencapai batas waktu asli yang saya usulkan - hampir tidak). Pada hari peluncuran tidak ada yang berhasil. Kami meluncurkan pada hari Sabtu sehingga dampaknya sangat minim, tetapi saya menghabiskan sepanjang hari menyisir log, menulis ulang, dan mengevaluasi beban server. Lebih banyak pengujian mungkin membantu.
Pada akhir hari pertama, semua situs sudah berjalan dan semuanya berjalan dengan baik (saya katakan sukses nominal). Selama 2,5 tahun terakhir semuanya telah sukses luar biasa. Memiliki semua situs kami pada arsitektur umum dengan basis kerangka kerja yang sama telah membuat pengembangan dan kerja lintas-pengembang menjadi lebih mudah. Fitur yang saya tulis di situs kami 2,5 tahun yang lalu (selama penulisan ulang kami) sejak itu telah dilihat / diadopsi oleh beberapa silo satelit.
Kami telah meningkatkan pencatatan, pelacakan pengguna, peningkatan waktu, aplikasi tunggal yang bertanggung jawab untuk otentikasi / otorisasi / identifikasi. Silo satelit dapat fokus sepenuhnya pada aplikasi mereka dan dapat mempercayai bahwa ada masalah otentikasi / otorisasi dengan aplikasi manajemen identitas.
Proyek kami banyak frustrasi, sakit hati dan bencana. Pada akhirnya itu terbayar dan kemudian beberapa. Saya 100% setuju dengan penilaian Joel Spolsky tentang penulisan ulang sebagai aturan umum, tetapi selalu ada pengecualian. Jika Anda mempertimbangkan untuk menulis ulang, Anda hanya perlu memastikan itu benar-benar yang Anda butuhkan. Jika ya, maka bersiaplah untuk semua rasa sakit yang menyertainya.