Vous êtes sur la page 1sur 44

Kelompok A06

❖ 1406527545 - Nur Hidayat (S1)


❖ 1406543675 - Azady Bayu (S1)
❖ 1406559042 - Agni Wira Buana (S1)
❖ 1406565764 - Meitya Dianti (S1)
❖ 1406571823 - M. Ivan Halim P (S1)
❖ 1406577392 - Mgs. Muhammad Thoyib Antarnusa (S1)
❖ 1406622660 - Geswa Wahid T (S1)
Extreme
Programming
What is Extreme
Programming (XP)?
- A type of Agile Software Development
- Ignores any other practice that doesn’t matter
- Short development cycles
- Changes can be adopted at any point
- Works in simple practices
Extreme
Programming
Values
● Communication
● Simplicity
● Feedback
● Courage
● Respect
EXTREME
PROGRAMMING
ACTIVITES
PLANNING
- Begins with listening, a requirements gathering activity that
enables the technical members of the Extreme Programming
team to understand the business context for the software
- Creation of a set of stories (user stories) that describe required
output and features
- Customer assigns a value (priority) to the story based on
business value of the feature
- Member of Extreme Programming team assess each story and
assign a value (measured in development weeks)
- Customers and developers work together to decide how to group
stories into the next release (the next software increment) to be
developed by the Extreme Programming team.
- After the first project release has been delivered, the Extreme
Programming team computes project velocity.
DESIGNING
- Keep it simple, the design provides implementation guidance for
a story as it is written- nothing less,nothing more
- Encourage the use of CRC (class-responsibility-collaborator)
cards
- For difficult design problems, Extreme Programming
recommends creation of spike solution. A spike solution is a very
simple program to explore potential solutions.
- Encourages Refactoring
CODING
- Customer must be always available
- Codes are written in agreed standard
- All production code is pair-programmed
- Integrate often
TESTING
If a little testing can eliminate a few
flaws, a lot of testing can eliminate
many more flaws.

(Extreme Programming’s approach)


Unit Tests

Determine whether a given


feature works as intended.

Acceptance Tests
Verify that the requirements as
understood by the programmers
satisfy the customer's actual
requirements.
Extreme Programming is obsessed with feedback

In software development, good feedback requires


good testing
Top XP teams practice “test-driven development”
Add a test Test-Driven
Run all tests and see if the new Development
test fails cycle
Write the code

Run tests

Refactor code

Repeat
XP Practices
Fine-scale feedback:

Pair programming Continuous process:


Planning game
Test-driven development Continuous integration
Whole Team Refactoring
Small releases
Shared understanding:

Programmer welfare:
Coding standards
Collective code ownership Sustainable pace
Simple design
System metaphor
Thanks!
Any questions?
Credits
http://www.extremeprogramming.org/
http://ronjeffries.com/xprog/what-is-extreme-programming/
Pressman, Roger S. Software Engineering: A Practitioner's Approach. 7th ed. New York: McGraw-Hill, n.d.
Slide Arranged By

❖ 1406543675 - Azady Bayu (S1)


❖ 1406559042 - Agni Wira Buana (S1)
❖ 1406571823 - M. Ivan Halim P (S1)
❖ 1406577392 - Mgs. Muhammad Thoyib Antarnusa (S1)
❖ 1406622660 - Geswa Wahid T (S1)
Ahmad Faris
Amiliana Riandya P.
Azmi
Drianka Mahdy Adimas
I Gusti Ngurah Putra S.
Maulana Wisnu

SCRUM
Scrum
★ Framework untuk manajemen pengembangan software dengan karakteristik
cekatan, bersifat iteratif dan incremental.

★ Fleksibel, strategi pengembangan yang menyeluruh di mana seluruh anggota tim


bekerja sebagai satu unit dalam mencapai tujuan yang sama.

★ Menekankan lokasi fisik yang sama atau sarana online yang akrab antara semua
anggota, dan juga pertemuan muka dengan muka setiap hari antara semua anggota
tim.

★ Prinsip kunci dari scrum adalah memahami bahwa dalam project yang tengah
berlangsung, klien mungkin mengubah apa yang menjadi kebutuhan dan
keinginannya. Scrum menerima perubahan ini dan memaksimalkan seluruh
anggota team untuk menyesuaikan perubahan mendadak ini.

★ Dapat mengatasi masalah seperti ambigous requirement dan requirement changes


Sejarah Scrum
★ Hirotaka Takeuchi and Ikujiro Nonaka memperkenalkan kata
“scrum” sebagai istilah dalam pengembangan produk, di tahun 1986.

★ Istilah tersebut tertulis dalam artikelnya yang berjudul “New New


Development Game”

Source : http://www.haas.berkeley.edu/groups/alumni/halloffame/alumni/nonaka.html
https://pl.wikipedia.org/wiki/Hirotaka_Takeuchi
Nilai - Nilai Scrum

Source : Google Images


Peran dalam Scrum
Scrum Master Product Owner
Protecting the scrum Determines what needs
process and preventing to be done and sets the
distractions. priorities to deliver the
highest value.

Team Members
Takes on and determines
how to deliver chunks of
work in frequent
increments.

Stakeholders Users
Any person who has a The product user.
direct, or indirect,
interest in the work of
Source : Google Images the team.
Terminologi
★ Scrum Team, consists of:
○ Product Owner
■ The one who decides the
★ Sprint specifications
○ A time period in which development ○ Scrum Master
occurs for a specific PBL items ■ The one who maintain the
★ Tasks scrum framework
○ An entry on SBL, a job small enough ○ Development Team
to has a time estimate (~single day) ■ The ones who codes
★ User Story Point
○ A way to measure efforts needed to
complete a task ★ Product Backlog List (PBL)
★ Velocity ○ A prioritized list of high-level
○ Total effort (measured in story requirements
point) a team is capable to achieve ★ Sprint Backlog List (SBL)
in a sprint ○ A prioritized list of tasks to
complete during the Sprint
Kerangka Kerja

Highest
priority

Source : https://www.scruminc.com/just-getting-started-with-scrum/ taken at 9/4/2016


ARTEFAK SCRUM
Artefak-artefak dalam Scrum antara lain adalah:

1. Product Backlog
Product Backlog adalah daftar keinginan ( wishlist / desirement ) Product Owner untuk
produk yang akan dikembangkan oleh Tim Pengembang.Product Backlog ini disiapkan
dan diurutkan oleh Product Owner dan harus transparan bagi semua pihak.

2. Sprint Backlog
Sprint Backlog adalah sebagian dari Product Backlog yang telah disepakati oleh Product
Owner dan Tim Pengembang untuk dikerjakan dalam satuSprint berserta daftar cara
pengerjaannya. Sprint Backlog dapat berupa daftar TODO yang sederhana.

3. Product Increment
Product Increment adalah potongan produk yang dikembangkan oleh Tim Pengembang
dalam satu Sprint yang dapat digunakan oleh pengguna dan berpotensi untuk dirilis ke
lingkungan produksi.
Kelebihan & Kekurangan Scrum
Kekurangan
Kelebihan
✖ Tanpa project end date yang jelas,
✖ Iteratif, dengan feedback yang stakeholder dapat menambah
continuous dari user spesifikasi project tanpa henti
✖ Frequent status update → ✖ Sulit diterapkan pada tim yang
transparent project development, lokasi anggotanya terpisah
faster issue resolving
✖ Dependency eksternal (misal: tim
✖ Mudah dalam mengukur lain, infrastruktur) dapat
produktivitas individual menghambat schedule

✖ Memberikan estimasi resource per ✖ Sulit diterapkan pada project


task kepada stakeholder dengan jumlah test yang banyak
dan memakan waktu yang lama
Ahmad Faris
Amiliana Riandya P.
Azmi
Drianka Mahdy
I Gusti Ngurah Putra S.
Maulana Wisnu

Thank You!
Agile Process Model

Ekanaradipha D. - 1406569806
Firas Atha M. - 1406579246
Ivana Putri - 1406543630
Apa itu Agile Process Model?

Agile process model adalah pemodelan software


development dimana requirement dari software dapat
berubah selama masa pengerjaannya oleh team yang
terdiri dari berbagai macam keahlian.

https://www.agilealliance.org/agile101/what-is-agile/
Latar belakang muncul agile
● konsep plan driven model tidak efisien bila diterapkan pada tim berskala kecil.
● client yang merequest software sering meminta perubahan system
specification
● client butuh produk cepat untuk dapat di terjunkan ke lapangan
● pada plan driven model waktu lebih banyak dihabiskan untuk membuat
system spesifikasi daripada waktu untuk coding

Software Engineering Methodologies. Rekayasa Perangkat Lunak Semester Genap 2015/2016


Perbedaan Agile dan Plan Driven Method

Agile Plan Driven

kemungkinan delay kecil kemungkinan delay besar

requirement sering berubah requirement jarang berubah

ukuran tim kecil ukuran tim besar

kultur pemrograman fleksibel kultur pemrograman harus terurut

Boehm, B.; R. Turner (2004). Balancing Agility and Discipline: A Guide for the Perplexed. Boston,
MA: Addison-Wesley. pp. 55–57.
Agile Manifesto

Agile manifesto merupakan nilai-nilai pokok dari penerapan agile method.


● Individu dan interaksinya lebih penting dari process dan perangkatnya
● Software siap pakai lebih penting dari dokumentasi detail
● Collaborasi costumer lebih penting dari negosiasi kontrak
● Merespon perubahan lebih penting dari mengikuti perencanaan awal

Software Engineering Methodologies. Rekayasa Perangkat Lunak Semester Genap 2015/2016


Beberapa Prinsip Agile Method
- Lebih mementingkan interaksi dan komunikasi dengan klien. Kepuasan klien
menjadi tolak ukur terpenting

- Sangat mengantisipasi perubahan yang mendadak

- Simplisitas. Kerjakan yang hanya perlu dikerjakan

- Seiringnya berjalannya waktu, pengembang akan bekerja dengan cara yang


dianggap paling efektif

- Setiap anggota diberikan kebebasan lebih dalam bekerja

https://www.agilealliance.org
Cara Kerja Agile Development
1. Berkomunikasi dengan calon user, dan buat daftar fitur yang mereka inginkan
(user stories)
2. Dari list fitur (user stories) buat estimasi bobot dari masing-masing fitur,
berdasarkan kompleksitas dan kesulitannya.
3. Buat prioritas antar fitur berdasarkan user.
4. Mulai membangun fitur yang ada satu persatu, dengan feedback dari user
5. Evaluasi proyek

Diterjemahkan dari http://www.agilenutshell.com/how_does_it_work


Agile Methods Cocok Untuk.. Kelemahan Agile Methods

1. Tidak semua orang bisa cepat


Product Development -> Produk berskala
kecil atau menengah untuk dijual. beradaptasi
2. Sulit untuk menjaga simplicity dari
Custom System Development di dalam produk
sebuah organisasi -> pengguna berkomitmen 3. Sulit untuk knowledge transfer
untuk terlibat selama proses pengembangan 4. Harus terus berinteraksi dengan
dan tidak ada peraturan eksternal yang terlalu
user/customer
banyak mempengaruhi perangkat lunak.
5. Lemah secara arsitektur
Startup -> karena model bisnis dari startup 6. Butuh revisi berkali-kali
masih bisa berubah-berubah tidak seperti 7. Sulit untuk menjadi proyek skala
korporat. besar
8. Kurang memerhatikan kemungkinan
integrasi dari luar
Sumber: slide RPL genap 2015/2016 dan
http://www.cedarpointconsulting.com/delivery/articles/
before-making-the-leap-to-agile
Pembagian Tugas
Ekanaradipa: Manifesto dan Prinsip-prinsip

Firas Atha: Definisi, Latar Belakang, Perbedaan Agile dan Plan Driven

Ivana Putri: Cara Kerja Agile, Produk yang cocok dengan metode Agile,
Kelemahan

Vous aimerez peut-être aussi