Definisi Dan Deksripsi Posisi Dalam Pengembangan WEB
Pada postingan kali ini saya akan sedikit membahas tentang Definisi dan deskripsi posisi dalam pengembangan website.
dalam pembuatan sebuah website terdapat beberapa posisi diantaranya:
- Web Designer
- Web Developer
- Web Administator
- Web Analyis
- Web Programing
Dalam industri web terdapat banyak titel dan deskripsi pekerjaan, tapi dalam kenyataan-nya banyak pekerja di industri web terjebak dalam job desc yang tidak spesifik dan perlahan meluas, ini cukup merugikan pekerja di industri web. Untuk itu menurut saya penting memiliki pemahaman tentang titel pekerjaan di industri ini serta apa saja deskripsi dan tanggung jawab dalam pekerjaan tersebut.
Pemahaman tentang definisi titel pekerjaan penting bagi si pekerja
dan pemberi kerja, konsistensi perlu diterapkan dalam pengertian titel
job serta deskripsi pekerjaan itu, tentu saja ini merupakan opini, dan
bisa saja diperdebatkan.
Berikut adalah titel-titel pekerjaan dan deskripsi-nya :
1. Web Designer
Web designer, kata “Web” disini memberikan deskripsi spesifik bahwa
pekerjaan si desainer adalah fokus terhadap tampilan dan layout web,
pemahaman tentang HTML, CSS & Javascript ringan diperlukan dalam
bidang pekerjaan ini. Pada kenyataannya di Indonesia banyak web designer
yg job desc-nya hanya sebagai graphic desainer (tidak mengkonversi
desain ke web format), ini pun kadang tidak di keluhkan si web desainer
karena mungkin saja gaji yang tidak selevel dengan web desainer
sebenarnya, so it’s web designer with a graphic designer salary..
2. Front End Developer
Pekerjaan ini fokus pada HTML, CSS & Javascript, bahkan sedikit pekerjaan backend ringan, tidak ada kata desainer pada titel job ini dikarenakan memang desain tidak ada di job desc-nya. Sinonim titel pekerjaan dari Front end Dev mungkin juga bisa disebut Front End Engineer.
Pekerjaan ini fokus pada HTML, CSS & Javascript, bahkan sedikit pekerjaan backend ringan, tidak ada kata desainer pada titel job ini dikarenakan memang desain tidak ada di job desc-nya. Sinonim titel pekerjaan dari Front end Dev mungkin juga bisa disebut Front End Engineer.
3. UI Designer
Pekerjaan ini benar-benar fokus pada desain web dan tidak terlalu memikirkan implementasinya, mungkin sedikit skill tentang HTML & CSS diperlukan dalam proses pekerjaannya.
Pekerjaan ini benar-benar fokus pada desain web dan tidak terlalu memikirkan implementasinya, mungkin sedikit skill tentang HTML & CSS diperlukan dalam proses pekerjaannya.
4. UX Designer
Pekerjaan ini fokus pada pembelajaran dan riset terhadap perilaku user & pengalaman user (user experience) dalam browsing web, pekerjaan ini memiliki fokus untuk memperbaiki sistem web menjadi lebih baik dan user-friendly, memang semua titel pekerjaan web lainnya harus memikirkan user experience tapi UX Designer adalah pekerjaan yang benar-benar fokus memikirkan hal tersebut.
Pekerjaan ini fokus pada pembelajaran dan riset terhadap perilaku user & pengalaman user (user experience) dalam browsing web, pekerjaan ini memiliki fokus untuk memperbaiki sistem web menjadi lebih baik dan user-friendly, memang semua titel pekerjaan web lainnya harus memikirkan user experience tapi UX Designer adalah pekerjaan yang benar-benar fokus memikirkan hal tersebut.
5. Interaction Designer
Secara umum job descnya sama dengan UI designer, tapi yang ini lebih fous terhadap interaksi user dan pergerakan elemen-elemen web.
Secara umum job descnya sama dengan UI designer, tapi yang ini lebih fous terhadap interaksi user dan pergerakan elemen-elemen web.
6. Art Director
Pekerjaan ini fokus pada quality control, leadership untuk timnya serta komunikasi dengan klien, sinonimnya mungkin Design Director.
Pekerjaan ini fokus pada quality control, leadership untuk timnya serta komunikasi dengan klien, sinonimnya mungkin Design Director.
7. Web Developer
Pekerjaan yang satu ini fokus pada pekerjaan backend dan pemrograman yang berhubungan dengan bahasa web PHP, ASP, Ruby atau phyton, pengetahuan yang baik tentang database seperti mysql dan cara kerja server diperlukan dalam job description web developer, tidak lupa juga mereka tentunya mengerti HTML & CSS. Tapi hal yang terpenting dalam pekerjaan web developer adalah fokus pada konsep pemrograman, keamanan dan struktur web. Sinonim dari titel pekerjaan ini adalah Web Programmer atau Web Application Developer.
Pekerjaan yang satu ini fokus pada pekerjaan backend dan pemrograman yang berhubungan dengan bahasa web PHP, ASP, Ruby atau phyton, pengetahuan yang baik tentang database seperti mysql dan cara kerja server diperlukan dalam job description web developer, tidak lupa juga mereka tentunya mengerti HTML & CSS. Tapi hal yang terpenting dalam pekerjaan web developer adalah fokus pada konsep pemrograman, keamanan dan struktur web. Sinonim dari titel pekerjaan ini adalah Web Programmer atau Web Application Developer.
9. Web Administrator
Adalah orang yang bertugas untuk memelihara situs web khususnya pada
server. Web administrator harus memahami secara mendalam tentang sistem
operasi yang digunakan server, proses penginstalan, memahami jaringan
LAN, WAN, keamanan data server, dan yang penting dia juga harus dapat
mengatasi masalah Troubleshooting.
10. Web Analisis
Web analis adalah pengukuran, pengumpulan, analisis dan pelaporan
data internet untuk tujuan pemahaman dan mengoptimalkan penggunaan web.
Web analis bukan hanya sebuah alat untuk mengukur lalu lintas situs
Web, namun dapat digunakan sebagai alat untuk penelitian bisnis dan
riset pasar. Analisis Web aplikasi dapat juga membantu perusahaan
mengukur hasil kampanye iklan cetak tradisional. Ini membantu orang
untuk memperkirakan bagaimana lalu lintas ke situs web berubah setelah
peluncuran kampanye iklan baru. Web analytics menyediakan data tentang
jumlah pengunjung, tampilan halaman dll untuk mengukur popularitas situs
yang akan membantu untuk melakukan riset pasar.
Ada dua kategori analisis Web; off-site dan on-site web analytics.
Off-site web analisis mengacu pada pengukuran dan analisis web tidak peduli apakah Anda sendiri atau mempertahankan sebuah website. Ini mencakup pengukuran potensi sebuah situs web penonton (kesempatan), berbagi suara (visibilitas), dan buzz (komentar) yang terjadi di Internet secara keseluruhan.
Off-site web analisis mengacu pada pengukuran dan analisis web tidak peduli apakah Anda sendiri atau mempertahankan sebuah website. Ini mencakup pengukuran potensi sebuah situs web penonton (kesempatan), berbagi suara (visibilitas), dan buzz (komentar) yang terjadi di Internet secara keseluruhan.
11. Web Progamming
Web Developer adalah seseorang yang menciptakan aplikasi berbasis web
dengan menggunakan bahasa pemrograman. Pada dasarnya, web developer
membuat berrbagai hal terjadi pada sebuah website. Peran web developer
adalah sebagai penghubung dari semua sumber daya yang akan digunakan
pada sebuah website. Mulai dari pemanggilan database, membuat halam
website yang dinamis, hingga mengatur cara pengunjung untuk berinteraksi
dengan elemen-elemen dari website tersebut.
Berikut adalah bagian aplikasi yang harus dipahami oleh seorang web developer :
- Client-side: JavaScript
- Server side : ASP,ASP.NET,Java,Perl,PHP,Phyton,Ruby,dsb.
- Database: MySQL, Oracle, dsb.
Aspek tampilan menjadi sisi yang agak terpinggirkan oleh web
developer, Pada umumnya setelah scripting dari aplikasi web telah
selesai dibuat, web developer akan menyerahkan pekerjaannya kepada web
designer untuk menciptkan tampilan yang baik.
Agile Development Methods
Secara garis besar tujuan dirumuskannya agile development
methods, yaitu :
- High-value & working App system, diharapkan dengan memakai agile development methods dapat dihasilkan perangkat lunak yang mempunyai nilai jual yang tinggi, biaya pembuatan bisa di tekan dan perangkat lunak bisa berjalan dengan baik.
- Iterative, incremental, evolutionary, agile adalah metode pengembangan perangkat lunak yang iteratif, selalu mengalami perubahan, dan evolusioner. Tim harus bekerja dalam waktu yang singkat(biasanya 1-3 minggu) dan juga selalu menambah fungsionalitas dari perangkat lunak sesuai dengan kebutuhan klien. Agile dapat dianalogikan ketika seseorang ingin pergi ke suatu kota dan dia tidak tahu jalannya. Lalu bagaimana dia bisa sampai tujuan? Dengan sering bertanya kepada orang yang dia temui dijalan hingga dia sampai di tempat tujuan.
- Cost control & value-driven development, salah satu tujuan dari agile yaitu pengembangan perangkat lunak disesuaikan dengan kebutuhan pengguna, tim bisa dengan cepat merespon kebutuhan yang diinginkan pengguna sehingga waktu dan biaya pembuatan perangkat lunak bisa dikontrol.
- High-quality production, walaupun biaya pembuatan perangkat lunak bisa ditekan dan proses pembuatan bisa dipercepat , tetapi kualitas dari perangkat lunak yang dibuat harus tetap dijaga. Dengan melakukan tes setiap fungsionalitas perangkat lunak setelah selesei dibuat berarti agile juga mengakomodir kebutuhan ini.
- Flexible & risk management, jika kita menggunakan metode pembuatan yang biasanya dipakai, jika ingin mengubah fungsionalitas dari wireframe yang telah dibuat di butuhkan proses yang rumit. Mulai dari pertemuan dengan sistem analis untuk mengubah sistem perangkat lunak, perubahan rencana rilis produk hingga perubahan biaya produksi. Pertemuan dengan klien untuk melakukan tes perangkat lunak juga sering dilakukan sehingga fungsionalitas perangkat lunak mudah diubah dan akhirnya kegagalan perangkat lunakpun bisa diminimalisir.
- Collaboration, dengan menggunakan agile, tim pengembang diharuskan sering bertemu untuk membahas perkembangan proyek dan feedback dari klien yang nantinya akan ditambahkan dalam perangkat lunak, sehingga tim bisa berkolaborasi dengan maksimal.
- Self-organizing, self-managing teams, rekrut orang terbaik, beri dan dukung kebutuhan mereka lalu biarkan mereka bekerja. Itulah perbedaan agile dan SDM lainnya. Dengan agile, developer dapat memanajemen dirinya sendiri, sedangkan manajer tim hanya bertugas mengkolaborasikan developer perangkat lunak dengan klien. Sehingga terciptalah tim yang solid.
- Bagaimana agile bekerja
- Topik selanjutnya yaitu tentang cara kerja agile development methods. Disini akan dijelaskan bagaimana agile development methods (model scrum) digunakan dalam manajemen proyek.
Komposisi tim
Secara umum komposisi dari sebuah tim pengembang perangkat
lunak yaitu :
- Owner / Klien, bersama dengan developer sebagai bagian terpenting dalam proyek, tugas dari klien menentukan fungsi dari perangkat lunak yang akan di buat, melakukan testing dan memberikan feedback.
- Manajer / Scrum Master, bertugas mengkolaborasikan developer dengan klien, membuat dan mengevaluasi target pengerjaan perangkat lunak.
- Sistem Analis, membuat arsitektur sistem dari perangkat lunak yang akan dibuat.
- Developer, merupakan titik vital dalam tim, tanpa developer perangkat lunak tidak akan bisa dibuat.
Story
Story adalah daftar kebutuhan atau fitur yang nanti akan
dibuat. Story berisi apa yang klien kehendaki, dan ditulis dalam bahasa yang
dimengerti klien. Dengan kata lain dapat disimpulan Story adalah bagian
terpenting dari Scrum.
Story terdiri dari kolom-kolom berikut ini
- ID – Identifikasi unik, biasanya berupa nomor urut. Hal ini untuk menghindari kehilangan jejak story kalau kita mengganti namanya.
- Nama – Nama story bersifat deskriptif, padat, singkat, dan jelas (2-10 kata), sehingga tim dan klien memahami kira-kira story yang dibicarakan.
- Kepentingan – Derajat kepentingan yang diberikan oleh klien terhadap story. Pemberian derajat kepentingan biasanya menggunakan deret fibonacci (1,1,2,3,5,dst). Semakin tinggi nilainya maka semakin tinggi pula prioritas pengerjaannya.
- Perkiraan awal – Perkiraan awal tim tentang berapa banyak kerja yang diperlukan untuk mengimplementasikan sebuah story.
- Demo – deskripsi umum bagaimana cara story ini didemokan pada waktu sprint demo (lakukan ini, klik itu, lalu ini akan muncul,dll).
Sprint
Sprint (Rapat perencanaan pembuatan perangkat lunak
dilakukan 2-8 minggu sekali), yang perlu diperhatikan saat melaksanakan sprint
antara lain
Tujuan sprint.
- Daftar anggota tim harus lengkap.
- Sprint backlog (daftar story yang akan diikutkan dalam sprint).
- Tanggal demo yang pasti.
- Tempat dan waktu yang jelas untuk pelaksanaan sprint berikutnya.
Tim akan melakukan sprint secara simultan sampai perangkat
lunak selesei dikerjakan, sebagai contoh:
Sprint 1, tim membuat fungsi login,logout dan demo perangkat
lunak akan dilakukan 3 minggu kemudian. Setelah dilakukan demo untuk
mengevaluasi kerja yang dilakukan tim pada Sprint 1, maka Sprint 1 dianggap
selesei. Bahan evaluasi dari Sprint 1 akan dibawa ke Sprint 2 begitu seterusnya
sampai aplikasi selesei dikerjakan.
Kelebihan dan Kekurangan
Kelebihan
- Beberapa kelebihan dari agile diantaranya
- 82% Menambah produktivitas tim.
- 7% Menambah kualitas perangkat lunak.
- 78% Menambah kepuasan klien.
- 37% Menghemat biaya.
- Sedangkan kekurangan dari agile antara lain :
- Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
- Tidak cocok dalam skala tim yang besar (>20 orang).
- Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
0 komentar:
Posting Komentar