SERTIFIKASI TOGAF 2018 : Mengapa, Apa dan Bagaimana ?
syaryvanadya
Minggu, 20 Mei 2018
Selasa, 17 April 2018
Pemodelan Framework Enterprise Arcitecture : The Open Group Architecture Framework (TOGAF)
Pemodelan Framework Enterprise Arcitecture : The
Open Group Architecture Framework (TOGAF)
Saat ini ada beragam jenis framework yang
menunjukkan perkembangan konsep Enterprice Arcitecture, diantaranya
adalah Zachman framework, Federal Enterprise Architecture
Framework (FEAF), serta The Open Group Architectural
Framework (TOGAF). Untuk itu saya akan menjelaskan salah satu jenis
framework yang mudah digunakan. Framework TOGAF yang akan saya jelaskan pada
blog ini mengandung beberapa macam pertanyaan yang muncul dipikiran pembaca.
Apa itu TOGAF ?
Mengapa kita kok
perlu memakai TOGAF ?
Pada saat bagaimana
TOGAF diperlukan ?
Manfaat TOGAF
ketimbang dengan framework lain ?
Apa saja bagian –
bagian dari TOGAF ?
Pendapat saya tentang
TOGAF ?
Untuk lebih memahami
tentang salah satu jenis framework TOGAF, mari baca artikel blog dibawah ini.
Apa itu TOGAF ?
The Open Group Architecture Framework (TOGAF) adalah sebuah framework
untuk arsitektur enterprise yang menyediakan sebuah pendekatan komprehensif
untuk mendesain, merencanakan, menerapkan dan mengelola arsitektur informasi
enterprise. TOGAF ini merupakan standar Open Group yang telah terbukti
digunakan oleh organisasi-organisasi terkemuka dunia dalam meingkatkan efisensi
bisnis. TOGAF juga telah menjadi standar Enterprise Architecture yang paling
terkemuka dan handal, standar yang konsisten baik metode dan komunikasinya
diantara para profesional Enterprise Architecture.
The Open Group
Architecture Framework (TOGAF) adalah sebuah
framework yang dikembangkan oleh The Open Group’s Architecture
Framework pada tahun 1995. Awalnya TOGAF digunakan oleh Departemen
Pertahanan Amerika Serikat namun pada perkembangannya TOGAF banyak digunakan
pada berbagai bidang seperti perbankan, industri manufaktur dan juga
pendidikan. TOGAF ini digunakan untuk mengembangkan enterprise architecture,
dimana terdapat metode dan tools yang detil untuk mengimplementasikannya, hal
inilah yang membedakan dengan framework EA lain misalnya framework Zachman.
Salah satu kelebihan menggunakan framework TOGAF ini adalah karena sifatnya
yang fleksibel dan bersifat open source.
Mengapa kita kok
perlu memakai TOGAF ?
Tentu banyak pertanyaan diantara kalian, mengapa kita perlu menggunakan
TOGAF. Jangan bingung dan penasaran kenapa kita harus memakai framework TOGAF
ini. Karena dibawah ini sudah saya jabarkan penjelasannya.
- Pada saat penyusunan arsitektur sistem informasi di
organisasi yang cukup besar dan memiliki proses yang cukup rumit, kita
harus menggunakan tools, tidak bisa hanya menggunakan keinginan sendiri.
- Dengan
semakin berkembangnya teknologi IT dan best practice, ada banyak template
yang dapat kita gunakan untuk menyusun strategi IT kita.
- Kebanyakan
industri menggunakan framework yang general seperti TOGAF ini.
- Suatu
framework itu lebih baik bisa mengcover satu framework yang lain atau
memiliki interoperabilitas antar framework. Saling melengkapi satu
framework dengan framework lainnya.
Para profesional Enterprise
Architecture memilih TOGAF karena kredibilitas industri, efektivitas kerja, dan
karir peluangnya lebih besar. TOGAF ini akan membantu para praktisi menghindari
keterbatasan pengembangan Enterprise Architecture menuju metode yang eksklusif,
memanfaatkan sumber daya secara lebih efisien dan efektif, dan mewujudkan
keuntungan investasi yang lebih besar baik dalam bisnis maupun suatu
organisasi.
Pada saat bagaimana
TOGAF diperlukan ?
TOGAF diperlukan ketika suatu organisasi/ perusahaan perlu
mengembangkan suatu Enterprise Architecture dengan kebutuhan bisnis yang
digambarkan secara rinci. Adanya TOGAF menyebabkan lebih banyak kesempatan bagi
organisasi untuk menemukan sumber daya dalam domain yang telah sangat sulit
untuk merekrut arsitek perusahaan yang memenuhi syarat yang mampu memahami
bagaimana perusahaan mereka melakukan bisnis.
Manfaat TOGAF
ketimbang dengan framework lain ?
Berbicara mengenai TOGAF pasti kalian
penasaran tentang kelebihan manfaat dari Framework TOGAF ketimbang framework
lainnya. Berikut akan penjabaran kelebihan manfaat framework TOGAF dari
Framework lainnya.
Manfaat dari Menggunakan TOGAF
- Setiap organisasi berusaha untuk mendesain dan implementasi arsitektur enterprise untuk mendukung aplikasi bisnis mission-critical, dengan menggunakan blok bangunan sistem terbuka.
- Suatu perusahaan yang merancang dan mengimplementasikan arsitektur enterprise menggunakan TOGAF dipastikan bahwa desain dan spesifikasi pengadaan yang akan sangat memudahkan implementasi sistem terbuka, dan akan memungkinkan manfaat dari sistem terbuka bertambah untuk organisasi mereka dengan menurunkan risiko.
- Salah satu kelebihan menggunakan framework TOGAF ini adalah karena sifatnya yang fleksibel dan bersifat open source.
Apa saja bagian –
bagian dari TOGAF ?
Sebelum kalian memilih framework untuk digunakan kedalam Enterprise
Arsitecture. Kalian harus tahu terlebih dahulu apa saja bagian – bagian dari
TOGAF. Dibawah ini terdapat penjelasan bagian – bagian dari framework TOGAF.
TOGAF secara umum memiliki struktur dan komponen
sebagai berikut:
1 .Architecture Development Method (ADM) :
Merupakan bagian utama dari TOGAF yang memberikan gambaran rinci bagaimana
menentukan sebuah enterprise architecture secara spesifik berdasarkan kebutuhan
bisnisnya.
2. Foundation Architecture (Enterprise
Continuum) : Foundation Architecture merupakan
sebuah “framework-within-a-framework” dimana didalamnya tersedia gambaran
hubungan untuk pengumpulan arsitektur yang relevan, juga menyediakan bantuan
petunjuk pada saat terjadinya perpindahan abstraksi level yang berbeda.
Foundation Architecture dapat dikumpulkan melalui ADM. Terdapat tiga bagian
pada foundation architecture yaitu Technical Reference Model, Standard
Information dan Building Block Information Base.
3. Resource Base:
Pada bagian ini terdapat informasi mengenai guidelines, templates,
checklists,latar belakang informasi dan detil material pendukung yang membantu
arsitek didalam penggunaan ADM.
TOGAF- Architecture
Development Method (ADM)
Architecture Development
Method (ADM) merupakan metodologi lojik dari TOGAF yang terdiri dari
delapan fase utama untuk pengembangan dan pemeliharaan technical architecture
dari organisasi. ADM membentuk sebuah siklus yang iteratif untuk keseluruhan
proses, antar fase, dan dalam tiap fase di mana pada tiap-tiap iterasi
keputusan baru harus diambil.
Keputusan tersebut
dimaksudkan untuk menentukan luas cakupan enterprise, level kerincian, target
waktu yang ingin dicapai dan asset arsitektural yang akan digali dalam
enterprise continuum. ADM merupakan metode yang umum sehingga jika diperlukan
pada prakteknya ADM dapat disesuaikan dengan kebutuhan spesifik tertentu,
misalnya digabungkan dengan framework yang lain sehingga ADM menghasilkan
arsitektur yang spesifik terhadap organisasi.
ADM dapat dikenali dengan penggambaran siklus yang terdiri dari delapan
langkah proses,
Yaitu :
·
Architecture
Vision
·
Business
Architecture
· Information
System Architecture
·
Technology
Architecture
·
Opportunities
and Solution
·
Migration
Planning
·
Implementation
Governance
·
Architecture
Change Management.
Fase-Fase TOGAF- Architecture
Development Method (ADM)
TOGAF ADM juga merupakan metode yang bersifat
generik dan mudah di terapkan berdasarkan kebutuhan banyak organisasi, baik
organisasi industri ataupun industri akademik seperti perguruan tinggi.
Secara singkat kedelapan fase ADM adalah sebagai
berikut:
1.
Fase Preliminary: Framework
and Principles: Merupakan fase persiapan yang bertujuan
untuk mengkonfirmasi komitmen dari stakeholder, penentuan framework dan
metodologi detil yang akan digunakan pada pengembangan EA.
2.
Fase A : Architecture Vision.
Fase ini memiliki tujuan untuk memperoleh komitmen manajemen terhadap fase ADM
ini, memvalidasi prinsip, tujuan dan pendorong bisnis, mengidentifikasi
stakeholder. Terdapat beberapa langkah untuk mencapaian tujuan fase ini dengan
inputan berupa permintaan untuk pembuatan arsitektur, prinsip arsitektur dan
enterprise continuum. Output dari fase ini adalah: (1) pernyataan persetujuan
pengerjaan arsitektur yang meliputi: Scope dan konstrain serta rencana
pengerjaan arsitektur, (2) prinsip arsitektur termasuk prinsip bisnis, (3) Architecture
Vision.
3.
B : Business Architecture.
Fase B bertujuan untuk (1) memilih sudut pandang terhadap arsitektur yang
bersesuaian dengan bisnis dan memilih teknik dan tools yang tepat (2)
mendeskripsikan arsitektur bisnis eksisting dan target pengembangannya serta
analisis gap antara keduanya. Inputan untuk fase B berasal dari output fase A,
sedangkan outputnya adalah revisi terbaru dari hasil ouput fase A ditambah
dengan arsitektur bisnis eksisting dan target pengembangannya secara detil
serta hasil analisis gap, business architecture report dan kebutuhan bisnis
yang telah diperbaharui.
4. Fase C : Information Systems
Architectures. Tujuan fase ini adalah untuk
mengembangkan arsitektur target untuk data dan/atau domain aplikasi. Pada
arsitektur data misalkan untuk menentukan tipe dan sumber data yang diperlukan
untuk mendukung bisnis dengan cara yang dimengerti oleh stakeholder. Pada
arsitektur aplikasi untuk menentukan jenis sistem aplikasi yang dibutuhkan
untuk memproses data dan mendukung bisnis.
5.
Fase D : Technology
Architecture. Untuk pengembangan arsitektur teknologi
target yang akan menjadi basis implementasi selanjutnya.
6.
Fase E : Opportunities and
Solutions. Secara umum merupakan fase untuk
mengevaluasi dan memilih cara pengimplemetasian, mengidentifikasi parameter
strategis untuk perubahan, perhitungan cost dan benefit dari proyek serta
menghasilkan rencana implementasi secara keseluruhan berikut strategi
migrasinya.
7.
Fase F : Migration Planning:
Fase ini bertujuan untuk mengurutkan implementasi proyek berdasarkan prioritas
dan daftar tersebut akan menjadi basis bagi rencana detil implementasi dan
migrasi.
8.
Fase G : Implementation
Governance. Merupakan tahapan memformulasikan
rekomendasi untuk setiap implementasi proyek, membuat kontrak arsitektur yang
akan menjadi acuan implementasi proyek serta menjaga kesesuaiannya dengan
arsitektur yang telah ditentukan.
9. Fase H : Architecture Change
Management. Pada akhir fase ini diharapkan terbentuk
skema proses manajemen perubahan arsitektur.
10. Requirements Management bertujuan
untuk menyediakan proses pengelolaan kebutuhan arsitektur sepanjang fase pada
siklus ADM, mengidentifikasi kebutuhan enterprise, menyimpan lalu memberikannya
kepada fase yang relevan.
TOGAF memandang enterprise architecture ke dalam empat
kategori yaitu:
1. Business Architecture : Mendeskripsikan
tentang bagaimana proses bisnis untuk mencapai tujuan organisasi.
2. Application Architecture : Merupakan
pendeskripsian bagaimana aplikasi tertentu didesain dan bagaimana interaksinya
dengan apikasi lainnya.
3. Data Architecture : Adalah
penggambaran bagaimana penyimpanan, pengelolaan dan pengaksesan data pada perusahaan.
4. Technical Architecture : Gambaran
mengenai infastruktur hardware dan software yang mendukung aplikasi dan
bagaimana interaksinya.
Pendapat saya tentang
TOGAF ?
Kesimpulan :
Menurut saya, TOGAF adalah salah satu framework
yang banyak digunakan oleh perusahaan dalam merancang dan merencanakan
Enterprise arsitecture. TOGAF juga mendukung aplikasi bisnis untuk mendesain
dan mengimplementasikan Enterprise Arcitecture dengan system terbuka. TOGAF
diperlukan ketika suatu organisasi/ perusahaan perlu mengembangkan suatu
Enterprise Arcitecture dengan kebutuhan bisnis yang digambarkan secara rinci.
TOGAF adalah framework yang general.
TOGAF sangat membantu praktisi untuk memanfaatkan sumber daya secara lebih
efisien dan efektif dan mewujudkan keuntungan investasi yang lebih besar baik
dalam bisnis maupun suatu organisasi.
Sabtu, 25 November 2017
Perbedaan
dari beberapa Model Pengembangan Software
1. Agile
Software Development Methodology
Agile
Software Development adalah
sebuah metode dari beberapa kumpulan prinsip untuk pengembangan software yang
persyaratan dan solusinya melalui kolaborasi antara tim fungsional dengan
klien.
Metode Agile mendukung berbagai siklus
pengembangan perangkat lunak, sementara beberapa diantaranya fokus pada bidang
masing-masing. Misalnya pada praktek (XP, Pragmatic Programming, dan Agile
Modelling), kemudian pada pengelolaan aliran kerja ( Scrum dan Kanban), pada
kegiatan dukungan untuk pengembangan (FDD), serta berusaha menutupi siklus
pengembangan penuh (DSDM dan RUP).
Untuk pengembangannya sendiri, Agile didukung
oleh sejumlah praktek yang konkrit yang meliputi sektor permintaan, desain,
pemodelan, coding, pegujian, perencanaan, manajemen risiko proses, dan
lain-lain.
Agile memiliki pengertian bersifat cepat, ringan, bebas
bergerak, dan waspada.Sehingga saat membuat perangkat lunak dengan
menggunakan agile
development methods diperlukan inovasi dan responsibiliti
yang baik antara tim pengembang dan klien agar kualitas dari perangkat lunak
yang dihasilkan bagus dan kelincahan dari tim seimbang.
kelebihan dan kekurangan dari metode Agile
ini sendiri, diantaranya :
Kelebihan Agile Software Development :
- Meningkatkan kepuasan klien
- Pembangunan system dibuat lebih cepat
- Mengurangi resiko kegagalan implementasi dari segi non-teknis
- Jika terjadi kegagalan, kerugian materi relatif kecil
Kekurangan Agile Software Development :
- Developer harus selalu siap dengan perubahan, karena perubahan akan selalu diterima
Tim pelaksana pengembangan Agile seringkali
menghadapi kesulitan diantaranya ; kesulitan umum metode Agile, kurangnya
desain produk secara keseluruhan, kurangnya dukungan sponsor, kurangnya
pelatihan, serta kurangnya otimatisasi. Sedangkan untuk praktek kerjanya
sendiri, Agile mengadopsi praktek kerja spesifik berulang dan inkremental
seperti Scrum, Kanban, pengembangan wi-driven atau pengembangan fitur-driven di
semua fungsi bisnis.
2.
Rapid Application Development
RAD (Rapid Application
Development) Adalah metodologi
pengembangan perangkat lunak (SDLC) yang menggunakan pengabungan antara
Prototype Model dengan Iterative Model. Prototipe adalah model kerja yang
secara fungsional setara dengan komponen produk.
Dalam model RAD (Rapid Application Development), modul fungsional dikembangkan secara paralel sebagai prototip dan terintegrasi untuk membuat produk yang lengkap untuk pengiriman produk yang lebih cepat. Dikarenakan tidak ada rincian planning yang detail, maka memudahkan untuk melakukan perubahan pada saat development berjalan.
Model RAD
mendistribusikan tahap analisis, perancangan, pembuatan dan pengujian ke dalam
rangkaian siklus pengembangan jangka pendek yang singkat.
Kelebihan dan kekurangan Rapid applicationh Development
Kelebihan RAD (Rapid
Application Development)
1. Mudah mengakomodasi
peruabahan sistem
2. Progress development
bisa di ukur
3. Waktu iterasi bisa di
perpendek menggunakan RAD Tools
4. Mengurangi waktu
development
5. Mudah dalam menentukan
dasar sistem
6. Mempermudah feedback
customer
7. Cocok untuk proyek yang
membutuhkan waktu pengembangan yang lebih pendek.
8. Cocok untuk sistem yang
berbasis komponen dan terukur.
Kekurangan RAD (Rapid
Application Development)
- Ketergantungan pada anggota bisnis tim untuk mengidentifikasi persyaratan bisnis
- Hanya sistem yang bisa di modularized yang bisa dibangun menggunakan RAD
- Membutuhkan developer / designer yang berpengalaman
- Ketergantungan pada keterampilan model
- Kompleksitas manajemen
- Tidak dapat diterapkan pada proyek yang kecil / murah.
3. Dynamic
System Development Model Methodology
Dynamic System Development Model Methodology adalah iteratif dan incremental pendekatan yang
mencakup prinsip-prinsip pembangunan Agile, termasuk keterlibatan pengguna atau
pelanggan secara terus-menerus, intinya DSDM suatu metode yang mendekati
Incremental dan Agile Alliance.
Beberapa karakteristik DSDM yaitu sebagai berikut :
1. Menyajikan kerangka kerja (Framework) untuk membangun dan memelihara sistem dalam
waktu yang terbatas melalui penggunaan prototyping yang incremental dalam
lingkungan yang terkondisikan.
2. Membangun software dengan cepat yaitu 80%
dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek
secara utuh.
3. Aktifitas Feasibility Study yaitu dengan
requirement, lalu uji apakah sesuai gunakan proses DSDM
4. Aktifitas Business Study yaitu susunam
kebutuhan fungsional dan informasi, menentukan arsitektur aplikasi dan
identifikasi kebutuhan pemeliharaan untuk aplikasi
5. Aktifitas Functional model iteration yaitu
menghasilkan incremental prototype yang perlihatkan fungsi software ke client
untuk dapatkan kebutuhan lebih jelas dan konfirmasi.
6. Aktifitas Design and Build Iteration yaitu
melakukan cek ulang prototype yang di bangun untuk memastikan bahwa prototype
yang di bangun dengan cara tersebut memungkinkan semua fungsi benar-benar
bekerja
7. Aktifitas Implementation yaitu menempatkan
software pada lingkungan sebenarnya sekalipun belum lengkap atau masih ada
perubahan.
8. DSDM dapat dikombinasikan dengan XP yang
menghasilkan kombinasi model prosesmengikuti metode DSDM dan praktek yang
sejalan dengan XP.
Telah di jelaskan beberapa karakteristik DSDM, pada
tujuannya untuk menciptakan suatu rangkaian RPL yang cepat sama hal nya dengan
XP model.
4. Ekstreme Programing Methodologhy
Extreme Programming adalah suatu model yang termasuk
dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut
penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) adalah metode pengembangan software yang
cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan
menyenangkan.“.
Tahapan-tahapan yang harus
dilalui antara lain: Planning, Design, Coding, dan Testing. Sasaran Extreme
Programming adalah tim yang dibentuk berukuran antara kecil sampai medium saja,
tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk
menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan
requirements yang sangat cepat. Extreme Programming merupakan agile methods
yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat
terkenal.
Extreme Programming tepat digunakan saat kondisi :
1. Keperluan berubah dengan
cepat
2. Resiko tinggi dan ada
proyek dengan tantangan yang baru
3. Tim programmer sedikit,
yaitu 2-10 orang.
4. Mampu mengotomatiskan tes
5. Ada campur tangan klien
secara langsung
kelebihan Ekstrem programing :
1. Meningkatkan kepuasan kepada klien
2. Pembangunan system dibuat lebih cepat
3. Menjalin komunikasi yang
baik dengan client.
4. Meningkatkan komunikasi dan
sifat saling menghargai antar developer.
Kelemahan Extreme
Programming :
1. Cerita-cerita yang
menunjukkan requirements kemungkinan besar tidak lengkap sehingga Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2. Tidak bisa membuat kode
yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa
yang diperlukan hari itu juga).
3. XP tidak memiliki
dokumentasi formal yang dibuat selama pengembangan. Satu satunya dokumentasi
adalah dokumentasi awal yang dilakukan oleh user.
Aspek
dasar XP dari berbagai metode yang diterapkan, antara lain :
- Whole
team
- planning
Game
- small
release
- design
improvement
- collective
code ownership
- simple
design
- pair
programming
- test
driven development
- continous
integration
- coding
standard
- metaphor
- suistainable pace
5. Scrum
Development Methodologhy
Scrum merupakan suatu kerangka kerja yang
berupa deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan
pada proyek. Hal ini dilakukan dikarenakan tim akan tahu bagaimana cara terbaik
untuk memecahkan masalah yang disajikan untuk mereka.
Ada 3 elemen organisasi utama pada scrum
yaitu product owner, Scrum master, dan Scrum team. Scrum Master dapat dianggap
sebagai pelatih / guru bagi tim yang mengajarkan cara kerja lebih kolaboratif
dan menyenangkan dalam mengembangkan software. Product Owner mewakili bisnis,
pelanggan atau pengguna dan memandu tim ke arah pengembangan produk yang tepat.
Sedangkan Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9
orang. Untuk project yang sangat besar, biasanya pekerjaan akan dibagi dan
didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan scrum master juga
dapat ikut membantu dalam koordinasi team.
Scrum
tepat digunakan saat kondisi:
- Keperluan
berubah dengan cepat
- Tim
programmer sedikit, yaitu 5-9 orang
- Pelanggan
tidak terlalu paham dengan apa yang diinginkan
Scrum
memiliki prinsip yaitu:
- Ukuran
tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan
satu sama lain
- Proses
dapat beradaptasi terhadap perubahan teknis dan bisnis
- Proses
menghasilkan beberapa software increment
- Pembangunan
dan orang yang membangun dibagi dalam tim yang kecil
- Dokumentasi
dan pengujian terus menerus dilakukan setelah software dibangun
- Proses
scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kelebihan
Scrum antara lain:
1. Keperluan berubah dengan
cepat
2. Tim berukuran kecil
sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama
lain
3. Pekerjaan terbagi-bagi
sehingga dapat diselesaikan dengan cepat
4. Dokumentasi dan pengujian
terus menerus dilakukan setelah software dibangun
5. Proses Scrum mampu
menyatakan bahwa produk selesai kapanpun diperlukan
Kelemahan
Scrum antara lain:
- Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Dikarenakan,
model yang digunakan akan berpengaruh pada kinerja dari tim dan juga dapat
menunjang keberhasilan suatu project pembuatan perangkat lunak.
Langganan:
Postingan (Atom)