Saya baru saja mengambil pekerjaan baru di sebuah perguruan tinggi sebagai (satu-satunya) pengembang aplikasi Web.
Perguruan tinggi ini memiliki sejumlah sistem warisan yang berbeda tetapi semuanya memiliki kode yang sangat buruk. Sebagian besar dibangun di PHP mereka berurusan dengan hal-hal seperti kehadiran, hasil ujian, penilaian, dll.
Pekerjaan pertama saya adalah membangun sistem yang menggabungkan banyak data ini, yang saat ini beristirahat di berbagai basis data tanpa segala jenis API yang ramah untuk menariknya (sistem yang ada dikodekan dalam vanilla PHP tanpa pemisahan data dan tampilan) dengan platform baru untuk merekam informasi pastoral tentang siswa dan menyajikannya kepada tutor dan staf senior dengan cara yang bermanfaat sehingga mereka dapat bereaksi terhadap masalah dengan siswa dengan cepat.
Dalam pertemuan pertama kami, ada 18 orang! Tidak ada pemimpin atau suara yang jelas yang mewakili mayoritas. Tidak ada klien yang dapat diidentifikasi . Pertemuan berayun dari ide implementasi terperinci pada fitur-fitur kecil dari kepala fakultas ke argumen tentang apakah kita harus menggunakan spreadsheet Excel atau tidak untuk input data!
Seperti yang dapat Anda bayangkan kepala saya berputar di ujungnya. Sebenarnya saya punya banyak ide bagus tapi saya tidak bisa membuatnya didengar. Ini adalah peran yang sangat baru bagi saya, sebelum saya menjadi bagian dari tim pengembangan di agensi pemasaran. Kami memiliki peran yang sangat jelas: Manajer Proyek, Klien, Desainer, Pengembang.
Saya ingin tahu apakah ada pengembang atau manajer berpengalaman yang dapat memberi saya beberapa petunjuk tentang bagaimana saya dapat membuat kolega saya menjadi sesuatu yang menyerupai tim proyek. Apakah lincah cara untuk pergi? Bagaimana Anda mendekati menangani semua suara yang berbeda? Sudah jelas bahwa beberapa proses perlu dilakukan dengan sangat cepat, saya hanya tidak yakin apa itu.
sumber
Jawaban:
Saya tidak akan mengharapkan "proses pengembangan tangkas" di sini sebagai solusi untuk masalah Anda saat ini. Hal pertama yang harus Anda lakukan: bersihkan misi Anda . Itu berarti:
Ini bisa memakan waktu cukup lama, Anda mungkin tidak akan menulis banyak kode pada tahap proyek ini. Dalam situasi seperti itu, Anda harus melakukan "rekayasa persyaratan" terlebih dahulu. Tapi mulai dari yang kecil, pikirkan yang besar. Setelah Anda mengembangkan rilis pertama Anda, Anda akan memiliki sesuatu untuk ditampilkan, membahas persyaratan lagi dengan para pemangku kepentingan dll.
sumber
Pisahkan orang-orang yang benar-benar ingin proyek ini bekerja dari kawanan.
Karena banyak politik, seseorang mengumpulkan pertemuan ini dengan daftar hadir di mana keanggotaan ditentukan oleh siapa yang akan mendapatkan paling marah jika saya tidak mengundang mereka. Itu terjadi. Sasaran ini terpenuhi tetapi sebagai pengembang, Anda menemukan bahwa tidak ada yang diputuskan. Tidak ada yang ditugaskan apa yang harus dilakukan. Jika Anda beruntung, mereka berhasil menjadwalkan pertemuan berikutnya atau melarang, mereka menetapkan pertemuan berulang pada hari Selasa ketiga setiap bulan.
Selanjutnya akan muncul pembentukan komite, sub-komite, dan gugus tugas. Ini lebih betteer, tetapi Anda akan menemukan mereka semua sama tidak berharga.
Akhirnya, Anda akan mencari tahu siapa yang benar-benar peduli dengan proyek ini. Siapa yang benar-benar ingin meluangkan waktu untuk melakukannya dengan benar. Mudah-mudahan, orang ini akan memiliki penyelia yang akan memberi mereka waktu untuk melakukan ini dan tidak hanya menjadikannya item lain dalam daftar todo mereka yang sudah lama. Temukan orang-orang ini SECEPATNYA! Bantu mereka mengelola harapan bos mereka dan mendapatkan komitmen yang disepakati.
Dapatkan sesuatu di depan sebanyak mungkin orang dalam kelompok asli yang bahkan akan repot untuk kembali. Mereka semua mungkin orang yang pintar dan / atau berpendidikan tetapi mereka tidak akan membaca banyak spesifikasi. Mereka akan menyukai beberapa hal, membenci orang lain dan menginginkan lebih. Tidak ada ruginya menuliskan saran, tetapi cobalah membuat pihak itu untuk menindaklanjuti dengan beberapa skin dalam permainan. Jangan berjanji untuk melakukan segalanya. Hanya alamat apa yang bisa dilakukan dalam waktu dekat.
Jika Anda akhirnya harus berurusan dengan lebih dari 5 orang secara teratur, itu karena beberapa manajer membuat beberapa orang mereka terlibat yang tidak benar-benar ingin berada di sana.
sumber
Munculkan daftar ide yang menurut Anda akan memperkuat / meningkatkan sistem yang ada berdasarkan pengamatan Anda dan "kebutuhan" mereka dan memastikan Anda fokus pada di mana Anda dapat mencapai keuntungan nyata yang terlihat. Sertakan dalam daftar itu setiap ide yang menurut Anda akan berguna, serta saran "masuk akal" yang menonjol dari non-devs.
Buat daftar fitur hal-hal yang "harus" dimasukkan dalam upaya pengembangan Anda. Berikan masing-masing anggota "suara" kekuatan, mungkin dalam bentuk "bintang lengket" dan cari tahu apa yang sebenarnya diinginkan oleh masing-masing anggota menempatkan bintang di sebelah apa yang mereka anggap penting. Beberapa orang mungkin berakhir dengan lebih banyak bintang jika mereka menandatangani cek, memiliki keputusan akhir, dll. Setelah itu mudah-mudahan Anda, dan semua orang lain, akan melihat apa yang penting bagi keseluruhan, dan mudah-mudahan mereka akan setuju dengan prioritas, yang akan kemudian terjemahkan ke dalam peta jalan
1). Survei Tim - Cari tahu apa yang dianggap penting / dibutuhkan / prioritas utama oleh setiap anggota
2). Dapatkan sesuatu di luar sana, cepat - Jangan mencoba menyelesaikan semua masalah sekaligus, dapatkan fungsionalitas "minimal" di luar sana dan minta mereka menyetujuinya, kemudian secara kolektif tingkatkan berdasarkan umpan balik dari pengguna.
3). Gunakan umpan balik mereka dan umpan balik dari pengguna lain untuk memandu proses pengembangan
(Bangun, Nilai Umpan Balik, Bangun, Nilai Umpan Balik) Bilas dan Ulangi.
Selain itu, Anda dapat mempertimbangkan untuk menyelesaikan "titik upaya" atau perkiraan jam .. yang mungkin juga membantu dalam penentuan prioritas.
sumber
Tantangan pertama Anda adalah mengidentifikasi kebutuhan untuk proyek ini. Adakan pertemuan lain dengan semua orang itu dan minta mereka untuk menuliskan masalah yang perlu dipecahkan. Jangan biarkan mereka berbicara tentang banyak cara di mana proyek ini akan menjadi solusinya. Paksa mereka untuk benar-benar mengidentifikasi kebutuhan / masalah.
Salah satu cara untuk melakukan ini adalah meminta mereka masing-masing secara individual untuk mendokumentasikan kebutuhan-kebutuhan itu pada catatan tempel - satu gagasan per tempel. Kemudian jalankan Affinity Diagram untuk membantu mereka mengelompokkan ide-ide yang berbeda itu ke dalam kebutuhan spesifik. Terakhir, buat mereka memilih ( Multi-Voting ) sehingga Anda dapat melihat kebutuhan terbesar.
Agile mengingatkan kita untuk menangani fitur yang memiliki nilai pelanggan paling tinggi terlebih dahulu. Mulailah dengan kebutuhan terbesar dan kemudian pisahkan barang itu sampai Anda memiliki bagian kecil pertama yang benar-benar dapat Anda lakukan dalam waktu singkat.
sumber
KISS - Buat rencana perjalanan. Terima kasih semua orang untuk datang, tinjau, lakukan. Pelacakan samping akan melambat jika Anda mengatasinya dengan membagikan kekhawatiran mereka dan meminta mereka untuk tetap SETELAH rapat. Buat keputusan dengan memilih di mana ada kontroversi untuk membuat sebagian besar bahagia. Motivasi untuk berpartisipasi dalam sistem apa pun secara langsung terkait dengan kepercayaan individu pada metode itu.
sumber