22 December 2008

Berapa cepat anda membuat program?

Seorang functional menanyakan ke Senior ABAPer. Berapa sih, bikin report yg modelnya kayak gini …

Setelah berfikir beberapa saat, dijawab oleh sang senior ABABper: Oh, itu kira2 satu setengah hari selesai (1.5 mandays). Setelah functional membuat spec, dia memberikan spec tsb ke tim ABAPer. Dan ternyata, udah seminggu lewat program enggak selesai juga. Sehingga sang functional dengan emosinya berkomentar: Elu buat program begitu aja lama amat sih. Emang susahnya di mana !!!??? Katanya cuma sehari setengah. Mungkin kejadian ini pernah anda lihat. Mengapa?

ABAPer nya yang kurang kompeten? Atau functionalnya yang belagu? (wow, sorry). Atau salah perkiraan waktu? Sebelum berprasangka buruk, ada baiknya kita mengetahui secara detil life-cycle of program development. Dalam prakteknya, ada beberapa fase yang dilalui ketika kita mendevelop program: - Analysis and create BPS - Customizing - Create ABAP Spec - Coding ABAP - Internal testing, bug fixing - UAT - Transport to production - Update authorization - Create user manual - Conduct User Training

Analysis and create BPS Modelnya bisa bebas. Tujuannya untuk menganalisa apakah requirement dari user mungkin untuk dikerjakan, dan berapa lama bisa dikerjakan. Untuk menentukan ini, diperlukan suatu tim yang terdiri dari senior functional, senior ABAPer, dan senior Basis. Dalam BPS ini tertera jumlah effort yang diperlukan dari mulai analisa, sampai langkah terakhir. Apabila BPS ini disetujui oleh manajemen, maka proses selanjutnya akan dikerjakan.

Customizing Setelah BPS disetujui, maka functional bisa mulai mengkonfigurasi pengaturan yang ada di SAP.

Create ABAP Spec Ini dilakukan oleh functional, apabila requirement dari user berkaitan dengan ABAP. Buat spec Functional Spec. Sukur2 kl functional udah tau tabel2 SAP dan relasinya. Kalo blum tau, tanya ke Senior ABAP agar bisa dibantu. Spec bisa berbentuk dokumen biasa (Word), bisa juga didukung oleh spreadsheet, visio diagram, dan kalau perlu contoh template file apabila requirementnya berupa interface.

Coding ABAP Manajemen atau tim leader ABAP akan mengassign spec yang telah jadi ke ABAPer. ABAPer bisa mengerjakannya sesuai dengan spec yang tertulis. Pembuatan program, table, function, class, authorization object, dll. Semua seharusnya sesuai dengan aturan pemrograman yang telah disepakati.

Internal testing, bug fixing Ini dilakukan oleh ABAPer dan functional. Functional dibantu ABAPer harus mengetes segala bentuk kemungkinan skenario yang memungkinkan, sehingga program tidak akan error di mesin prod. Apabila programnya masih ada yang salah, segera dibetulkan dan ditest kembali.

UAT Kepanjangannya adalah User Acceptance Test. Mungkin di tempat lain ada istilah lain, seperti UT (User Test). Atau kl banyak program, disebut dengan Integration Test. Dilakukan oleh user, dipandu oleh functional sehingga nanti di mesin prod segala fasilitas program bisa dilakukan oleh user tanpa bantuan. Termasuk dalam UAT ini adalah pengecekan otorisasi. Baik positif maupun negative check.

Transport to prod Setelah UAT selesai, maka program dinaikkan ke mesin production sesuai dengan jadwal standar. ABAPer harus memberikan perhatian terhadap naikknya perubahan table dan index. Karena proses transport bisa lama, dan ada kemungkinan error.

Update authorization Setelah program (termasuk objek otorisasi baru bila ada) naik ke prod, maka set otorisasi ke user yang berhak.

Create user manual Ada kalanya program cukup kompleks sehingga diperlukan user manual agar pengguna baru dapat langsung menjalankannya.

Conduct User Training Apabila penggunanya ada banyak, apalagi kalau ada di kota2 yang berbeda, maka kita harus pikirkan bagaimana mengadakan user training. Di sesi user training ini, user manual akan dibagikan dan dijelaskan. Di antara sesi ini harus ada sesi diskusi. Sehingga bagi user yang tidak faham, bisa bertanya lebih lanjut. Nah, di mana rata2 fase yang membutuhkan effort cukup lama? Tidak bisa disamaratakan. Tergantung seberapa ahli functionalnya, ABAPernya, seberapa kompleks programnya, bagaimana proses UATnya, dll. Belum lagi kalo ada kendala komunikasi, atau kendala non teknis lainnya.

Ada yang mau menambahkan? Yuq kita diskusikan. Karena sesungguhnya bersama kesulitan terdapat suatu kemudahan.

No comments: