Bagaimana saya bisa meyakinkan anggota tim untuk menggunakan kerangka kerja web? [Tutup]


10

Pertanyaannya adalah ini dan detailnya sebagai berikut: apakah ada yang bisa saya katakan / angkat, sebagai seorang programmer, untuk membawanya ke pihak saya?

Saya ingin mendengar argumen yang sahih untuk kedua belah pihak mengenai hal ini, tetapi sebagian besar saran untuk cara membicarakannya.


Situasi saya adalah ini: Saya sedang mengerjakan proyek tim pada program gelar saya, membangun situs web menengah sebagai prototipe untuk universitas. Semua dianggap sama dalam kelompok dan tidak ada seorang pun pemimpin yang ditunjuk sehingga jawaban untuk masalah ini tidak bisa "tarik peringkat".

Semua sama, namun ada kesenjangan besar dalam pengetahuan antara anggota. Anggota tim yang dimaksud dan saya sama-sama pengembang yang cakap, meskipun ia tidak memiliki pengalaman industri. Tiga anggota lainnya kurang mampu, dan dua telah memilih keluar dari pengembangan sepenuhnya. Ketiganya telah menolak untuk mengomentari situasi karena kurangnya pengetahuan.

Sebagai sebuah kelompok, kami akan memutuskan teknologi apa yang akan digunakan dalam implementasi situs web; khusus, apakah akan menggunakan kerangka kerja PHP (Code Igniter) atau tidak.

Saya berdebat mendukung, dengan mengutip:

  1. Tidak menciptakan kembali roda
  2. Basis kode yang ditulis dan diuji dengan baik untuk bekerja
  3. Mulai (tenggat waktu lebih dekat dari yang kita inginkan)
  4. Kecepatan pengembangan
  5. Pola desain yang sehat dan dapat dipelihara serta praktik yang baik

Dia berdebat untuk bekerja dengan cara yang biasa dia lakukan:

  • Menulis dipesan lebih dahulu, fungsi satu kali ke file "perpustakaan" seperti ketika ia membutuhkannya
    • Fungsi untuk akses data dan rendering data halaman, mendapatkan / pengaturan ke dan dari sesi dan mendapatkan / memposting data dll
  • Memiliki 1 file per halaman (sehingga tidak ada pemisahan kekhawatiran di antara kontrol, presentasi, dan data)

Alasannya menolak menggunakan kerangka kerja sebagian besar didasarkan pada dia tidak bisa melihat intinya: dia sudah bisa melakukan semua hal itu. Kerangka kerjanya tidak mengubah itu, itu hanya membuatnya lebih sulit karena dia harus belajar kerangka kerja; dia tidak ingin menggunakan kode yang belum dia tulis sendiri.

Dia juga mengatakan bahwa "tidak masalah kualitas basis kode, karena proyek ini hanya prototipe dan tidak akan pernah dipertahankan". Bagi saya, itu bukan alasan untuk menulis kode yang tidak dapat dipelihara.

Saya bisa melihat mengapa dia membuat argumen itu, tetapi saya mempersoalkan "kurangnya kepeduliannya terhadap pemeliharaan" dan "mengabaikan desain yang baik", atau bahkan pemisahan masalah. Namun, saya curiga dia tidak pernah mempelajari pola desain, jadi saya tidak tahu seberapa efektif menunjukkan mengapa metodenya bisa terbukti tidak dapat dipertahankan.

Saya ingin melanjutkan proyek ini, tetapi saya tidak ingin melakukannya tanpa memperhatikan semua yang telah saya pelajari selama bertahun-tahun. Seperti yang saya katakan sebelumnya, tidak ada kemungkinan menarik peringkat di sini, juga tidak ada anggota tim lain yang mau melakukan pitching. Haruskah saya mundur dan melakukan sesuatu dengan caranya? Apakah dia terlalu keras kepala dan tidak berpengalaman untuk tahu lebih baik? Atau apakah saya yang keras kepala di sini?

TL; DR Anggota tim yang tidak berpengalaman sedang keras kepala, bagaimana saya bisa memenangkannya?


2
Sangat sulit untuk menemukan pertanyaan yang sebenarnya di posting blog Anda :) Harap revisi dengan cara yang menekankan argumen teknis yang Anda berdua buat. Meskipun kami tidak dapat benar-benar memberi tahu Anda cara berbicara dengan orang yang tidak kami kenal, kami dapat membantu Anda mendekati situasi dari sudut pandang programmer. Tampaknya ada pertanyaan bagus tentang prototipe evolusi di sana, tetapi saya tidak bisa memastikan ...
yannis

4
Sebagian dari ini mungkin akan lebih cocok untuk: area51.stackexchange.com/proposals/30887/professional-matters
Karlson

3
he doesn't want to use code he hasn't personally written.Dia lebih baik membuang sistem operasinya, IDE, telepon, lampu lalu lintas dll.
StuperUser

4
@AndyBursh I want to know exactly how everything worksadalah argumen yang valid ketika belajar, sedang menciptakan kembali roda sebenarnya dapat diterima. Mungkin, mungkin saja, Anda bisa membacanya sebagai teriakan minta tolong dan bukan sebagai keras kepala.
yannis

4
since the project is only a prototype and will never be maintained Akhir kata-kata terakhir :) Saya berharap saya punya satu dolar setiap kali saya membuat asumsi ini dan menemukan bahwa ketidaksabaran dan keserakahan jangka pendek dari para petinggi memutuskan bahwa prototipe ADALAH produk sekarang.
maple_shaft

Jawaban:


20

Anda tidak akan bisa membicarakannya dengannya. Ini disebut efek Dunning-Kruger . Dia terlalu bodoh untuk tahu apa yang tidak dia ketahui, dan terlalu takut kehilangan apa yang dia sebut sebagai keuntungan.

Ketika Anda tidak dapat mencapai konsensus, Anda harus mencapai kompromi. Mungkin Anda dapat membagi pekerjaan sehingga kebutuhannya untuk mempelajari kerangka kerja minimal. Mungkin Anda memiliki semacam "desain-off" di mana Anda masing-masing melakukannya dengan cara Anda selama beberapa minggu dan kemudian tim memilih mana yang terbaik. Mungkin Anda bisa melibatkan profesor yang mensponsori Anda atau siapa pun pelanggan dalam menyelesaikan ikatan.


3
1 karena ini kadang-kadang terjadi di dunia nyata. Saya sudah berada di pekerjaan di mana saya tidak bisa setuju dengan dev lain yang merupakan pendekatan terbaik. Jadi kami berdua membuat POC dan kemudian memeriksa pro dan kontra masing-masing. 9 kali dari 10 kami akhirnya mengadopsi solusi yang merupakan gabungan dari dua POC, dan semua orang belajar sesuatu dari proses.
Timothy Baldridge

1
+1 untuk mengajar tentang Dunning-Kruger! Semua orang perlu tahu tentang hal itu ..
Stephen Gross

Bah Terlalu mudah mengutip Dunning-Kruger ketika Anda tidak setuju dengan seseorang - terlalu mudah untuk menyebut mereka bodoh. Mungkin rekan satu tim percaya kerangka kerja melanggar semangat penugasan, mungkin dia ingin menyelesaikan, secara langsung, masalah yang dipecahkan kerangka kerja, mungkin dia ingin menghindari perdebatan CodeIgniter, Cake, Symfony ... Asumsi pertama saya bukanlah bahwa dia idiot.
Corbin Maret

1
@Corbin, Dunning-Kruger bukan tentang kurangnya kecerdasan, ini tentang kurangnya pengalaman. Dua hal yang sangat berbeda. Saya setuju alasan Anda bisa valid, tetapi OP mengatakan itu bukan argumen yang ia buat. Alih-alih dia "tidak melihat gunanya" menggunakan kerangka kerja karena dia bisa menulis sesuatu yang sama baiknya dari awal dalam waktu yang lebih singkat. Orang yang tidak berpengalaman menilai terlalu tinggi kompetensinya sendiri dibandingkan dengan solusi yang dia akui hampir tidak tahu tentang contoh buku teks dari Dunning-Kruger. Orang seperti itu tidak dapat "diajak bicara" sesuatu, mereka harus ditunjukkan.
Karl Bielefeldt

7

Satu argumen yang mendukung Anda adalah usabilitas pengetahuan. Semua anggota tim yang mempelajari kerangka kerja yang terkenal dan banyak digunakan (seperti CodeIgniter) akan dapat menggunakan kembali pengetahuan mereka pada proyek berikutnya. Sedangkan pengetahuan tentang "perpustakaan" sembarangan tidak dapat digunakan kembali. Ini dapat beresonansi dengan baik dengan anggota tim lainnya, karena mereka mungkin lebih suka mendapatkan pengetahuan yang berguna dan dapat digunakan kembali pada proyek ini.

Argumen lain mungkin merupakan pengukuran konkret dari biaya pengembangan / pemeliharaan. Saya membayangkan bahwa seorang pengembang yang berpengalaman dalam CodeIgniter dapat mengembangkan lebih cepat daripada rekan Anda menulis semua fungsi milik sendiri. Ini dapat ditunjukkan dengan meminta Anda dan dia membuat halaman web yang identik - Anda dengan CodeIgniter, dia dengan caranya sendiri - dan mengukur waktu hingga selesai. Kemudian buat satu set modifikasi / ekstensi ke halaman, lagi mengukur waktu sampai selesai. Tentu saja, spesifikasi harus disiapkan oleh seseorang yang independen dari Anda berdua, untuk bertarung di tanah netral.

Lain - seperti yang Anda sebutkan - adalah kualitas kode. Setelah halaman web siap, jalankan serangkaian tes penerimaan yang sama pada masing-masing, dan bandingkan kepadatan bug.

Tentu saja, ketika Anda berada di bawah tekanan waktu, mungkin tidak ada kemungkinan untuk berhenti dan melakukan pengukuran seperti itu. Jadi Anda mungkin ingin resolusi cepat untuk dilema ini. Cobalah meyakinkan anggota tim lainnya (mis. Dengan meminta mereka membaca jawaban yang akan datang untuk posting Anda di sini :-), untuk meningkatkan tekanan kelompok kepadanya. Pada akhirnya, jika dia benar-benar tidak dapat diyakinkan, Anda mungkin ingin memotong proyek menjadi dua bagian, satu untuknya dan - idealnya - satu untuk anggota tim lainnya, menggunakan CodeIgniter. Fokus pada melakukan bagian Anda sendiri dengan kemampuan terbaik Anda dan biarkan dia melakukan apa pun yang dia inginkan. Hasilnya mungkin akan berbicara sendiri.


Saya suka gagasan tes kecepatan untuk menunjukkan itu. Tes penerimaan seperti apa yang bisa kita jalankan? Saya pasti akan menyarankan ini, tapi saya tidak yakin itu akan cocok dengan dia (atau kelompok) karena kita semua memiliki tenggat waktu lain untuk dikelola, dan saya ragu ada orang yang sangat tertarik untuk menulis spesifikasi atau "buang waktu" (seperti Saya yakin itu akan dimasukkan) pada ini.
Andy Hunt

1
Sains, ini bekerja: xkcd.com/54
StuperUser

5

Saya merasa Anda perlu melibatkan 3 rekan satu tim lainnya. Anda berdua perlu menyampaikan argumen Anda kepada mereka dan menjelaskan sesuatu kepada mereka sehingga mereka mengerti. Pada akhirnya, mereka harus bekerja dengan basis kode ini juga. Dan jika semuanya sama, maka mereka harus memiliki beberapa pendapat tentang apa yang ingin mereka kerjakan.

Saya pikir pendekatan yang baik bagi Anda masing-masing untuk menguraikan manfaat dari solusi Anda masing-masing, dan tunjukkan kepada anggota tim lainnya mengapa Anda merasa itu adalah cara terbaik untuk melakukannya. Lalu biarkan mereka yang memutuskan. Ada 3 dari mereka sehingga akan menjadi pemutus dasi.

Satu hal yang ingin Anda tunjukkan adalah bahwa jika ini adalah proyek Sr Anda, dan anggota tim lainnya tidak memiliki pengalaman lain, proyek ini perlu mencerminkan pekerjaan yang dapat mereka lakukan untuk calon pemberi kerja. Jika Anda melakukannya dengan benar, ini bisa menjadi poin pembicaraan yang bagus dalam sebuah wawancara. Saya tahu saya meminta lulusan baru untuk menguraikan proyek senior mereka, dan bagaimana itu dirancang dan dikembangkan.

Jika mereka pergi dengan pendekatan orang lain, Anda harus menyedotnya. Tapi jangan menyerah. Munculkan desain yang bagus sehingga kekacauan yang ia tulis tidak akan memengaruhi segalanya. Jika Anda punya waktu, lakukan beberapa kode pembersihan dan perbaiki beberapa barangnya dan tunjukkan kepadanya bahwa ia tidak harus menemukan kembali roda setiap kali.


Aku tidak memikirkan bagaimana ini mencerminkan orang lain dalam kelompok, jujur. Saya pasti akan menunjukkannya.
Andy Hunt

1

Saya merasa kuliah seperti kotak pasir. Sebagian besar barang yang Anda lakukan di sana tidak digunakan dalam penyebaran. Jadi itu memberi Anda lebih banyak kebebasan untuk bereksperimen dan keluar dari zona nyaman Anda. Jelajahi hal-hal baru karena gagal tidak akan terlalu berdampak. Juga dalam situasi Anda, anggota tim Anda memiliki keuntungan ekstra karena memiliki seseorang dengan pengetahuan sebelumnya membantu mereka.

Adapun anggota tim yang berpengalaman lainnya, dia tidak perlu datang ke perguruan tinggi jika dia tidak ingin belajar sesuatu yang baru. Ini adalah kesempatan bagus untuk mempelajari sesuatu yang baru dan menambahkannya ke kotak alatnya.

Dan untuk anggota tim yang tidak berpengalaman, peluang mereka untuk dipekerjakan / dipekerjakan lebih baik akan meningkat dengan kerangka kerja seperti CodeIgniter pada resume mereka (sebenarnya pengetahuan untuk membenarkan hal itu pada resume mereka).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.