Workshop Project Management & Issue Tracking Menggunakan Redmine In-House Software Development Team Universitas Udayana I Made Agus Setiawan 23 Feb. 2012
Software Project Sumber daya terbatas Umumnya dikembangkan secara berkolaborasi Stakeholders : Client, Manager, Development team (designer, programmer, tester)
Tantangan dalam Pengelolaan Pengelolaan kebutuhan aplikasi (requirement specification) Pengelolaan Dokumen, Kode, Bug & Error Komunikasi / Koordinasi Banyak Aplikasi Banyak pengembang Keterbatasan waktu koordinator (manager) Penjadwalan dan Monitoring
Alur Pengembangan Software Initial Definition of Requirements Prototype & Architecture Selection Iteration 1 Iteration 2 Final Integration Test Deployment & Training Support Design Design Documents Code Source Repository/ Progress Report Test Bug Report Debug Change track/ Bug Close Release
Issue Tracking Mekanisme yang digunakan untuk membantu pengembang aplikasi dalam mengarsipkan berbagai macam isu yang berkaitan dengan aplikasi yang dikembangkan. Track : Sebuah fitur yang digunakan untuk mendefinisikan berbagai macam isu Bug Feature Patch Support Task, etc
Cara Konvensional Report Issue Cara Konvensional dalam melaporkan issue, semisal bug ke developer Bicara langsung ke developer Dicatat di kertas Dikirim melalui email Dikirim melalui instant messanger Cara pelaporan konvensional akan menjadikan catatan-catatan tersebut berserakan dimana-mana dan sulit untuk diarsipkan.
Manfaat Issue Tracking Menghindari catatan issue yang hilang Menghindari issue yang terlewatkan Mengurangi kemungkinan duplikasi issue mengingatkan developer untuk menyelesaikan issue
Redmine ? Merupakan aplikasi manajemen proyek dan issue tracking berbasis web dan bersifat Open Source. Redmine dibuat menggunakan Ruby on Rail dan support di banyak database (contoh: MySQL, PostgreSQL) dan berbagai Operating System (Linux, Windows)
Fasilitas Redmine Issue Management (Issue Tracking) Document Management Wiki Forum SCM Integration News Calender & Gantt Chart Time spent log Activity timeline
Redmine UNUD http://devserver1.unud.ac.id/redmine
Redmine Home
Redmine Login
Redmine Project
Tracker Type Terdapat beberapa type isu (tracker) yang digunakan dalam pengembangan aplikasi Bug : suatu kesalahan pada aplikasi yang menyebabkan aplikasi tidak berjalan sebagaimana mestinya Isu ini mengarah ke perbaikan kode aplikasi Ex: Tombol OK disable, padahal seharusnya tidak Feature : suatu fitur yang dimiliki oleh aplikasi yang dikembangkan. Isu ini akan menjadi suatu item pekerjaan bagi developer Ex: Tambahkan fungsi export-to-pdf untuk setiap laporan yang dibuat.
Issue Status Status isu dapat dikelompokan menjadi 2 Isu Open : Isu masih terbuka, belum selesai dikerjakan (new, assigned, InProgress, resolved, reOpen) Isu Closed : isu ditutup, sudah selesai dikerjakan (closed), atau ditolak (rejected)
Issue Status New : Isu baru dibuat Assigned : Isu di tugaskan kepada developer InProgress : Isu sedang dikerjakan developer Resolved : Isu selesai dikerjakan, siap untuk direview coordinator/tester Closed : Isu selesai dan pekerjaan komplit ReOpened : Isu diaktifkan kembali Rejected : Isu ditolak untuk dikerjakan
% Done
Issue Workflow
Role Role : pembagian otoritas /peran dalam suatu project User Role Manager Coordinator Developer Programmer Reporter Tester
Assign User to Project Melibatkan user ke dalam project Made Agus berperan/role sebagai Manager Ngurah Lanang berperan/role sebagai Developer
Role – Issue Status Programmer / Developer Mengambil suatu isu (Assigned) Men-set suatu isu sedang dikerjakan (InProgress) Men-set suatu isu selesai dikerjakan (Resolved) Membuka kembali Issue (ReOpen) dari status Resolved Coordinator / Manager, yang paling utama menutup suatu isu (Closed) Menolak isu (Rejected) Membuka kembali isu (ReOpen)
Membuat Issue Contoh seorang manager menambahkan fitur baru Manager login terlebih dahulu
Membuat Issue Memilih project, kemudian pilih new Issue
Membuat Issue Tracker : berisikan pilihan berbagaimacam isu (bug, feature) Status : berisikan pilihan status isu (new, assigned, inprogress etc) Assigned : berisikan pilihan user yang akan mengerjakan issue (bug, feature) Target Version : berisikan pilihan kelompok versi sofware, roadmap
Membuat Issue Akan tampak sebuah grid yang berisikan daftar isu berikut dengan Status, Assigned to dan sebagainya.
Menanggapi issue Untuk menanggapi issue yang telah dibuat, misal fitur, maka programmer login terlebih dahulu
Menanggapi Issue Jika programmer ditugaskan suatu pekerjaan oleh coordinator, maka akan terlihat di bagian dashboard masing-masing user Dapat juga dilihat di daftar Issue di project tsb.
Menanggapi Issue Programmer menanggapi issue tersebut, dengan memilih issue update
Menanggapi Issue Programmer Menanggapi Isu (bug, error) tersebut, misalkan. Status : Resolved Spent Time : misal menghabiskan waktu 5 jam
Version / Roadmap Sebuah Software dapat memiliki banyak versi Untuk mengelompokan bug/feature yang dimiliki berdasarkan Versi Software
Version / Roadmap Roadmap adalah acuan untuk mencapai sesuatu, apabila didalam software adalah untuk rilis sebuah sebuah versi software
Source Code Management Subversion Panduan http://devserver1.unud.ac.id/redmine/projects/h ow-to-project/wiki/Svn-guide SvnClient Windows : TortoiseSVN
Workflow
3 langkah Lakukan proses 0: checkout hanya sekali, ketika awal membuat local copy svn co http://devserver1.unud.ac.id/svn/how-to-project/trunk Selalu melakukan proses 1:update sebelum anda melakukan proses 2:commit Selalu menuliskan message ketika melakukan proses commit svn update svn commit -m "message"
Terima Kasih