Knowing Agile Development Methodologies “XP (Extreme Programming)”
Agile Framework adalah suatu cara untuk mengembangkan suatu software yang cukup terkenal. Kita mungkin telah mengetahui beberapa teknik-teknik untuk dapat melakukan agile dengan baik, salah satunya adalah Scrum dan Kanban. Kali ini kita akan belajar mengenai teknik lain yang juga lumayan dikenal yaitu XP (Exterme Programming). Menurut Kent Beck, salah satu tokoh Extreme Programming, Extreme Programming adalah “XP is a lightweight methodology for small to medium size team developing software in the face of vague or rapidly changing requirement”. Dapat disimpulkan bahwa sama seperti teknik-teknik agile lainya, Extreme Programming juga berfokus pada bagaimana tim dapat menangani suatu perubahan yang banyak dan tiba-tiba dengan baik. Tetapi cara yang dilakukan oleh tim berbeda dengan Scrum atau Kanban. Ada beberapa proses dan ide yang harus diingat saat melakukan Extreme Programming yaitu :
- Pair Programming
- Code Review
- Unit Testing
- Integration Testing
- Planning Game
- Courage
- Respect
- Pair Programming
Adalah proses saat 2 programmer melakukan koding di komputer yang sama. Ke-2 Programmer tersebut akan dibagi menjadi Navigator dan Observer. Navigator, biasanya adalah programmer yang memiliki pengalaman lebih karena dia akan bertugas untuk mengarahkan programmer yang lain saat melakukan koding. Pair Programming dilakukan agar programmer dapat mengurangi kesalahan dan menambah feedback untuk masing-masing.
- Code Review
Adalah proses ketika setiap kode yang dibuat oleh programmer akan di cek secara rutin dengan longkap waktu yang pendek. Hal ini bertujuan agar kode salah yang dibuat dapat cepat ditangani jika terlihat.
- Unit Testing
Adalah proses saat Programmer akan mengetes suatu fungsi ketika fungsi tersebut selesai dibuat. Unit Testing akan dilakukan secara rutin setiap Programmer sudah menyelesaikan suatu fungsi.
- Integration Testing
Adalah proses saat Programmer akan menggabungkan beberapa fungsi untuk melihat bagaimana fungsi tersebut berjalan ketika sudah diintegrasikan dengan fungsi lain. Hal ini dilakukan ketika beberapa fungsi telah selesai dibuat dan telah berhasil melewati Unit Test.
- Planning Game
Adalah proses saat para stakeholder atau customer berkumpul untuk merencanakan kegiatan selanjutnya seperti apa. Biasanya dilakukan setiap minggu setelah iterasi Extreme Programming selesai. Hal ini bertujuan agar tim dapat mengetahui requirement, target, dan feedback untuk iterasi selanjutnya.
- Courage
Adalah salah satu nilai yang dikedepankan dalam Extreme Programming. Nilai ini bicara tentang keberanian seseorang dalam mengemukakan Feedback, mengubah hasil programming, dan meng-Explore fitur-fitur serta kekurangan dalam suatu fungsi. Nilai ini merupakan salah satu nilai penting dalam melakukan Extreme Programming.
- Feedback
Juga merupakan salah satu nilai yang dikedepankan dalam Extreme Programming. Extreme Programming percaya bahwa semakin banyak feedback yang didapat maka hasil perkerjaan programmer akan semakin efisien dan bebas dari kesalahan.
Knowing Agile Development Methodologies “XP (Extreme Programming)”
Agile Framework adalah suatu cara untuk mengembangkan suatu software yang cukup terkenal. Kita mungkin telah mengetahui beberapa teknik-teknik untuk dapat melakukan agile dengan baik, salah satunya adalah Scrum dan Kanban. Kali ini kita akan belajar mengenai teknik lain yang juga lumayan dikenal yaitu XP (Exterme Programming). Menurut Kent Beck, salah satu tokoh Extreme Programming, Extreme Programming adalah “XP is a lightweight methodology for small to medium size team developing software in the face of vague or rapidly changing requirement”. Dapat disimpulkan bahwa sama seperti teknik-teknik agile lainya, Extreme Programming juga berfokus pada bagaimana tim dapat menangani suatu perubahan yang banyak dan tiba-tiba dengan baik. Tetapi cara yang dilakukan oleh tim berbeda dengan Scrum atau Kanban. Ada beberapa proses dan ide yang harus diingat saat melakukan Extreme Programming yaitu :
- Pair Programming
- Code Review
- Unit Testing
- Integration Testing
- Planning Game
- Courage
- Respect
- Pair Programming
Adalah proses saat 2 programmer melakukan koding di komputer yang sama. Ke-2 Programmer tersebut akan dibagi menjadi Navigator dan Observer. Navigator, biasanya adalah programmer yang memiliki pengalaman lebih karena dia akan bertugas untuk mengarahkan programmer yang lain saat melakukan koding. Pair Programming dilakukan agar programmer dapat mengurangi kesalahan dan menambah feedback untuk masing-masing.
- Code Review
Adalah proses ketika setiap kode yang dibuat oleh programmer akan di cek secara rutin dengan longkap waktu yang pendek. Hal ini bertujuan agar kode salah yang dibuat dapat cepat ditangani jika terlihat.
- Unit Testing
Adalah proses saat Programmer akan mengetes suatu fungsi ketika fungsi tersebut selesai dibuat. Unit Testing akan dilakukan secara rutin setiap Programmer sudah menyelesaikan suatu fungsi.
- Integration Testing
Adalah proses saat Programmer akan menggabungkan beberapa fungsi untuk melihat bagaimana fungsi tersebut berjalan ketika sudah diintegrasikan dengan fungsi lain. Hal ini dilakukan ketika beberapa fungsi telah selesai dibuat dan telah berhasil melewati Unit Test.
- Planning Game
Adalah proses saat para stakeholder atau customer berkumpul untuk merencanakan kegiatan selanjutnya seperti apa. Biasanya dilakukan setiap minggu setelah iterasi Extreme Programming selesai. Hal ini bertujuan agar tim dapat mengetahui requirement, target, dan feedback untuk iterasi selanjutnya.
- Courage
Adalah salah satu nilai yang dikedepankan dalam Extreme Programming. Nilai ini bicara tentang keberanian seseorang dalam mengemukakan Feedback, mengubah hasil programming, dan meng-Explore fitur-fitur serta kekurangan dalam suatu fungsi. Nilai ini merupakan salah satu nilai penting dalam melakukan Extreme Programming.
- Feedback
Juga merupakan salah satu nilai yang dikedepankan dalam Extreme Programming. Extreme Programming percaya bahwa semakin banyak feedback yang didapat maka hasil perkerjaan programmer akan semakin efisien dan bebas dari kesalahan.