Sandingkan logika pemrograman bisnis dengan orang non-TI [tertutup]

14

Pernahkah Anda memiliki pengalaman di mana orang non-IT bekerja dengan programmer selama proses pengkodean?

Ini seperti pemrograman berpasangan, tetapi satu orang adalah orang non-IT yang tahu banyak tentang bisnis, mungkin seorang insinyur proses dengan latar belakang matematika yang tahu bagaimana hal-hal dihitung dan dapat memahami kode prosedural non-idiomatik.

Saya telah menemukan bahwa beberapa bahasa prosedural, domain-spesifik seperti PL / SQL cukup dimengerti oleh insinyur non-TI. Orang-orang ini akhirnya menjadi rekan penulis kode dan menjamin kebenaran formula, faktor, dll.

Saya menemukan jenis pemrograman pasangan ini cukup produktif, pengguna tipe teknik seperti ini merasa mereka juga "pemilik" dan "penulis" kode dan membantu meminimalkan kesalahpahaman dalam proses komunikasi. Mereka bahkan membantu merancang test case.

  • Apakah praktik ini biasa?
  • Apakah itu mempunyai nama?
  • Apakah Anda punya pengalaman serupa?
Tulains Córdova
sumber

Jawaban:

11

Meskipun Anda menggambarkan ini sebagai sesi pengkodean bersama (saya tidak bisa menyebutnya pemrograman berpasangan, karena hanya satu orang yang "mengemudi" - dalam pemrograman berpasangan, kedua belah pihak mengambil keyboard dan menulis kode), saya akan menyebutnya mengumpulkan kriteria penerimaan .

Artinya, Anda memvalidasi aturan bisnis (perhitungan dan proses yang benar) dengan pengguna bisnis (meskipun satu dengan peran yang sangat teknis, seorang insinyur).

Dalam hal ini, ia menerjemahkan langsung ke kode tertulis (SQL), tetapi untuk banyak kegiatan lain tidak akan, meskipun ada alat uji penerimaan otomatis untuk berbagai bahasa dan platform (saya secara khusus memikirkan bahasa gherkin dan perkakas terkait).

Praktek ini tidak lazim sebagaimana mestinya, tetapi mendapatkan semakin banyak pengikut dan mereka yang mengikutinya (mendapatkan kriteria penerimaan dalam bentuk yang dapat dieksekusi) merasa sangat berharga sebagai alat untuk berkomunikasi dengan bisnis dan untuk mengarahkan pengembangan.

Oded
sumber
Setidaknya di tempat saya berada (sebuah perusahaan kecil) kami memiliki banyak komunikasi antara sisi bisnis dan sisi teknik, tetapi saya merasa seperti memiliki salah satu dari orang-orang bisnis yang tahu barang-barangnya duduk dan berjalan melalui kode dengan saya berbaris demi baris akan menjadi pemborosan sumber daya perusahaan, terutama mengingat keadaan ekonomi dan bagaimana hal itu mendorong bisnis untuk menjadi selangsing mungkin. Jika kita memiliki lebih banyak jam di hari kerja mungkin masuk akal, tetapi setiap jam penting. Masukan saya saja.
Ampt
@Apt - sudahkah Anda mencobanya? Jika Anda menggunakan spesifikasi yang dapat dieksekusi, Anda dapat menjalankannya melalui spesifikasi alih - alih kode.
Oded
Saya belum mencobanya, dan saya tidak mengatakan itu salah dengan cara apa pun! Anda baru saja menyatakan bahwa itu tidak biasa sebagaimana mestinya dan saya memberikan masukan tentang mengapa itu mungkin terjadi. Saya merasa bahwa komunikasi yang lebih Anda memiliki antara bisnis dan pengembangan sisi, lebih baik proyek Anda dapat menjadi. Kualitas komunikasi itu sering menentukan seberapa bagus proyek Anda, dan dengan logika itu, duduk bersama seorang pebisnis dan membahas kode yang dapat mereka pahami mungkin akan masuk dalam kategori komunikasi yang baik.
Ampt
2

Iya. Di mana saya bekerja saya melakukan hal-hal jenis pemrograman hardcore, sementara ahli strategi bekerja pada strategi uhm. Artinya saya menulis program yang menerapkan model perdagangan mereka.

Kunci untuk ini adalah duduk tepat di sebelah mereka dan memahami dengan tepat apa ide-idenya, dan mengajukan banyak pertanyaan tentang hal-hal yang mungkin terkait dengan mereka, tetapi penting bagi sisi eksekusi. Misalnya saya akan bertanya tentang seberapa cepat suatu perdagangan perlu dijalankan, apakah itu mempengaruhi model mereka. Ini memiliki dampak besar pada bagaimana saya akan menulis kode. Bahkan saya cenderung menyemprotkan pertanyaan ke dalam ruangan karena kami duduk di sana bekerja setiap hari.

Ada umpan balik dua arah. Jika saya memberi tahu mereka beberapa skema perdagangan tidak akan mudah dibangun, mereka kembali dan memikirkan tentang tradeoff yang dapat dibuat di sisi pengambilan keputusan. Jika mereka memutuskan strategi baru mereka membutuhkan beberapa fitur baru, saya ngobrol dengan mereka tentang berapa lama waktu yang dibutuhkan untuk membangun dan apa potensi jebakan itu.

Mereka melakukan modul kode yang merangkum beberapa aspek dari strategi perdagangan dari waktu ke waktu, tetapi saya memijat bagian-bagian itu bersama-sama ke dalam arsitektur yang memungkinkan kita untuk melacak semua strategi yang berbeda serta mendukung hal-hal operasional. Dengan begitu mereka tidak perlu mengetahui seluk beluk sistem.

Carlos
sumber