Saya bekerja untuk sebuah perusahaan pengembangan perangkat lunak di mana pekerjaan pengembangan telah ditunda untuk kami. Tim di darat menangani dukungan dan berbicara langsung dengan klien. Kami tidak pernah berbicara dengan klien secara langsung. Kami hanya berbicara dengan orang-orang dari tim darat, yang berbicara langsung dengan klien.
Ketika persyaratan datang, tim di darat berbicara dengan klien dan membuat dokumen persyaratan dan memberi tahu kami. Kami membuat dokumen desain setelah mempelajari persyaratan (kami mengikuti model air terjun tradisional).
Tetapi ada satu masalah dalam keseluruhan proses: tidak ada seorang pun di tim lepas pantai atau di darat yang memahami fungsi aplikasi sepenuhnya. Kami hanya tahu ini adalah aplikasi web kompleks besar yang menangani pemrosesan pesanan kompleks, manajemen katalog, manajemen kampanye, dan aktivitas lainnya. Kami berjuang dengan dokumen desain karena persyaratannya tidak jelas. Kemudian masuk ke serangkaian pertanyaan / jawaban bolak-balik antara tim on shore, tim off shore dan klien. Kita sering diberitahu untuk memahami fungsionalitas dari kode. Tapi itu biasanya tidak layak karena basis kode sangat besar dan bahkan memahami item menu sederhana butuh berhari-hari jika tidak berminggu-minggu. Kami mencoba memberi tahu klien untuk memberi kami transfer pengetahuantentang aplikasi tetapi tidak berhasil. Manajer kami akan sering memberi tahu kami untuk memulai pengkodean bahkan jika dokumen desain tidak lengkap atau persyaratan tidak jelas. Kita akan mulai dengan mengkode bagian dari persyaratan yang tampak jelas dan menunggu sisanya.
Ini biasanya akan menunda penyebaran sebulan. Dalam kasus ekstrim kami akan memiliki kesalahan sangat rendah dalam pengembangan dan produksi tetapi klien akan mengatakan itu bukan yang mereka tanyakan. Itu akan memulai permainan menyalahkan dan serangkaian permintaan perubahan dan kami akhirnya akan mengembangkan sesuatu yang sangat berbeda.
Pertanyaan saya adalah bagaimana Anda melakukan pengembangan jika Anda tidak mengetahui fungsionalitas aplikasi sepenuhnya?
MEMPERBARUI
Metodologi pengembangan itu bukan pilihan saya dan saya bukan pemimpin tim saya. Begitulah awalnya. Saya mencoba memberi tahu orang-orang tentang keuntungan gesit tetapi tidak berhasil. Selain itu saya tidak berpikir tim saya memiliki pola pikir yang diperlukan untuk bekerja di lingkungan yang gesit.