Salah satu tugas utama di piringku adalah berkomunikasi dengan klien. Satu hal yang saya rasa sangat sulit adalah berurusan dengan tenggat waktu karena mereka diamanatkan oleh klien dan saya sering tidak berkonsultasi.
Jika Anda seharusnya bertanggung jawab untuk berkomunikasi dengan klien, mengapa Anda tidak berkonsultasi tentang penjadwalan (dan penganggaran) sehingga Anda dapat mengkomunikasikan informasi ini antara orang-orang yang bertanggung jawab untuk mereka dalam organisasi Anda dan rekan-rekan mereka di sisi klien? Saya pikir memperbaiki masalah ini akan sangat bermanfaat bagi Anda, tim Anda, dan proyek Anda.
Klien datang dengan fitur yang ingin mereka tambahkan, Fitur X. Fitur X akan terlihat bagus di rilis aplikasi minggu depan yang berjarak sekitar 6 hari kerja. Pada titik ini, permintaan fitur perlu melalui persetujuan dan seringkali ada dependensi lain yang perlu ditangani. Akhirnya, N hari kemudian, permintaan fitur mengalir ke tim saya. Bahkan jika batas waktu asli (yang ditetapkan oleh manajer non-pengembang) dapat dicapai, itu tidak lagi.
Sistem penjadwalan ini tampaknya aneh, untuk sedikitnya.
Dalam pengalaman saya, klien masuk untuk rilis tertentu. Mereka mungkin mengirimkan daftar fitur dan perubahan yang mereka inginkan dan kapan pun mereka inginkan, dan kemudian bernegosiasi dengan tim yang membangun perangkat lunak. Atau mereka mungkin memberikan daftar fitur yang diprioritaskan kepada tim pengembangan, dan tim pengembangan memberikan perkiraan kapan mereka dapat mengirimkan berbagai set fitur. Ada varian lain juga.
Tapi satu hal yang belum pernah saya lihat diizinkan adalah seorang pelanggan dapat mengubah rilis begitu terlambat dalam permainan, terutama tidak seminggu lagi dari rilis. Tampaknya tidak tepat untuk menempatkan desainer, pengembang, dan penguji di bawah tekanan semacam itu. Jika Anda melakukan pengembangan berulang, jika ini merupakan fitur prioritas tinggi, pastikan untuk menambahkannya ke bentuk jaminan simpanan dan bawa sesegera mungkin. Jika ini bukan fitur prioritas tinggi, mereka pasti tidak membutuhkannya selama rilis ini dan dapat menunggu sampai yang berikutnya.
Saya akan merekomendasikan pengaturan beberapa aturan dasar yang mengakomodasi tim desain, pengembangan, pengujian, dan pengiriman Anda serta pelanggan Anda untuk fitur pembekuan, pembekuan kode, dan pengiriman. Letakkan ini secara tertulis, dapatkan komitmen dari semua orang, dan patuhi itu. Jika Anda beranjak satu kali, Anda akan diharapkan untuk menekuk lebih banyak, dan Anda akan kehilangan kendali proses.
Sayangnya, tidak banyak yang bisa saya lakukan karena saya tidak dalam posisi berkuasa di sini.
Anda mungkin tidak sendirian. Tapi sepertinya desainer dan / atau pengembang dan / atau penguji Anda berada di bawah banyak tekanan untuk memenuhi jadwal. Anda harus duduk bersama atasan Anda sebagai sebuah tim dan menjelaskan situasinya. Pertama, buat organisasi Anda untuk berkomitmen pada perbaikan dalam proses, kemudian bekerja dengan klien untuk mendapatkan dukungan mereka tentang bagaimana hal-hal akan bekerja.
Ini terasa seperti saya membuat alasan.
Ketika Anda mulai membuat alasan, mungkin sudah saatnya untuk Melakukan Percakapan Sulit atau Pembicaraan Penting . Saya akan merekomendasikan salah satu dari dua buku itu. Membaca mereka telah membantu meningkatkan keterampilan komunikasi saya, terutama ketika Anda harus menghadapi situasi sulit di mana ketegangan tinggi di semua sisi.
Untuk menjawab beberapa jawaban lainnya.
Sedihnya, kekuasaan sebagian besar diambil oleh Anda sendiri daripada diberikan kepada Anda oleh orang lain.
Saya tidak tahu ke mana Andrea akan pergi dengan ini. Ya, Anda perlu memperbaiki arus informasi. Tetapi Anda perlu bekerja dengan PM dan klien untuk memastikan bahwa semua orang tahu apa yang (saya asumsikan, bagaimanapun) disepakati pada awal proyek. Jika pengaturan, untuk alasan apa pun, tidak berhasil, kunjungilah kembali dan sebarkan kembali pekerjaan dan peran kepada orang-orang yang lebih cocok untuk mereka.
Anda tidak mengambil kekuatan atau melawan kekuatan, tetapi Anda bekerja dengannya, mencoba menjinakkannya dan membuatnya berfungsi untuk semua orang.
Masalahnya adalah - pelanggan kebanyakan tahu nilai bisnis untuk fitur tersebut, tetapi tidak menyadari kompleksitasnya. Cukup diskusikan dan klarifikasi. Selalu.
Kutipan dari loki2302 ini cukup tepat. Salah satu pekerjaan Anda sebagai insinyur perangkat lunak adalah memastikan bahwa orang yang tepat mengetahui hal-hal seperti betapa sulitnya tugas itu, berapa lama waktu yang diperlukan, dan jenis pilihan dan risiko apa yang ada dalam melakukan sesuatu. Sebagai komunikator utama untuk tim Anda, menyampaikan informasi ini dari organisasi Anda kepada pelanggan Anda, secara teori, adalah pekerjaan Anda.