Saat memulai proyek baru, bos saya selalu menghindari untuk membuat keputusan yang pasti. Dia biasanya berkata: ok, mulailah menulis sesuatu dan menjadi generik mungkin. Setelah selesai, kami melihat bagaimana kami melanjutkan. Argumennya pada dasarnya adalah bahwa Anda tidak pernah tahu dan "pengembangan gesit".
Untuk menjaga pertanyaan itu seumum mungkin: apa yang Anda lakukan jika bos Anda tidak suka membuat keputusan?
Cukup pertahankan dan tulis kode yang mungkin menjalani refactoring berat dan penulisan ulang sebagian beberapa minggu kemudian? Atau teruskan berdiskusi sampai bos melakukan setidaknya beberapa keputusan? Ini kurang lebih strategi saya saat ini. Karena itu seperti hukum fisika, pada titik tertentu sesuatu perlu disampaikan. Entah karena bos bos ingin melihat hasil atau karena hal-hal menjadi konyol di beberapa titik.
Saya juga mengamati bahwa bos saya mengkritik hampir semua hal. Bahkan saran yang didasarkan pada ...
Jawaban:
Bangun prototipe
Mulailah menggambar layar yang tidak melakukan apa-apa pada awalnya (mungkin Anda punya cukup untuk melakukan itu?)
Anda harus dapat membuatnya berfungsi sebagian secara perlahan, dan akhirnya memperbaiki beberapa kode buruk ketika menjadi lebih jelas apa yang Anda coba lakukan.
Ini adalah masalah umum bahwa mereka tidak tahu apa yang mereka inginkan sampai mereka melihat sesuatu dan menyadari itu bukan yang mereka inginkan. Saya telah menemukan bahwa ketika seseorang ingin Anda mulai membangun 'kerangka kerja' atau sesuatu yang 'generik' seperti apa yang dia katakan kepada Anda, Anda hanya akan mendapat masalah jika Anda mencoba. Kerangka kerja sudah ditulis, Anda tidak perlu melakukan itu.
sumber
Ada beberapa masalah yang telah saya kumpulkan dari pesan Anda: 0-Ini bukan tugas Anda untuk mengelola proyek dan itu bukan tugas Anda untuk mengumpulkan persyaratan pengguna akhir. 1-Bos tidak tahu persyaratan yang tepat 2-Bos tidak berbicara dengan pengguna akhir tentang persyaratan 3-Bos melontarkan terminologi dia tidak benar-benar mengerti gesit 4-Anda sedang mengerjakan beberapa solusi yang akan kembali ditulis beberapa kali dan Anda tidak senang karenanya
Adapun 1,2 dan 3 ada sedikit yang bisa dilakukan tentang ini jika Anda bukan orang yang senior. Namun, hal berikut dapat dilakukan:
A - Minta dia untuk berbagi dengan Anda rencana proyek. Dia mungkin memiliki satu atau akan membangun satu yang menunjukkan tugas dan tenggat waktu. Salah satunya harus tentang analisis dan pengumpulan persyaratan. Jika tidak menyarankannya.
B - Menyiapkan beberapa referensi tentang pentingnya persyaratan untuk keberhasilan proyek perangkat lunak
C - Siapkan dia 1 halaman dari apa Agile itu dan tidak.
D - Siapkan dia daftar input khas untuk tahap desain dan meyakinkan dia tentang nilai masing-masing.
E - Sarankan penambahan analis bisnis dan / atau pemodel data ke tim. Peran seperti itu harus diduduki oleh pengguna akhir dan akan memberi Anda informasi yang diperlukan atau setidaknya bagian yang baik darinya.
F - Lihat bagaimana pengembang lain terkurung dengan orang ini.
Adapun # 4, Anda dapat menyarankan kepadanya untuk menggunakan pendekatan prototyping atau generator kode yang akan membantunya, Anda dan pengguna untuk membuat pikiran mereka tentang aspek-aspek fungsional aplikasi. Sebagian besar alat tidak menghasilkan GUI yang sempurna, tetapi setidaknya Anda dapat menangkap fungsionalitas yang diperlukan.
Dalam semua kasus, pastikan bahwa Anda mendokumentasikan setiap iterasi dengan jelas dan mengiriminya email tentang input apa yang telah Anda terima, apa yang Anda lakukan (dalam beberapa detail) dan apa hasilnya. Pastikan Anda menghubungkan hasil dengan penyebab yang tepat seperti (kurangnya persyaratan, dll.).
Sayangnya beberapa orang tidak menerima saran. Jadi berhati-hatilah bagaimana Anda berkomunikasi dengannya.
Ini tidak berjalan dengan baik!
Semoga berhasil.
sumber
Saya dulu punya bos seperti itu - sebenarnya saya akan bergurau bahwa mottonya adalah "keragu-raguan adalah kunci fleksibilitas".
Apa pun pengembangan yang Anda lakukan, Anda mungkin berada dalam posisi yang lebih baik untuk menyelesaikan masalah klien daripada bos Anda. Jika Anda tidak tahu apa masalahnya yang coba dipecahkan klien (yang tidak sama dengan spek), maka seseorang tidak melakukan pengumpulan kebutuhan dengan benar.
Buat sketsa beberapa tata letak halaman, atau buat prototipe non-fungsional. Tetapi lakukan sesuatu. Tidak jelas dari pos Anda apakah Anda sedang membangun perangkat lunak klien lengkap atau aplikasi web, tetapi keindahan yang terakhir adalah Anda dapat merilisnya lebih awal, lebih sering rilis. Mulailah dengan tulang-telanjang dan kerjakan dari sana. Awal yang salah tidak ada salahnya jika ada dialog yang mengalir dan beberapa keputusan dibuat.
Kami memiliki pepatah sekitar $ KERJA (aplikasi web internal) untuk klien kami: "Saya akan memberi Anda sesuatu sehingga Anda dapat memberi tahu saya apa yang Anda inginkan." Bersiaplah untuk membuang draf pertama, tetapi Anda mungkin akan terkejut betapa jarang Anda harus melakukannya.
sumber
Tunjukkan kepadanya bahwa buku-buku Agile menyarankan untuk menunda keputusan selama Anda bisa tetapi tidak lebih dari itu . Setiap keputusan memiliki titik di mana itu harus dibuat, dan mungkin Anda ada di sana sekarang.
Di sisi lain, tanyakan juga diri Anda. Apakah Anda benar-benar perlu memutuskan lapisan kegigihan apa yang akan Anda gunakan untuk aplikasi ini? Atau bisakah Anda mulai menulisnya ke CSV dan membuatnya cukup abstrak untuk membuat keputusan nanti?
sumber
Tulis dokumen spesifikasi Anda sendiri dan tahan ulasan di mana Anda menjelaskannya dan dia menandatanganinya. Maka Anda akan menjadi bos, dan bos Anda akan pindah ke masalah manajemen yang lebih interpersonal daripada masalah teknis.
sumber
Terlibat dalam 'manajemen ke atas' berbicara dengan bos dan klien Anda, mencari tahu beberapa solusi, memilih yang terbaik untuk diimplementasikan oleh tim Anda, menemukan kekurangan di yang lain, dan 'mengelola' manajer Anda untuk membuat keputusan 'tepat'.
Dan tentu saja memastikan dia berpikir itu semua idenya. (Terutama ketika semuanya salah!)
sumber
Anda perlu merancang dan mengimplementasikan sesuatu. Karena bos Anda tidak akan membuat keputusan maka buatlah sendiri. Luangkan sedikit waktu ekstra untuk mendokumentasikan keputusan dan asumsi Anda sebelum menerapkannya. Kirimkan ke siapa pun yang berkepentingan termasuk atasan Anda. Mudah-mudahan, daftar itu mencakup lebih dari bos Anda karena akan memberi sedikit tekanan kepadanya untuk membuat beberapa keputusan karena dia tahu bahwa orang lain sadar bahwa Anda siap untuk melanjutkan. Anda akan terkejut betapa cepatnya Anda mendapatkan umpan balik ketika Anda membuat keputusan secara tertulis, terutama jika Anda membuat keputusan yang tidak disetujui orang lain. Sementara itu, saya akan melanjutkan dengan keputusan yang Anda buat sampai mengatakan sebaliknya.
Jika Anda akhirnya membuang-buang waktu untuk mengimplementasikan apa yang tidak diinginkan atasan Anda, itu ada pada dirinya dan bukan Anda karena dia tahu jalan yang akan Anda ambil.
Juga, beberapa orang mengalami kesulitan untuk memulai, tetapi begitu mereka melihat sesuatu yang berwujud maka pikiran mereka akan masuk. Mungkin bos Anda seperti itu dan Anda mengatakan kepadanya apa yang Anda rencanakan untuk dilakukan secara tertulis akan membuat pikirannya bergerak.
sumber
Buat keputusan sendiri dan mulai koding. Tentu saja, mengembangkan dengan cara yang fleksibel akan membantu (baca Pola, Prinsip, dan Praktek Agile Robert C Martin jika Anda belum melakukannya) tetapi semua fleksibilitas di dunia tidak akan membantu jika tidak ada keputusan yang pernah dibuat. Anda mungkin harus mengembangkan apa yang Anda pikirkandiperlukan, dan kemudian mengubahnya sesuai kebutuhan. Seringkali klien / bos tidak tahu apa yang mereka inginkan sampai mereka melihatnya, atau sampai mereka melihat sesuatu yang tidak mereka inginkan. Ini mungkin akan membawa Anda keluar dari ruang lingkup menjadi pengembang, tetapi itulah kehidupan. Saya sering menemukan bahwa saya dan kolega saya secara efektif membuat keputusan bisnis. Kadang-kadang ini tidak dipertanyakan, dan keputusan yang saya buat mulai mengarahkan bisnis, murni karena tidak ada orang lain yang akan membuat keputusan. Pastikan untuk mencantumkan SEMUA asumsi dan keputusan Anda (tanpa pengecualian) dan berikan ini kepada atasan Anda.
sumber