Seperti yang terlihat pada postingan sebelumnya, diantara 3
game hanya ada 1 game yang bisa saya dapatkan nilai 100 yaitu Incremental Game.
Masing-masing game tersebut memiliki tingkat kesulitan yang berbeda-beda. Namun,
menurut saya yang paling susah adalah Waterfall game. Kenapa demikian? Hal ini
saya katakan karena pada Waterfall game terdapat sistem gaji untuk setiap
software engineernya. Sedangkan pada Incremental dan Rapid Prototype hanya
batasan waktu saja. Selain itu, pada Waterfall game juga tahapan-tahapan yang
dilakukan harus berurutan dan juga ketika customer melakukan perubahan,
maka yang harus kita lakukan adalah mengecek kembali dari awal dan hal tersebut
sangat melelahkan. Untuk Rapid Prototype awalnya saya lihat gampang karena
mirip dengan Incremental yang hanya dibatasi oleh waktu saja. Namun, semua
terbantahkan ketika melihat proses pemilihan bahasa untuk prototype dan juga
implementasinya. Hal ini masih wajar-wajar saja sebab saya bisa lakukan tes
berulang-ulang kali untuk memilih bahasa apa yang baik digunakan. Yang membuat
kepala pusing tidak karuan adalah perbandingan antara persentase prototype
dengan persentase evaluasi customer juga harus diperhitungkan. Belum waktu yang
disediakan cukup sedikit sehingga harus betul-betul menggunakan waktu yang
disediakan dengan sebaik mungkin dan hasilnya harus semaksimal mungkin. Oleh
karena itu, saya menyimpulkan bahwa Rapid Prototype masih susah untuk
dimainkan. Sedangkan dari semua itu, ada 1 yang cara mainnya sederhana saja
yaitu Incremental game. Kenapa saya katakan cara mainnya sederhana? Karena
software engineer pada Incremental game sudah dijelaskan secara terperinci ahli
dibidang apa. Proyek yang dikerjakan juga tidak harus berurutan, yang penting
semua tahapan dalam setiap modul mencapai nilai 100 dan semua modul selesai
dikerjakan serta tidak melewati batas waktu maka skor yang didapatkan sudah
pasti 100. Dari deskripsi itu semua, saya menyimpulkan bahwa Waterfall game yang
memiliki tingkat kesulitan paling tinggi, kemudian Rapid Prototype game, dan
yang paling mudah adalah Incremental game.
Rabu, 04 Desember 2013
Strategi SimSE Incremental Game
Pada incremental game terdapat 4 modul yang
harus diselesaikan dalam batas waktu 200 ticks time. Penyelesaian modulnya
cukup mudah sebab modul yang diselesaikan tidak perlu berurutan dari modul 1.
Dalam setiap modul, yang harus diselesaikan ada 5 yaitu:
- Requirements
- Design
- Implement
- Difficulty Analysis
- Risk Analysis
Setelah 5 pekerjaan tersebut selesai, maka
harus dilakukan Integrate. Pada game ini terdapat 4 orang software engineer yaitu : Amy, Bob, Karl, dan Lola.
Amy jago dalam “Implement” dan expert dalam hal coding oleh karena itu Amy
saya berikan pekerjaan “Implement”
Bob jago dalam hal “Design” sehingga persoalan “Design” saya serahkan
kepada Bob
Karl memiliki skill yang cukup merata. Untuk
Karl saya berikan pekerjaan “Difficulty Analysis” dan “Risk Analysis”
Yang terakhir Lola yang memiliki skill yang
cukup terbatas, saya berikan tugas “Requirements” saja.
Proses pengerjaannya saya mulai dari modul 1
supaya tidak membingungkan. Masing-masing software engineer tidak boleh ada yang nganggur
(tidak melakukan apa-apa). Karl sangat cepat menyelesaikan “Difficulty Analysis”, oleh karena itu
lanjutkan saja pekerjaan Karl di modul 2 dan seterusnya. Hal ini berlaku untuk
semua software engineer, setiap perkerjaannya selesai maka dilanjutkan saja ke modul berikutnya.
Tidak perlu menunggu modul yang sedang dikerjakan selesai total. Dalam proses
pengerjaannya suatu saat customer akan melakukan perubahan pada modul. Hal ini
ditandai pada event yang mengatakan “The customer has made a change to a
modul”. Pada saat hal ini terjadi, maka kita harus mengecek ke bagian artifacts
dan melihat modul yang mana yang accuracynya mengalami penurunan. Apabila cuma
1 modul saja, maka hentikan pekerjaan yang sedang dilakukan Amy lalu berikan
Amy pekerjaan yang baru yaitu “Evolve Code”. Ketika selesai, lanjutkan kembali pekerjaan Amy yang kita hentikan
tadi. Ketika modul yang diubah ada 2 maka yang melakukan “Evolve Code” adalah Amy dan Karl.
Begitu pula selanjutnya, ketika modul yang diubah ada 3 maka yang melakukan “Evolve Code” adalah Amy, Karl, dan
Bob. Orang terakhir yang melakukan “Evolve Code”
adalah Lola karena Lola lama dalam
mengerjakannya. Hal ini terjadi apabila ada 4 Modul yang
diubah. Utamakan Amy yang mengerjakan “Evolve Code”
untuk menghemat waktu. Sehingga apabila Amy selesai “Evolve Code” pada modul 1 misalnya,
sedangkan “Evolve
Code” di modul 2 belum selesai
maka suruh Amy yang mengambil tugas tersebut. Mengambil tugas bukan join dalam
tugas tersebut. Misalnya “Evolve Code”
pada modul 2 dikerjakan oleh Karl, maka hentikan pekerjaan Karl kemudian
serahkan “Evolve
Code” kepada Amy. Apabila
kondisinya harus Lola ikut serta dalam “Evolve Code”,
maka utamakan Lola yang digantikan pertama oleh Amy. Usahakan point Requirements,
Design, Implement, Difficulty Analysis, dan Risk Analysis tetap 100. Apabila
ada yang sudah selesai dengan pekerjaannya, misalnya Bob telah selesai “Design” seluruh modul, maka
suruh software engineer tersebut melakukan integrate modul yang sudah siap (point Requirements,
Design, Implement, Difficulty Analysis, dan Risk Analysis sudah 100). Selalu
cek modul-modul di bagian artifacts untuk melihat point pekerjaan yang mana
yang sedang mengalami penurunan. Ketika 4 modul sudah selesai diintegrate maka
yang dilakukan tinggal menyerahkan kepada customer yaitu dengan cara “Submit
final product to customer” terus pilih semua modul lalu ok. Point yang kalian
dapatkan pasti 100 dengan syarat ticks time belum lewat dari 200 dan point
setiap pekerjaan yang ada tetap 100.
Skor yang saya dapatkan adalah 100
Sumber : http://www.ics.uci.edu/~emilyo/SimSE/downloads.html
Strategi SimSE Rapid Prototyping Game
Pada Rapid Prototyping game, yang harus dilakukan adalah
menyelesaikan sebuah proyek dalam batas waktu 825 ticks time. Disini terdapat 5
orang software engineer akan tetapi dalam pengerjaan proyek tidak perlu membagi
tugas apa-apa sebab semuanya dikerjakan secara bersama-sama. Yang harus
dilakukan pada awal main adalah memilih prototyping language dan implementation
language. Setelah saya mencoba beberapa kali dengan menggunakan metode saya,
prototyping language yang paling terbaik adalah Visual Basic karena dalam
pengerjaannya jauh lebih cepat jika dibandingkan dengan Java ataupun C++ .
Untuk implementation language, Visual Basic tidak bagus karena banyak terjadi
eror ketika dilakukan implement. Oleh karena itu, saya memilih Java untuk
implementation. Sebenarnya, baik Java maupun C++ sama saja karena ketika sama
mencoba mengganti Java menjadi C++ dengan menggunakan metode yang sama, hasil
yang saya dapatkan tetap sama. Setelah memilih, lakukan “Outline Requirements
With Customer”. Seperti yang telah saya katakan di atas, semua pengerjaannya
harus menyertakan seluruh software engineer. Setelah itu, lakukan “Develop
Prototype”. Ketika sedang berjalan, tiba-tiba kegiatan terhenti karena customer
mau melihat prototype. Abaikan saja sampai persentase prototype menjadi 100
(persentase ini dapat dilihat pada bagian artifacts item yang pertama). Barulah
setelah itu hasil prototype diberikan kepada customer untuk dievaluasi. Pilih
“Have customer evaluate prototype”. Setelah persentase evaluasi sudah mencapai
100, maka akan terjadi penurunan pada persentase prototype. Maka perlu
dilakukan “Develop Prototype” kembali. Namun, apabila kita melakukan “Develop
Prototype” sampai 100 kembali, maka akan membuang banyak waktu sedangkan waktu
yang diberikan terbatas. Disinilah saya lakukan metode penghematan waktu dengan
menggunakan fitur Advance Clock. Atur waktunya menjadi 30 pada kolom di bawah
tulisan “Advance Clock”. Lakukan “Develop Prototype” kemudian klik “Advance
Clock” bukan “Next Event”. Hentikan “Develop Prototype” kemudian berikan
kembali kepada customer untuk dievaluasi. Persentase evaluasi wajib kembali
menjadi 100 oleh karena itu klik “Next Event” saja untuk mempercepat. Lakukan “Develop
Prototype” kembali dengan batas waktu 30 ticks time seperti yang dilakukan
sebelumnya. Kemudian hentikan “Develop Prototype” lalu serahkan kembali ke
customer untuk dievaluasi. Ingat, persentase evaluasi wajib 100. Setelah itu
lakukan “Develop Prototype” sekali lagi untuk terakhir kalinya namun dalam
batasan waktu 24 ticks time saja. Hentikan “Develop Prototype” kemudian
serahkan kembali ke customer untuk dievaluasi terakhir. Setelah persentase
evaluasi menjadi 100, lakukan “Create requirements specification”. Lakukan
sampai persentase menjadi 100 (lihat pada item kedua di bagian artifacts).
Kemudian lakukan “Design system”. Sama seperti sebelumnya, lakukan hingga
persentase menjadi 100 (dapat dilihat pada item ketiga di bagian artifacts).
Setelah selesai, lakukan “Implement system” dan tunggu sampai persentase
menjadi 100 (lihat item keempat pada bagian artifacts). Setelah itu, hal
terakhir yang dilakukan adalah menyerahkan kepada customer. Pilih “Deliver
final product to customer”. Game sudah selesai dengan maksimal skor yang saya
dapatkan adalah 98.
Sumber : http://www.ics.uci.edu/~emilyo/SimSE/downloads.html
Strategi SimSE Waterfall Game
Pada Waterfall game, terdapat sebuah proyek yang memiliki
batas waktu dan juga uang. Disini terdapat 7 orang software engineer dengan
pengalaman yang berbeda-beda. Untuk menghemat pengeluaran, Roger langsung saya
pecat karena tidak berguna karena pengalamannya masih sedikit. Untuk software
engineer yang lain, ada beberapa yang saya naikkan gajinya untuk menaikkan mood
dan energy, antara lain:
Andre menjadi 40
Anita menjadi 40
Emily menjadi 35
Pedro menjadi 30
Setelah itu, beli semua tools yang ada untuk mempercepat
pengerjaan.
Terdapat 4 tahapan dalam pengerjaan proyek ini yaitu :
Requirements, Design, Code, dan System Test Plan. Masing-masing tahapan
tersebut harus memiliki poin 100 untuk mendapatkan skor tertinggi. Tahapan
tersebut juga harus dikerjakan berurutan mulai dari Requirements lalu Design
lalu Code dan terakhir System Test Plan. Masing-masing software engineer
memiliki kemampuan dan pengalaman masing-masing serta ketidaksukaan pada suatu
pekerjaan. Oleh karena itu, setelah melihat kemampuan dan pengalaman
masing-masing software engineer saya membagi tugas pengerjaannya sebagai
berikut.
Requirements dikerjakan oleh Andre, Anita, Calvin, Emily,
dan Pedro.
Design dikerjakan oleh Andre, Anita, dan Emily.
Code dikerjakan oleh Andre, Calvin, Emily, dan Pedro.
System Test Plan dikerjakan oleh Andre, Emily, Mimi, dan
Pedro.
Kita mulai saja dari awal yaitu Requirements. Lakukan “Create
Requirements Document” dan tunggu persentase selesainya hingga 100. Apabila di tengah
jalan muncul event “The customer just gave us some new requirements!” abaikan
saja dahulu dan lanjutkan sampai persentase menjadi 100. Setelah itu barulah
kita lakukan “Review requirements document”. Setelah itu lakukan “Correct the
requirements document”. Setelah eror pada requirement sudah tidak ada, maka
kita lanjutkan ke tahapan Design. Lakukan “Create the design document” dan
tunggu sampai persentase menjadi 100. Sama seperti sebelumnya apabila muncul
event “The customer just gave us some new requirements!” maka selesaikan
terlebih dahulu hingga persentase menjadi 100. Setiap muncul event “The
customer just gave us some new requirements!” dan pekerjaan yang sedang
dilakukan telah selesai, maka kita harus mengecek kembali dari awal yaitu dari
Requirements lakukan tahapan yang sama yaitu “Review requirements document”
lalu “Correct the requirements document”. Apabila persentasenya menurun maka
lakukan terlebih dahulu “Create Requirements Document” lalu “Review
requirements document” dan terakhir “Correct the requirements document”. Hal ini
juga berlaku pada design. Setelah itu lakukan “Review the design document” lalu
lakukan “Correct the design document” hingga eror pada design sudah tidak ada.
Setelah itu kita lanjutkan ke Code, lakukan “Create code” dan tunggu hingga
persentase menjadi 100 setelah itu lakukan “Integrate code” lakukan juga hingga
persentase menjadi 100. Apabila terdapat eror maka lakukan “Correct code”.
Setelah itu lakukan “Create the system test plan” lalu tunggu hingga persentase
menjadi 100. Lalu lakukan “Review the system test plan”. Setelah itu lakukan “Correct
the system test plan” hingga eror menjadi 0. Setelah 4 tahapan sudah mencapai
point 100 maka lakukan “Do system test”. Setelah itu, cek pada bagian code
apakah terdapat eror atau tidak, kalau terdapat eror maka lakukan kembali “Correct
code”. Setelah itu lakukan kembali “Do system test” dan cek kembali apakah
masih ada eror atau tidak. Lakukan hal ini sampai eror pada bagian code tidak
ada (0). Setelah itu yang dilakukan terakhir kali adalah menyerahkan kepada
customer yaitu dengan cara “Deliver product to customer”.
Berikut perincian lebih jelas tahapan-tahapan yang dilakukan
apabila terjadi event “The customer just gave us some new requirements!”
Selesaikan dahulu pekerjaan yang sedang berlansung lalu
lakukan pengecekan dari tahapan awal:
Untuk Requirements:
“Create Requirements Document” -> “Review requirements
document” -> “Correct the requirements document”.
Untuk Design:
“Create the design document” -> “Review the design
document” -> “Correct the design document”
Untuk Code:
“Create code” -> “Integrate code” -> “Correct code”
Untuk System Test Plan:
“Create the system test plan” -> “Review the system test
plan” -> “Correct the system test plan”
Pastikan nilai setiap tahapan tetap 100 dan tidak terdapat
eror maka akan didapatkan skor tertinggi.
Skor yang saya dapatkan adalah 99
Langganan:
Postingan (Atom)