Software development adalah salah satu tipe proyek dalam bidang IT yang berfokus pada menciptakan ataupun mengembangkan sebuah perangkat lunak. Software development sendiri bisa diperinci menjadi beberapa proses :
- Menciptakan sebuah perangkat lunak untuk memenuhi kebutuhan manusia.
- Mendesain software.
- Mengembangkan sebuah software aplikasi pada perusahaan.
- Mengembangkan sebuah platform.
Secara garis besar Software Development terbagi menjadi beberapa tahapan, yaitu:
1. Planning
Merupakan tahap awal untuk memulai Software Development. Tujuan dari tahap ini adalah menghasilkan: 1) proses kerja yang jelas antar setiap anggota, 2) timeline, dan 3) anggaran dana. Pada tahap ini juga, ketua proyek berkoordinasi dengan stakeholder untuk membuat kontrak kerja yang jelas. Selain berisi tentang estimasi dana, kontrak kerja juga harus memiliki batasan-batasan pengerjaan yang jelas. Hal ini dilakukan agar tim proyek tidak terikat dengan tambahan-tambahan modul yang nanti mungkin agar terjadi.
2. Requirement and Specification
Tahap ini dilakukan untuk menentukan fitur-fitur yang tepat serta kebutuhan sistem untuk software yang akan dibuat. Tahap ini dapat dilakukan dengan interview, observasi lapangan, dan studi pustaka.
3. Architecture and Design
Merupakan tahap untuk menentukan detail sistem yang akan dipakai. Tahap ini bertujuan untuk menentukan desain keseluruhan dari software, yang meliputi: konseptual database, sistem keamanan, dan interface.
4. Implementation and Testing
Tahap implementasi merupakan tahap pembuatan software dengan berpedoman pada tahap-tahap sebelumnya. Sedangkan tahap Testing merupakan serangkaian uji coba yang diberikan kepada software untuk menentukan kapabilitasnya. Tsting dapat terbagi menjadi: 1) security testing, 2) performance testing, 3) stress testing, 4) recovery testing.
5. Deployment and Maintenance
Kedua tahap terakhir ini adalah tahap dimana software telah mulai digunakan oleh user. Terdapat 2 hal penting yag ada pada tahap ini, antara lain: 1) training penggunaan software dan 2) pemantauan software. Pemantauan dilakukan untuk mengecek apakah software telah stabil atau belum. Kestabilan ini dapat dinilai dengann tidak adanya bug yang muncul selama penggunaan.
Profesi software engineer sebenarnya ada kemiripannya dengan profesi programmer, system analyst ataupun SQA engineer. Yang membedakannya adalah software engineer memerlukan keahlian lebih mendalam dalam hal SDLC (Software Development Life Cycle) yaitu seluruh proses yang harus dijalani dalam pengembangan software. Pada level tertentu, seorang software engineer juga harus menguasai manajeman proyek software development. Salah satu standar SDLC yang umum digunakan dalam software engineering adalah SWEBOK (Software Engineering Body of Knowledge).
Keahlian unik seorang software engineer adalah kemampuannya untuk merekomendasikan dan menerapkan metodologi software development terbaik dalam sebuah proyek. Metode-metode software development populer seperti RUP, Agile, Scrum, XP, TDD, BDD memiliki keunggulan dan kelemahan dan tentunya diperlukan keahlian dan pengalaman dalam merekomendasikan dan mengimplementasikan metode yang paling cocok dalam sebuah proyek software development.
Bila programmer dan system analyst ada yang dipekerjakan di perusahaan-perusahaan yang core business-nya bukan software, software engineer umumnya dipekerjakan di perusahaan-perusahaan software development. Bila sebuah perusahaan memerlukan karyawan dengan posisi software engineer, maka kemungkinan besar perusahaan tersebut memerlukan karyawan yang dapat ditempatkan secara fleksibel. Misalnya di sebuah proyek, karyawan A dapat diposisikan sebagai programmer dalam tahap construction, sedangkan dalam proyek lainnya si A dapat diposisikan sebagai system analyst dalam tahap requirement dan design. Dapat pula si A diposisikan sebagai software tester, SQA engineer ataupun di posisi mana saja dalam SDLC.
Pekerjaan yang berkaitan dengan software Devlopment :
·
Web Developer
sangat logis jika para Web Developers dituntut untuk dapat mengembangkan kenyamanan berselancar para user di dunia internet. Baik itu dalam mengatur tampilan, informasi, fitur, animasi, hingga penyimpanan data base (storage). Semuanya harus dikerjakan sebaik mungkin. Bureau of Labor Statistics (BLS) mencatat Web Developers berpenghasilan sekitar $81.670 per tahun. Jumlah ini sangat memungkinkan untuk terus bertambah seiring meningkatnya kebutuhan akan informasi di era sekarang ini. Terlebih lagi, US News mencatat tingkat pengangguran pada bidang ini hanya 4.7% dan total lapangan pekerjaannya mencapai 65.700.
·
Computer System Analyst
Banyak perusahaan terutama yang bergerak di bidang IT (Teknologi Informasi) membutuhkan jasa mereka untuk mengembangkan kualitas perusahaannya. Pekerjaan ini bernama Computer System Analyst.Tak tanggung – tanggung, total pendapatan bagi seorang Computer System Analyst professional mencapai $82.230. Bahkan ada perusahaan yang rela menggelontorkan uang sebesar $100.900 hanya untuk menggaji seorang Computer Analyst. Serupa tapi tak sama dengan Web Developer, pekerjaan ini banyak bersinggungan dengan coding, baik itu HTML, php, hingga oracle. Jika Web Developer lebih cenderung mengembangkan tampilan web, Computer System Analyst lebih bermain di system. Beberapa job desc yang dimiliki Computer System Analyst antara lain; maintenance, mengimplementasikan sistem baru pada sebuah software, mengecek bagaimana sistem itu berjalan, updates sistem baru, dan masih banyak lagi.
·
Moblie Devloper
Antara kerjaya yang mendapat permintaan tinggi seiring perkembangan industri telefon pintar adalah pembangun mudah alih (mobile developer) berasaskan Android, iOS, dan Windows.
Pembangun mudah alih bekerja pada reka bentuk, back-end dan penciptaan aplikasi mudah alih, dan bergantung kepada syarikat itu, boleh termasuk hiburan, maklumat, komunikasi dan banyak lagi.
Jadi peluang bisnis di bidang software devloptmen yang bisa menjadi referensi bagi anda para mahasiswa IT yang ingin mengambil konsentrasi kuliah atau masyarakat yang tertarik dengan dunia IT dan ingin berbisnis di dalamnya. Semoga bermanfaat.
REFERENSI
EmoticonEmoticon