yasayan bir organizma: yazilim - ytu-kvk finans ve yazilim gunleri - 18.11.2013
DESCRIPTION
Yıldız Teknik Üniversitesi Kalite ve Verimlilik Kulübü tarafından düzenlenen Finans ve Yazılım Günleri'13 (#finansveyazilimgunleri) etkinliğinde yaptığım sunum. Yaşayan Bir Organizma: YazılımTRANSCRIPT
1
Yaşayan Bir Organizma:
YAZILIM
18.11.2013Finans ve Yazılım Günleri’13 (#finansveyazilimgunleri)Yıldız Teknik Üniversitesi – Kalite ve Verimlilik Kulübü
Davutpaşa Kampüsü, İstanbul
Yaşayan Bir Organizma: Yazılım
2
1981 :
Denizli Doğumlu
2005 :
İzmir Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği Bölümü Mezunu
2005 :
Sun Certified Java Programmer 1.4
2005 :
Danışmanlık, Java & JEE Yazılım Geliştirme
2007 :
GittiGidiyor/eBay, SOA Altyapısı, Ödeme Sistemleri
2008 – 2012 :
GittiGidiyor/eBay,Yazılım
Departmanı Müdürü
07.2012 +
Limango(Otto-Group) Türkiye, IT Direktörü
@hakanerdogan
Yaşayan Bir Organizma: Yazılım
Yaşayan Bir Organizma: Yazılım 3
Yazılım, Yaşayan Bir Organizmadır
‘Çoğu kişi, yazılımın kodlamadan oluştuğunu ve bir kere yazılıp bittiğini zanneder. Oysa yazılım yaşayan bir organizmadır ve kodlamadan ziyade yazılımın kalitesi; ne kadar süre ayakta kalacağı, ne kadar esneyebileceği ve bakım maliyeti ile ölçülür, mühendislik de tam burada yatar.’ EticaretMag: E-ticaret Satışlarınızı Arttırmanın Püf Noktaları: http://eticaretmag.com/eticaret-satislarinizi-arttirmanin-puf-noktalari/
YAZILIM, YAŞAYAN BİR ORGANİZMADIR
Yaşayan Bir Organizma: Yazılım 4
Bilgisayar Mühendisliği - Optimizasyon
‘Mühendislik; en iyiyi, en mükemmeli veya en hızlı çözümü bulmak değil, anın şartlarına göre en optimum çözümü bulmaktır’
‘Engineering is nothing but optimization’
Voltaire: ‘Mükemmel, iyinin düşmanıdır’
Prof. Dr. Sıtkı Aytaç İzmir Yüksek Teknoloji Enstitüsü
Bilgisayar Mühendisliği
Yaşayan Bir Organizma: Yazılım 5
Bilgisayar Mühendisliği
Yaşayan Bir Organizma: Yazılım 6
Bilgisayar Mühendisliği – Sizin Farkınız
• Mühendislik
• Teknik altyapı
• İletişim becerisi
• Çözüm odaklılık
• Entelektüellik
• Etik değerler
• İmza yetkisi ?
Yaşayan Bir Organizma: Yazılım 7
Bilgisayar Mühendisliği – Uzmanlık Alanları
• Yazılım Mühendisliğio Önyüzo Orta ve Arka Katman
Java .Net PHP …
o Servis Katmanı• Sistem Mühendisliği• Güvenlik• Veritabanı• İş Zekası ve Veri Madenciliği• Yapay Zeka ve Öğrenen Sistemler• …
Yaşayan Bir Organizma: Yazılım 8
Bilgisayar Mühendisliği – SME
Bir konuda aranan kişi olmak(SME = Subject Matter Expert)
Yaşayan Bir Organizma: Yazılım 9
Bilgisayar Mühendisliği – Çalışma Alanları
• İnternet Firmaları• E-ticaret Firmaları• Telekomünikasyon (Telco) Firmaları• Bankalar• Finans Kuruluşları• Kamu Kurumları• Danışmanlık ve Dış Kaynak Hizmeti Veren Firmalar• Üretim• Servis• …
Yaşayan Bir Organizma: Yazılım 10
En Değerli 5 Şirket
1. Apple (98.32 milyar $)
2. Google (93.29 milyar $)
3. Coca Cola (79.21 milyar $)
4. IBM (78.81 milyar $)
5. Microsoft (59.55 milyar $)
Interbrand – Best Global Brands 2013:http://interbrand.com/en/best-global-brands/2013/Best-Global-Brands-2013.aspx
Şanslısınız
Yaşayan Bir Organizma: Yazılım 11
Sektör Dinamikleri, Değişkenlik ve Çeviklik
Finans, Banka, Kamu, Savunma, Sanayi …
Telco, Üretim, Servis, İnşaat, Taşımacılık, …
İnternet, E-ticaret, Teknoloji ve Bilişim …
Yaşayan Bir Organizma: Yazılım 12
Yazılımın Dinamikleri
12
• Soyut ve bulanık• Çok dinamik, çok değişken• Son teknolojiyi yakından takip eden, teknoloji odaklı• Basit ve Kompleks• Ekip/takım oyunu, birimler arası koordinasyon gerektiren
Yaşayan Bir Organizma: Yazılım 13
Yazılım ve Proje Yönetimi
Yaşayan Bir Organizma: Yazılım 14
Proje Yönetimi – Metodoloji / Framework
• Classic Waterfall• Iterative Waterfall• Spiral• Lean• Kanban• Agile / Scrum• ...
Yaşayan Bir Organizma: Yazılım 15
Yazılım Projelerinin Başarı! Grafiği
• The Standish Group Chaos Raporları – Yazılım projelerinin;
o % 32'si zamanında, bütçesinde ve gereksinimleri karşılayacak şekilde sonuçlanıyor
o % 44’ünde ihtiyaçlar değişiyor, belirsiz bir sürece giriliyoro % 24’ü başarısızlıkla sonuçlanıyor
Başarılı29%
Başarısız
18%
Be-lirsiz53%
2004
Başarılı32%
Başarısız24%
Be-lirsiz44%
2009
Yaşayan Bir Organizma: Yazılım 16
Projelerin Başarısız Olma Nedenleri
• Ortalama 6 ay/1 yıl süren bir projede zamanla ihtiyaçların, dinamiklerin, sektörün değişmesi, yeni gereksinimlerin ortaya çıkması
• Bu nedenle BİTTİ kavramının olmayışı – Proje ne zaman bitecek?
İş
Zaman
Planlanan
Gerçekleşen
Yaşayan Bir Organizma: Yazılım 17
Projelerin Başarısız Olma Nedenleri
• İş sahibinin/müşterinin ürünü 6 ay/1 yıl sonunda User Acceptance Test (UAT) sürecinde görmesi – Müşterinin istediği gerçekten bizim yaptığımız mı?
Yaşayan Bir Organizma: Yazılım 18
Projelerin Başarısız Olma Nedenleri
• İş sahibi/müşteri ile proje ekipleri, hatta proje ekipleri içindeki birimler arasındaki koordinasyon, iletişim, işbirliği eksikliği, motivasyon kaybı
• Nitelikli olmayan ekip – Mutfaktaki bıçakların keskin olmayışı
• Optimizasyon yapılmaması, MVP (En Yalın Ürün) yapılmaması
o ‘Mükemmel iyinin düşmanıdır’, Voltaire
o ‘Engineering is nothing but optimization’
• Yanlış seçimler (teknoloji, mimari, donanım, vs)
Yaşayan Bir Organizma: Yazılım 19
Yönetimsel Öncelikler
• Roadmap (Q ve H planları)• Hedefler• Deadline• Bütçe, nakit akışı• ROI, Break-Even• Dış firmalarla işbirlikleri, anlaşmalar• …
Yaşayan Bir Organizma: Yazılım 20
Yönetimsel KPI’lar
• Ciro (GMV), EBIT, EBITDA• Satış adedi• Ürün adedi• Kayıtlı kullanıcı sayısı• Trafik = Visit, UV, PV• Marka bilinirliği• Kullanıcı Deneyimi (UX)• …
Yaşayan Bir Organizma: Yazılım 21
Yönetim ve Alt Detaylar
• Teknik detaylar• Proje yönetim şekli• Altyapısal işler• Gecikme nedenleri• Bakım ve yönetim (maintenance)• …
Yaşayan Bir Organizma: Yazılım 22
Yazılım Yaşam Döngüsü• Gereksinim Analizi
• Teknik Analiz
• Yazılım Geliştirme: Görsel, Html, Yazılım, Sistemsel Altyapı
• Testler & QA
o Test ortamları: Dev, FT, UAT, Staging, PROD
o Unit Testler
o Fonksiyonel Testler
o UI Testleri
o A / B Testleri
o Kullanıcı Kabul Testleri (UAT)
o SEO Testleri
o Güvenlik Testleri
• Canlıya Çıkış
• Bug Takibi – Çözümü, Yeni Talepler ve Bakım
Yaşayan Bir Organizma: Yazılım 23
Sistemsel ve Yazılımsal AltyapıSistemsel Altyapı
Uygulama Sunucuları
Web Sunucuları
Veritabanı Sunucuları
Load Balancer
Cluster/Session Replication
Firewall, Router, DNS, Disk, ...
Yazılımsal Altyapı
Yazılım Dili / Platformu
Frameworkler, Entegrasyonlar
Önyüz, Orta Katman ve Veri Katmanı
Yazılım Yaşam Döngüsü
Performans
Loglama, Monitoring, Fraud Önleme, Güvenlik, ...
Yaşayan Bir Organizma: Yazılım 24
Araçlar, Teknolojiler, Ürünler
Programming Language & IDE
Frameworks Servers RDBMS
SCM CI Issue Tracking Testing
Dependency Management
UI DesignWiki Modelling Tools ...
Yaşayan Bir Organizma: Yazılım 25
Mimari Tasarım – Sistemsel
Yaşayan Bir Organizma: Yazılım 26
Mimari Tasarım – Yazılımsal
Yaşayan Bir Organizma: Yazılım 27
Değişime Ayak Uydurmak…
• Değişim kaçınılmaz, değişmeyen tek şey değişimdir
• Değişim yönetilmez, değişime adapte olunur
• Meritokrasi’ye inan ve Y kuşağı dinamiklerini algıla
• 09:00 – 18:00 mesai kavramından ziyade, iş odaklı
çalışmayı teşvik et
Yaşayan Bir Organizma: Yazılım 28
Değişime Ayak Uydurmak…
• Takım oyunu, #ekipruhu
• SME’lerle çalış: Mutfaktaki bıçaklar keskin ise her türlü
yemek keyifle ve kolayca yapılır
• Basit olanı yap. Basiti yapmak zordur (K.I.S.S.)
• Veri ile konuş: Yap, test et, ölç, analiz et, iyileştir, yeniden
test et... (kaizen, pivoting)
29
Teşekkürler
@hakanerdogan
http://www.odemesistemleri.org
@odemesistemleri
Yaşayan Bir Organizma: Yazılım