Senin, 22 September 2014

Definisi dan deskripsi posisi dalam pengembangan website

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:

  1. Web Designer
  2. Web Developer
  3. Web Administator
  4. Web Analyis
  5. 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.

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.

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.


5. Interaction Designer
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.
 
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.

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.

 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 :
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. Bagaimana agile bekerja
  9. 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 :
  1. 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.
  2. Manajer / Scrum Master, bertugas mengkolaborasikan developer dengan klien, membuat dan mengevaluasi target pengerjaan perangkat lunak.
  3. Sistem Analis, membuat arsitektur sistem dari perangkat lunak yang akan dibuat.
  4. 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
  1. ID – Identifikasi unik, biasanya berupa nomor urut. Hal ini untuk menghindari kehilangan jejak story kalau kita mengganti namanya.
  2. Nama – Nama story bersifat deskriptif, padat, singkat, dan jelas (2-10 kata), sehingga tim dan klien memahami kira-kira story yang dibicarakan.
  3. 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.
  4. Perkiraan awal – Perkiraan awal tim tentang berapa banyak kerja yang diperlukan untuk mengimplementasikan sebuah story.
  5. 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.
  1. Daftar anggota tim harus lengkap.
  2. Sprint backlog (daftar story yang akan diikutkan dalam sprint).
  3. Tanggal demo yang pasti.
  4. 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
  1. Beberapa kelebihan dari agile diantaranya
  2. 82% Menambah produktivitas tim.
  3. 7% Menambah kualitas perangkat lunak.
  4. 78% Menambah kepuasan klien.
  5. 37% Menghemat biaya.
Kekurangan
  1. Sedangkan kekurangan dari agile antara lain :
  2. Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
  3. Tidak cocok dalam skala tim yang besar (>20 orang).
  4. Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.

 Sumber :

-http://17-11-2012.blogspot.com/2014/09/dalam-industri-web-terdapat-banyak.html#pages/1

-http://pengertianpengertian.blogspot.com/2012/04/pengertian-web-administrator.html


Mungkin cukup sekian, postingan kali ini.. Semogaa bermanfaat  :)