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.
sumber
Jawaban:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber