memadatkan persyaratan bisnis menjadi spesifikasi teknis [ditutup]

8

Saya bekerja dalam fungsi IT di pengecer besar dan kami baru saja memulai proyek dengan bisnis untuk mendesain ulang sistem utama untuk Situs Web kami.

Pengguna bisnis tahu mereka ingin memperbarui sistem dan memperbaikinya. Mereka memiliki beberapa prinsip tingkat sangat tinggi tentang bagaimana seharusnya bekerja tetapi itu saja.

Manajemen ingin tim pengembang mulai "melakukan hal-hal" karena ada sumber daya yang tersedia.

Saya berjuang untuk memikirkan cara terbaik untuk menghabiskan waktu kami sebagai tim pengembang. Duduk dengan para pengguna bisnis belum menghasilkan lebih dari beberapa prinsip tingkat tinggi atau hal-hal yang tidak mereka inginkan tetapi tentu saja tidak ada yang akan saya pertimbangkan untuk mendekati persyaratan.

Bagaimana Anda dapat menghubungkan penerapan fitur yang konkret dengan persyaratan bisnis yang tidak jelas dan memastikan bahwa bisnis akan puas dengan hasilnya, mengingat kurangnya keahlian teknis dan membeli dari sebuah bisnis?

Sutty1000
sumber
4
Ada beberapa buku yang ditulis tentang ini, jadi terlalu luas untuk dijawab dengan benar di sini. Saya sarankan Anda mencari pengembangan Agile. Strategi saya adalah memilih fitur yang paling penting dan mendiskusikannya dengan pengguna bisnis untuk mendapatkan detail yang cukup sehingga Anda dapat membaginya menjadi item-item pekerjaan yang dapat disadari tim Anda dalam waktu seminggu. Lebih disukai, setiap item pekerjaan memberikan sedikit irisan keseluruhan fungsionalitas fitur.
Bart van Ingen Schenau
2
Saya berharap orang-orang akan menjelaskan mengapa mereka memilih!
Sutty1000
@ Sutty1000 Apakah Anda dapat melihat alasan penutupan suara? Itu mungkin memberi Anda ide ...
Robbie Dee
2
Pekerjaan yang Anda cari adalah "analis bisnis". Mereka mempelajari cara kerja bisnis, mereka mengambil sedikit informasi yang diminta klien, mereka tahu teknologi yang layak dan menggabungkan semuanya untuk menciptakan persyaratan "bisnis". Ketika Anda mengetahui semua persyaratan bisnis, maka Anda dapat mulai berbicara dengan tim pengembang Anda untuk mengetahui persyaratan teknis.
the_lotus
1
Saya sudah melakukan edit untuk mencoba dan membuat pertanyaan lebih 'pemrograman' Saya pikir itu cukup jelas apa pertanyaannya dan ada beberapa jawaban formal yang dapat dikaitkan dengan praktik pembangunan umum seperti scrum dll
Ewan

Jawaban:

4

Dari pengalaman saya, saya tidak akan menghabiskan satu menit pun untuk berkembang. Bahkan tidak sedikit pun kode. Pada tahap ini, di mana pelanggan tidak tahu apa yang diinginkannya, sangat penting untuk melakukan pekerjaan konsultasi yang baik . Ini sama pentingnya bagi mereka dan juga untuk Anda.

Di belakang setiap proyek, ada kebutuhan (kadang-kadang tidak jelas) terkait dengan bisnis pelanggan. Jadi, untuk mengklarifikasi kebutuhan , pertama-tama Anda harus mempelajari bisnis sebanyak mungkin. Maka Anda akan dapat mengarahkan pelanggan ke solusi fungsional.

Selama belajar, hati-hati pada saat membedakan kebutuhan dan whishes . Kebutuhan pelanggan apa yang mungkin atau mungkin tidak sama dengan yang diinginkan pelanggan?

Sementara analisis, jika pelanggan tidak mengambil keputusan, ambil sendiri. Sebagai konsultan, tugas Anda adalah memberikan saran dan memimpin proses.

Seperti @Ewan tunjukkan, lebih mudah bagi pelanggan untuk membuat keputusan jika ada pilihan untuk dilakukan. Menawarkan beberapa alternatif (memaparkan pro / kontra mereka), mempermudah pengambilan keputusan. Membuat prototipe adalah cara yang baik untuk memberikan gambaran tentang apa yang ada dalam pikiran Anda untuk mereka. Pelanggan akan memiliki kontak (dan perasaan) pertama tentang bagaimana keadaan akan terjadi. Melakukan latihan "kreativitas" ini Anda akan melihat dengan cepat lampu dan bayangan proyek sebelum mereka menjadi masalah.

Cobalah untuk mendapatkan umpan balik sebanyak mungkin dari pengguna akhir . Sering kali orang yang kita sebut "pelanggan", bukan siapa yang akan menggunakan sistem . Dalam situasi seperti itu, Anda akan mendapatkan umpan balik yang lebih baik dari pengguna akhir yang sebenarnya. Mereka akan memberi Anda tips berharga tentang apa yang mereka butuhkan. Mengidentifikasi dengan baik siapa yang dapat memberikan jawaban yang tepat untuk pertanyaan Anda akan membantu Anda memenuhi harapan pelanggan.

Setelah Anda mengumpulkan seperangkat persyaratan yang baik, masukkan ke dalam prototipe. Metodologi tangkas seperti SCRUM berfungsi dengan baik pada tahap ini. Melakukan sprint di atas prototipe.

Prototipe akan dibuang / dimodifikasi sepanjang sprint. Anda juga dapat "membimbing" pelanggan ke pelanggan yang paling sesuai dengan Anda. ;-). Mencari kesepakatan menang-menang.

Saya mencoba untuk mencegah Manajer memulai pengembangan sebelum persyaratan yang jelas dan terukur telah dibatalkan. Kalau tidak, mulai dengan persyaratan yang tidak ditentukan ditakdirkan untuk gagal parah. Banyak uang dan waktu akan terbuang sia-sia (tanpa jaminan untuk memulihkannya) karena seseorang telah memutuskan untuk menerapkan "Kekacauan". Kekacauan dan ketidakpastian di mana pelanggan kami yang sangat dicintai dan bingung tinggal sekarang.

Sangat mengejutkan melihat perusahaan yang karyawannya melakukan pekerjaan mereka tetapi mereka tidak mampu menjelaskan (secara wajar) bagaimana caranya . Mengejutkan juga melihat berapa banyak Manajer Proyek yang tidak peduli dengan masalah ini, mereka hanya mengatakan "ya untuk semua" atau "mari kita mulai dan kita akan melihat apa yang terjadi".

Akhirnya, @Ewan kembali menunjuk ke poin yang paling penting.

Dapatkan pelanggan untuk keluar dari yang mereka inginkan dan terapkan.

Jangan lupa untuk mendefinisikan dengan jelas, persyaratan dan ketentuan mana yang harus dipenuhi untuk mengatakan bahwa proyek telah selesai . Kondisi penerimaan

Tidak perlu mengatakan alasannya.

Laiv
sumber
7

Tulis dokumen yang mengusulkan 2 atau 3 solusi di sepanjang baris:

"Untuk mencapai 'kepala sekolah tingkat tinggi x' kami mengusulkan 'solusi teknis y' yang akan 'solusi teknis lakukan'"

Dapatkan pelanggan untuk keluar dari yang mereka inginkan dan terapkan.

Ewan
sumber
Pelanggan muncul non-teknis. Pendekatan ini nyaman untuk OP tetapi mungkin tidak mencapai hasil terbaik untuk bisnis.
usr
Itu tergantung pada seberapa banyak usaha yang Anda lakukan dalam memilih solusi techincal. Bukan metode yang Anda pilih untuk menyetujui bisnis itu
Ewan
4

Sulit untuk menasihati tanpa bisa menilai suasana hati musik secara akurat.

Antara:

Para pengguna dan manajemen bisnis tidak melakukan pekerjaan mereka dan hanya menendang kaleng di jalan bagi para devs untuk berurusan dengan (dan sehingga mereka dapat menendang devs ketika ada masalah).

Atau:

Mereka benar-benar tidak yakin apa yang mereka inginkan dan perlu dibimbing oleh tim dev.


Secara alami, skenario ke-2 lebih disukai. Anda dapat memasang bingkai pada beberapa desain dan menggulungnya sampai Anda memiliki rencana.

Jika Anda berurusan dengan skenario pertama menjadi sangat jelas bahwa hal-hal yang membunuh proyek waktu dan waktu lagi dan lagi adalah persyaratan wol dan tidak memiliki konsep "selesai". Tentu proyek akan selesai pada akhirnya, tetapi berapa banyak uang yang akan dibakar sebelumnya?

Robbie Dee
sumber
0

Pada titik tertentu, pengembang memerlukan seperangkat persyaratan di mana mereka dapat mengembangkan aplikasi dan kemudian memeriksa apakah memenuhi persyaratan atau tidak. Dan kemudian mereka pergi dan membangun aplikasi yang memenuhi persyaratan.

Dan itu adalah ide yang sangat, sangat bagus untuk memiliki persyaratan di mana aplikasi yang memenuhi persyaratan menguntungkan bisnis :-)

Seseorang harus membuat persyaratan ini. Pemilik bisnis tidak bisa. Pengembang tidak mau. Pengembang mencoba membuat pemilik bisnis membuat persyaratan tetapi tidak berhasil. Namun, seseorang perlu membuat persyaratan ini.

Anda dapat mencoba menemukan seseorang di perusahaan dan menjadikannya pekerjaannya. Tidak seperti yang dilakukan pengembang pada awalnya, mencoba untuk meminta persyaratan tetapi gagal, tetapi memilih seseorang dan menjadikannya pekerjaan penuh waktu mereka. Jika tim pengembangan merasa mereka dapat membuat persyaratan, maka sarankan itu ke perusahaan, dan ditugaskan pekerjaan, dan wewenang untuk melakukannya.

Either way, itu akan menjadi tugas seseorang untuk membuat persyaratan. Dan perlu diperjelas bahwa jika tim pengembangan menciptakan persyaratan, persyaratan adalah apa yang akan didapat perusahaan, dan jika mereka tidak menyukainya, maka mereka perlu memastikan bahwa persyaratan diubah. Yang terbaik untuk melakukan ini sebelum pekerjaan pengembangan dimulai.

Dan Anda tidak perlu memberi orang pilihan. Anda dapat memberi tahu mereka bahwa apa yang ada dalam persyaratan adalah apa yang akan terjadi, dan mereka dapat menandatanganinya, atau mengeluh dan persyaratan dapat diubah.

gnasher729
sumber
0

Jika Anda merasa prototipe terlalu dipoles dan akan membingungkan klien, cukup buat sketsa. Anda dapat memiliki beberapa versi jika Anda pikir itu akan membantu meminta klien.

Ini akan memenuhi kebutuhan manajemen bagi Anda untuk melakukan hal-hal tanpa membuat banyak kode yang akan Anda buang (Jika Anda tahu apa yang baik untuk Anda.).

Klien juga perlu tahu bahwa mereka harus membayar untuk hal semacam ini. Kalau tidak, ada sedikit insentif untuk membuat mereka bergerak di proyek. Mungkin bermanfaat bagi pertemuan jika Anda dapat mempersempit mereka yang benar-benar terlibat dalam proyek dan pengambilan keputusan tanpa banyak orang memberikan saran tidak berguna mereka yang hanya akan memperlambat segalanya.

JeffO
sumber
Klien juga perlu tahu bahwa mereka harus membayar untuk hal seperti ini - OP berfungsi untuk fungsi TI internal - tidak ada klien yang dapat melakukan ergo tanpa biaya dolar, tetapi ya, akan ada upaya yang dikeluarkan sementara persyaratan dihilangkan ...
Robbie Dee
0

Mari kita lakukan eksperimen pemikiran: bayangkan Anda ingin membangun rumah dari bawah ke atas, dan Anda tidak tahu apa-apa tentang konstruksi. Bagaimana Anda menggambarkan persyaratan untuk pembangun? Bahkan jika Anda bisa, mereka kemungkinan akan menjadi pernyataan yang tidak jelas seperti "Saya ingin memastikan saya memiliki banyak ruang lemari" dan "Saya ingin dapur modern". Jelas Anda tidak dapat diharapkan mengetahui semua seluk beluk: arsitek yang menggambar rencana akan mengajukan banyak pertanyaan, dan membuat beberapa keputusan sendiri sesuai dengan praktik terbaik industri.

Di sinilah Anda berada: seseorang telah memutuskan mereka menginginkan sesuatu, tetapi mereka mengalami kesulitan menjelaskan apa yang mereka inginkan kepada Anda. Adalah tugas Anda untuk bekerja bersama dengan mereka untuk mencari tahu.

Jika ada sumber daya yang tersedia, dan Anda memiliki prinsip tingkat tinggi, mulailah menguraikan prinsip-prinsip itu menjadi cerita pengguna. Dari sana, Anda dapat membuat daftar tugas yang harus dilakukan. Buat saran di sepanjang jalan, tetapi pastikan bahwa Anda sepenuhnya memahami kebutuhan bisnis untuk pembaruan terlebih dahulu. Apakah kinerjanya buruk? Apakah tidak aman? Apakah desainnya sudah usang? Terserah Anda untuk menangani banyak detail yang tidak diketahui pengguna akhir Anda. Dokumentasikan pilihan yang Anda buat dan mengapa, dan mintalah pengguna bisnis (atau orang yang berlaku) menandatanganinya. Sekarang Anda punya persyaratan!

Ingat, seorang pengembang tidak perlu melakukan pengkodean sepanjang waktu: mereka juga harus merencanakan sebagian besar waktu. Beberapa soft skill paling penting yang dimiliki seorang pengembang berasal dari proses mengambil "ide bisnis" yang tidak jelas dan mengubahnya menjadi proyek kerja, yang menghasilkan produk yang sesuai dengan kebutuhan bisnis.

Membangun prototipe adalah ide bagus untuk mendapatkan umpan balik spesifik yang akan mengarah pada persyaratan yang lebih baik. Tetap ringan dan sederhana: ada alat di luar sana (di sini ada satu ) yang memungkinkan Anda untuk membangun mock-up yang berfungsi tanpa menulis satu baris kode pun.

Juga prototipe dasar sering dapat disalahartikan oleh pengguna bisnis ...

Tentu bisa: itu sebabnya komunikasi sangat penting. Jelaskan bahwa ini prototipe berulang-ulang. Menampar tanda air yang bertuliskan 'DRAFT' di atasnya, apa pun. Pengguna bisnis, terutama yang tidak paham teknologi, akan mengalami kesulitan luar biasa hanya dengan memberi Anda persyaratan, terutama jika tidak ada yang bisa dilihat. Jika Anda dapat dengan cepat membuat prototipe yang dapat mereka mainkan, akan lebih mudah bagi mereka untuk mengatakan "Saya lebih suka ini daripada itu" ketika Anda melihatnya.

DrewJordan
sumber