Apa cara terbaik untuk melakukan shootout Proof of Concept?

8

Dalam persiapan untuk rilis perangkat lunak baru yang dikelola perusahaan kami, saya telah mengerjakan apa yang saya yakini sebagai pendekatan yang sangat baik untuk menyelesaikan masalah skalabilitas kami. Saya memiliki niat untuk mengumpulkan bukti konsep untuk memvalidasi desain di atas kertas yang benar-benar akan melakukan apa yang saya inginkan. Ketika saya memberi pengarahan singkat kepada tim, bos memiliki proposal balasan, sebagian terinspirasi dari cara saya menggambarkan area masalah. Bos juga menerima proposal saya untuk melakukan dua bukti konsep untuk mengevaluasi alternatif.

Jadi, apa cara terbaik untuk bekerja melalui pembuktian konsep menembak? Kami memiliki kriteria objektif dan subyektif yang kami gunakan untuk mengevaluasi solusi. Saya ingin memastikan kami membandingkan apel dengan apel dengan pendekatan yang berbeda.

  • Kami memiliki persyaratan untuk throughput dan ukuran. Singkatnya, kita tahu kita perlu memproses sejumlah objek per detik dan mempertahankan laju itu selama satu jam.
  • Kita perlu mengevaluasi skalabilitas (baik dengan menambahkan lebih banyak inti dan dengan meningkatkan jumlah objek)
  • Kita perlu mengevaluasi kemudahan pengembangan (subyektif)
  • Kita perlu mengevaluasi betapa mudahnya memahami algoritma (subyektif)

Saya memiliki teori saya tentang ke arah mana hal-hal akan bersandar, tetapi saya tidak ingin itu mempengaruhi hasil saya. Masukan apa pun tentang bagaimana mempertahankan obyektivitas dalam proses ini, dan hal-hal yang perlu saya pertimbangkan akan sangat dihargai.

Berin Loritsch
sumber

Jawaban:

9

Secara umum yang kami lakukan adalah ...

  • tetapkan tenggat waktu seperti 1 bulan
  • gunakan persyaratan Anda yang Anda daftarkan dan kode itu.
  • memiliki beberapa moderator yang tidak menulis baik program mengontrol persyaratan dan tidak melihat mereka memikirkan persyaratan tersembunyi yang harus dapat dilakukan dalam waktu singkat.

  • Ketika anggota tim lainnya memeriksa program untuk mengevaluasinya, mereka harus menambahkan persyaratan untuk setiap sistem sehingga mereka dapat merasakan keduanya. Setelah tim menggali kode dan menambahkan persyaratan yang hilang mereka harus memiliki rasa yang wajar untuk basis kode dan memilih yang mana mereka lebih suka mengembangkan.

    • kemudian ambil peices terbaik yang tersisa dari 'pecundang' dan menggabungkannya ke dalam arsitektur pemenang.
Dave Hanson
sumber
Saya suka ide ini
Justin Ohms
1

Untuk item subjektif muncul dengan peringkat numerik beberapa waktu dan cobalah untuk mendapatkan umpan balik yang tidak bias. Contoh: untuk "Memahami algoritma" memiliki programmer yang tidak menulis baik melihat keduanya dan peringkat satu sama lain.

Anda juga dapat memperhitungkan ukuran objektif pada kode seperti kode "Kompleksitas", ada beberapa alat untuk mengukurnya berdasarkan jumlah pernyataan kontrol, dll.

Ambil peringkat Anda di setiap kategori dan jumlahkan hingga "Skor Total" untuk setiap pendekatan.

jzd
sumber
1

bagaimana menjaga obyektivitas dalam proses ini

Anda hanya memiliki satu kriteria objektif. Throughput.

Semuanya subjektif. Anda tidak bisa menjadi "objektif". Yang bisa Anda lakukan adalah bersikap "adil". Dunia perbedaan.

Keputusan akhir selalu politis. Selama semua informasi yang tersedia diberikan; Anda sudah melakukan semua yang bisa Anda lakukan.

Jangan stres karena mencoba membuat poin ("obyektif") yang sempurna. Apa yang Anda anggap benar atau terbaik bisa saja dibatalkan oleh alasan konyol seperti "tim tidak memiliki keterampilan yang diperlukan untuk solusi yang Anda usulkan".

Bangun demo saja. Jalankan mereka. Bersiaplah untuk pengambilan keputusan acak. Yang terbaik yang bisa Anda harapkan adalah informasi dan adil . Anda tidak dapat mencapai "tujuan" dengan sangat mudah.

S.Lott
sumber
Ini bukan tentang menang dan kalah. Ini tentang memilih opsi terbaik. Tim di sini sangat apolitis, penemuan yang langka. Mereka juga hanya peduli memilih pilihan terbaik. BTW: skalabilitas juga bisa diukur.
Berin Loritsch
@Berin Loritsch: Opsi "terbaik" tidak dapat dengan mudah diramalkan. Skalabilitas sepenuhnya didasarkan pada asumsi tentang masa depan. Karena kami tidak dapat melihat masa depan, kami tidak memiliki kriteria yang sangat objektif. Kami hanya memiliki banyak asumsi yang dapat diperdebatkan. "Terbaik" sulit dilakukan; kesempurnaan tidak bisa diraih. Bersantai. Pilih sesuatu dan maju. Setahun dari sekarang, Anda akan menyadari beberapa kesalahan yang Anda buat.
S.Lott