Apa itu sebenarnya "tim lintas fungsi"? [Tutup]

18

Arti umum dari "tim lintas fungsi" adalah tim yang menggabungkan spesialis di berbagai bidang yang diperlukan untuk mencapai tujuan.

Tapi sepertinya dalam Agile cross-functional artinya tidak hanya menggabungkan spesialis yang berbeda, tetapi juga membuatnya bercampur. Henrik Kniberg mendefinisikan tim lintas fungsional dengan cara ini: "Lintas fungsional hanya berarti bahwa tim secara keseluruhan memiliki semua keterampilan yang dibutuhkan untuk membangun produk, dan bahwa setiap anggota tim bersedia melakukan lebih dari sekadar hal mereka sendiri."

Tapi di mana garisnya ditarik? Apakah normal untuk meminta pengembang untuk menjadi penguji untuk iterasi jika diperlukan?

SiberianGuy
sumber
Adalah umum bahwa setiap pengembang menguji kodenya. Misalnya tim Scrum tidak boleh memiliki spesialisasi - setiap orang harus dapat menulis dan menguji kode. Alasannya adalah bahwa pada awal iterasi (sprint) tidak ada yang bisa diuji sehingga tester murni tidak ada hubungannya.
Ladislav Mrnka
2
@LadislavMrnka Cross-functional bukan berarti Anda seharusnya tidak memiliki spesialis!
Michael
@Michael: Ya, Anda dapat memiliki spesialis tetapi mereka harus fungsional lintas = mereka harus dapat melakukan tugas-tugas lain juga.
Ladislav Mrnka
Menjadi seorang spesialis tidak berarti mengetahui satu hal dengan mengorbankan semua yang lain.
JeffO
3
Mengapa sering saya melihat pembicaraan tentang "programmer harus bisa menguji" tetapi tidak pernah "penguji harus bisa memprogram"?
Steve Folly

Jawaban:

11

Menurut saya, tim lintas fungsi adalah tim yang mencakup orang-orang dari berbagai fungsi perusahaan: teknik, TI, penulisan teknis, pemasaran, keuangan, hukum, penjualan, SDM, operasi, kualitas, dan eksekutif.

Di perusahaan yang lebih besar, "fungsi" ini dimasukkan ke dalam silo (jalur manajemen), tetapi untuk menyelesaikannya, Anda biasanya memerlukan waktu seseorang dari semuanya.

Jika Anda melakukan TDD atau sesuatu seperti itu, ya, itu sangat normal.

Namun, secara umum tanggung jawab untuk keluar dari pekerjaan pengembang tidak harus berada di tangan pengembang yang sama.

Peter K.
sumber
2
Inilah yang lintas-fungsi tidak dalam metodologi lincah seperti Scrum.
Ladislav Mrnka
1
@Ladislav Mrnka: Tidak jelas dari pertanyaan bahwa ini khusus Agile. Dalam metodologi Agile, saya masih berpikir itu berdiri. Dalam metodologi apa pun , Anda terkadang perlu melakukan sesuatu di luar bidang keahlian Anda ("fungsi") untuk menyelesaikan pekerjaan. C'est la vie, c'est la guerre!
Peter K.
Mengapa "tanggung jawab untuk keluar dari pekerjaan pengembang tidak harus berada di tangan pengembang yang sama"? Tidak jika Anda ingin mengurangi waktu siklus.
Todd Owen
@ CoddOwen Dan menurunkan kualitas perangkat lunak.
Peter K.
@Downvoter: Ada komentar tentang mengapa Anda tidak setuju? :-)
Peter K.
7

Tim lintas fungsi adalah tim di mana para pakar fungsional dari berbagai domain berkumpul untuk menentukan apa yang akan dibangun dan menilai apakah yang sedang dibangun itu berguna. Dalam lingkungan yang gesit, penilaian ini akan sering terjadi.

Namun, para ahli domain akan menentukan bagaimana melakukan bagian tertentu dari suatu proyek . Pengembang perangkat lunak akan mengembangkan perangkat lunak. Penguji akan menguji. Orang operasi akan menjalankan perangkat lunak, dan sebagainya.

Memiliki pendapat pengembangan, pengujian, dan operasi sangat berguna dalam mendefinisikan produk yang baik, dan di situlah letak nilai tim lintas fungsi.

Jay Godse
sumber
Saya tidak berpikir tim menentukan apa yang harus dibangun, tetapi bagaimana membangunnya. Pemilik produk memutuskan apa. Juga saya pikir anggota tim tidak boleh membatasi aktivitas mereka pada domain yang menjadi spesialisasi mereka. Idenya adalah melakukan tugas-tugas yang perlu dilakukan untuk mewujudkan tujuan tim, menciptakan produk berkualitas produksi.
Kwebble
4

Tim lintas fungsi yang baik memiliki dan membutuhkan orang-orang yang merupakan 'jack of all trades' tetapi juga master dari beberapa . Biasanya satu atau dua.

Misalnya, pada yang saya kerjakan. Saya berspesialisasi dalam C ++ dan beberapa bahasa web, tetapi saya tahu sekitar satu juta. Saya fasih mengedit video dan media 3D dan hal-hal semacam itu di samping ditambah bisnis dan manajemen proyek. Jadi pada tim yang agak kecil ini mengambil proyek-proyek besar, saya akan melakukan beberapa pengodean hardcore sebagian besar hari dan menghabiskan sebagian dari itu melakukan pekerjaan kasar di situs dan menyiapkan media yang berbeda.

Tidak banyak proyek menggunakan semua keterampilan saya tetapi untuk mengandalkan banyak, saya pikir itu adalah 'lintas-fungsi'. Beberapa kali itu benar-benar bagus, desain efisien, kadang-kadang tidak begitu banyak.

Terima kasih Tuhan ketika saya tidak harus menjadi admin pengembang / jaringan .. itu tidak menyenangkan. Bisnis kecil ini di daerah saya .. gila. Siapa yang mempercayai jaringan mereka kepada programmer, sheesh. Hal terakhir yang Anda inginkan adalah melihat saya mencoba 'men-debug' tabel routing Anda: P

Garet Claborn
sumber
4

"Tim lintas fungsi" di benak saya lebih dari sekelompok generalis yang berkumpul untuk menyelesaikan pekerjaan. Keunggulannya adalah fleksibilitas dalam menangani berbagai jenis tugas karena tidak ada hambatan yang akan terjadi pada sekelompok spesialis di mana beberapa orang hanya dapat melakukan beberapa tugas.

Ya, itu normal bagi pengembang untuk menjadi penguji jika diperlukan untuk menyelesaikan pekerjaan untuk iterasi.


Cross-functional dapat jatuh ke wilayah itu di mana itu adalah kata kunci yang dapat memiliki berbagai arti tergantung pada perusahaan. Beberapa mungkin menganggapnya sebagai level tertinggi, di mana seorang pengembang bisa apa saja dari seorang gopher menjadi CEO sementara dan yang lain mungkin melihatnya jauh lebih terspesialisasi sehingga itu adalah berbagai jenis pengembang yang digunakan. Pengembang mungkin harus menjadi analis bisnis, administrator sistem atau penguji beberapa waktu. Saya ingat beberapa tahun yang lalu sekarang ketika saya baru saja memulai pekerjaan dan pengembang lain dan saya sedang menguji rilis sebagai salah satu tugas pertama kami karena ada kekurangan penguji pada saat itu untuk menguji rilis dengan benar.

JB King
sumber
1
Saya tidak berpikir pengembang menjadi penguji cocok dengan definisi lintas fungsional. Itu kelihatannya lebih seperti skenario tipe jack-of-all-trade di mana pengembang juga menguji, menerima panggilan penjualan, keluar dan membeli kopi untuk mengisi kembali kantor, dll, yang mungkin tipikal dalam startup. Skenario lintas-fungsional tampaknya lebih seperti situasi di mana, misalnya, Anda mungkin menjadi pengembang, dan saya mungkin dalam pemasaran, tetapi kami bekerja bersama sebagai tim untuk membangun dan memasarkan produk.
jmort253
2

Tim lintas fungsi bukan hanya tentang bidang keahlian tetapi sikap terhadap penyelesaian sesuatu. Para anggota melangkah dan melakukan tugas-tugas yang ada. Anda tidak mendengar, "Itu bukan pekerjaan saya."

Kendala pada suatu proyek tidak selalu teknis. Kadang-kadang Anda tidak memiliki kemewahan untuk menyewa seorang ahli di setiap tugas dan hanya mengharuskan semua orang untuk bekerja di daerah pilihan mereka.

Anda tidak pernah ingin menarik devs dari pengkodean, tetapi di beberapa tim itu tidak dapat membantu. Normal itu relatif.

JeffO
sumber