Kami telah membangun CRM untuk klien. Sekarang setelah fase utama pertama telah selesai, dan yang kedua disepakati, klien ingin mengambil beberapa pekerjaan, membuat sedikit perubahan pada skema database dan proses bisnis fase pertama sementara kami membangun yang kedua .
Saya ragu-ragu apakah ini memang praktis, tetapi dengan asumsi itu, saya ingin beberapa petunjuk yang dapat diambil langkah-langkah untuk membuat ini sama sekali bisa diterapkan. Inilah yang saya dapatkan sejauh ini:
Sampai sekarang, sebagian besar klien telah melihat proyek dari sudut pandang pengguna; jelas, seminar dua bagian harus diadakan di tempat kami memperkenalkannya pada pekerjaan batin:
- pertama, menunjukkan skema database yang ada dan, sebagai contoh, memperluasnya,
- kemudian, menunjukkan beberapa kode sampel, dan menulis proses bisnis baru untuk peningkatan skema.
- Kode saat ini berada di repositori Subversion internal. Sementara kita bisa mendirikan satu publik atau satu di nya jaringan (yang kita dapat VPN ke), saya merasa sistem terdistribusi akan bekerja lebih baik. Namun, saya tampaknya menjadi satu-satunya yang merasa demikian, sehingga saya dapat menggunakan beberapa argumen yang meyakinkan.
Saya tidak yakin bagaimana mengamanatkan / memastikan bahwa kode yang berjalan dalam produksi berkomitmen. Sepertinya "x melakukan perubahan kritis, tidak berdokumen tepat sebelum pergi berlibur; sekarang Anda sedang mencoba mencari tahu bug ini yang telah terjadi sejak" bencana tidak bisa dihindari. Idealnya, semua perubahan, sebelum penempatan, akan:
- didokumentasikan dalam sistem pelacakan masalah,
- terjadi pada lingkungan pengujian terpisah terlebih dahulu, dan
- harus lulus tes otomatis.
Sayangnya, saya ragu disiplin untuk siapa pun dari mereka yang akan menang.
Asumsikan bahwa arsitektur plug-in atau proyek terpisah bukan pilihan yang layak, karena 1) yang sebelumnya tidak ada, dan 2) yang terakhir akan melarang klien dari melihat dan mungkin memodifikasi kode yang ada, suatu kemampuan yang saya percaya dia akan lakukan bersikeras.