Apakah tugas pengembang untuk menyarankan persyaratan TI?


26

Saya satu-satunya pengembang yang bekerja pada aplikasi web yang mendekati akhir. Sekarang kami ingin menjadikannya Live dalam waktu beberapa bulan.

Ini adalah aplikasi web untuk perusahaan non IT. Meskipun mereka memiliki tim TI internal mereka sendiri, mereka telah bertanya kepada saya tentang apa yang akan menjadi persyaratan perangkat keras untuk server live misalnya. RAM, 32 bit atau 64 bit.

Tidakkah seharusnya tim TI internal melakukan ini atau karena saya satu-satunya orang yang mengerjakan proyek ini adalah tanggung jawab saya untuk memberi tahu mereka tentang persyaratan perangkat keras tertentu yang dapat mempengaruhi kinerja proyek?

Alasan saya mengajukan pertanyaan ini adalah karena saya belum pernah melakukan ini sebelumnya. Setiap saat saya dulu diberi server dan diminta untuk menyebarkan aplikasi di dalamnya. Saya tidak pernah khawatir tentang konfigurasi server, dll.


6
Setelah berada di kedua sisi koin (pengalaman beberapa tahun di bidang TI dan SD), saya dapat dengan yakin mengatakan bahwa jika saya memiliki nikel untuk setiap kali tim pengembang memberi saya spesifikasi perangkat keras yang secara akurat sesuai dengan aplikasi, saya harus $ 0,00. Mungkin 90% berada di bawah spesifikasi dan yang lain tampaknya membutuhkan superkomputer. Jangan takut untuk bekerja dengan IT untuk mencari tahu spesifikasi perangkat kerasnya! Menggabungkan pengetahuan Anda tentang aplikasi dengan pengetahuan mereka tentang sistem dan skalabilitas akan memberi Anda lebih banyak daripada mencoba menyamakan spesifikasi CPU dan RAM berdasarkan dev / test.
Justin ᚅᚔᚈᚄᚒᚔ

Jawaban:


52

Meskipun mereka memiliki tim TI internal mereka sendiri, mereka telah bertanya kepada saya tentang apa yang akan menjadi persyaratan perangkat keras untuk server live misalnya. RAM, 32 bit atau 64 bit.

Mungkin mereka menganggap itu sebagai pengembang, Anda memiliki lebih banyak wawasan tentang persyaratan aplikasi daripada mereka. Anda mungkin telah menjalankan aplikasi dan tahu berapa banyak memori yang dibutuhkan di bawah beban yang berbeda.

Dari sudut pandang departemen TI, mereka dengan senang hati menyediakan apa pun yang dibutuhkan aplikasi Anda. Mereka mungkin bisa mengetahui apa yang dibutuhkan aplikasi melalui trial and error, atau mereka bisa bertanya pada satu orang di perusahaan yang mungkin memiliki wawasan tentang perilaku aplikasi untuk pendapatnya.

Bukan hal yang aneh bagi pengembang untuk diminta melakukan hal-hal yang tidak sepenuhnya dalam deskripsi pekerjaan mereka . Anda mungkin harus menulis beberapa dokumentasi, walaupun ada staf teknis penulis. Anda mungkin perlu berpartisipasi dalam proses pengujian meskipun ada departemen QA. Atau Anda mungkin diminta untuk membantu menulis proposal walaupun ada analis bisnis di proyek tersebut. Ini normal - Anda adalah bagian dari tim, dan perhatian utama Anda harus membantu tim berhasil. Ini juga baik untuk Anda karena itu memperluas pengalaman Anda dan membantu Anda memahami apa yang anggota tim lain lakukan, dan itu baik untuk perusahaan karena itu menyebarkan pengetahuan di sekitar.


7
Heavy adalah kepala pengembang toko kode kecil, karena dialah yang harus mengenakan banyak topi.
Philip

1
Saya baru saja menyelesaikan migrasi situs Wordpress. Itu tidak persis apa yang ada dalam pikiran saya ketika saya memutuskan untuk menjadi insinyur perangkat lunak, tetapi pada tim kecil, terutama di sebuah perusahaan kecil, Anda melakukan apa yang perlu dilakukan untuk kebaikan tim, bukan karena itu sesuai dengan ide Anda tentang apa pekerjaan ideal Anda mungkin.
rami

15

Apakah saya bertanggung jawab untuk memberi tahu mereka tentang persyaratan perangkat keras tertentu yang dapat memengaruhi kinerja proyek?

Merupakan tanggung jawab penyedia produk (perusahaan Anda, dalam hal ini) untuk menetapkan persyaratan minimum untuk operasi produk yang sukses. Sebagai orang yang bertanggung jawab dalam perusahaan Anda; mungkin pimpinan teknologi proyek ( seperti Anda ) atau CTO perusahaan Anda - yang tidak masalah bagi klien Anda.

Namun, harus disediakan daftar spesifikasi minimal untuk memungkinkan pengoperasian yang baik dari produk ini pada mesin dan server klien.


4
Ini. Tim TI tidak tahu seberapa menuntut aplikasi Anda. Tanpa pengetahuan itu, menyediakan server adalah tikaman dalam kegelapan. Jika mereka tidak tahu dan harus menyediakan server, Anda biasanya akan mendapatkan sesuatu yang sangat besar karena mereka tidak ingin berukuran terlalu kecil. Kecuali, tentu saja, tidak ada anggaran, maka Anda akan terjebak di server kecil dan disalahkan untuk setiap masalah kinerja yang pernah mereka miliki.
Brian Knoblauch

6

Akan tergantung pada beberapa detail. Tetapi secara umum, mereka dapat mengharapkan setidaknya Anda memberi mereka beberapa persyaratan minimum karena Anda harus memiliki pengetahuan yang lebih baik tentang teknologi yang Anda gunakan untuk proyek tersebut. Anda akan tahu basis data apa yang digunakan, jika Anda menggunakan beberapa pengindeks tambahan untuk pencarian teks lengkap, yang mungkin akan membutuhkan lebih banyak memori atau akan menggunakan core tambahan.

Di sisi lain, mereka mungkin memiliki pengetahuan tambahan juga, seperti jenis muatan yang diharapkan, berapa banyak pelanggan yang dapat mengakses situs dan sebagainya.

Saya hanya akan mencoba untuk melakukan kontak langsung dengan tim TI dan membawa pengetahuan dari kedua belah pihak.


1

Pada titik ini dalam proses, mereka harus benar-benar meminta Anda untuk informasi ini. Tim pengembang / pengembangan tidak hanya bertanggung jawab untuk menulis kode. Adalah tugas Anda untuk memahami aplikasi yang sedang Anda bangun dan semua pekerjaan batiniahnya. Pengetahuan ini seharusnya berasal dari rapat desain internal Anda. Siapa yang lebih baik untuk mengevaluasi profil pelaksanaan sistem dengan semua nuansanya daripada tim / pengembang yang membangunnya.

Ini di akhir permainan, saya akan lebih khawatir jika mereka mendikte konfigurasi server daripada meminta saya.


0

Meskipun mereka memiliki tim TI internal mereka sendiri, mereka telah bertanya kepada saya tentang apa yang akan menjadi persyaratan perangkat keras untuk server live misalnya. RAM, 32 bit atau 64 bit.

Persyaratan perangkat keras tidak berarti apa-apa.

Meskipun Anda, sebagai pengembang, mungkin berpikir dalam istilah ini, berhati-hatilah karena tidak ada orang di dunia bisnis yang akan peduli dengan jawaban yang Anda berikan untuk pertanyaan ini. Apa yang akan peduli adalah bagaimana aplikasi web Melakukan . Berdasarkan pertanyaan ini, saya menduga Anda tidak memiliki persyaratan kinerja (seperti permintaan per detik dan waktu muat rata-rata untuk satu halaman). Anda harus memberikan bimbingan teknis dalam mengembangkan jawaban atas pertanyaan-pertanyaan ini sebelum Anda khawatir tentang persyaratan perangkat keras.

Idealnya Anda tidak harus melakukan ini sendirian: Anda, seorang analis bisnis, seseorang dari IT yang mengetahui biaya server dan manajer proyek harus menentukan persyaratan kinerja dan dampaknya pada ruang lingkup / jadwal / anggaran. Setelah itu disetujui Anda dan TI dapat bekerja sama untuk mencari tahu apa artinya itu, tetapi ada kemungkinan Anda ingin melakukan beberapa optimasi di sisi Anda selain melemparkan perangkat keras padanya.

Bahkan jika Anda harus melakukannya sendiri, saya sarankan mendokumentasikan persyaratan kinerja Anda dalam istilah yang terukur yang bukan deskripsi perangkat keras yang sewenang-wenang - ini juga akan memberi Anda kelonggaran untuk kembali ke TI nanti dan meminta lebih banyak jika aplikasi tidak t melakukan hingga tembakau.


0

Anda tidak dapat mengharapkan mereka mengetahui persyaratan perangkat lunak HW yang belum pernah mereka lihat. Arsitek dan pengembang senior harus memiliki gagasan perkiraan tentang berapa banyak daya penyimpanan dan pemrosesan yang diperlukan untuk x-jumlah klien. Adapun berapa banyak klien yang perlu didukung oleh perangkat lunak yang bergantung pada klien dan benar-benar harus dalam spesifikasi yang ditandatangani.

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.