2.
1984 yılında İstanbul’da doğdu.
2003 , Adex
2004, Portakal Bilişim
2006, Microsoft
2007, Vision DMR
2007, Estore
2009, OttoGroup – limango – arabulvar -Ogli
İletişim Bilgileri
Email: bmukad@gmail.com
Mobile : +90536 2402424
Big Scale Systems, Logistic Operations, E-commerce Payment, Cache Systems, Mysql Databases ,Php Development , Linux Administration , FrontEnd
Development, Network Structures
3.
Tanışma
Yazılım Nedir ?
Popüler Yazılım Dilleri
E-ticaret İçin Hangi Yazılım Dili ve Platformu
Teknoloji Seçimi - Checklist
Yazılım Yaşam Döngüsü
Proje Yönetimi
Agile / Scrum
IT Ekibi Yapılanması
E-Ticaret için IT çözümleri
IT Ekibi- Proje Planı
E-Ticaret – Genel Altyapı
Yük Dağılımı (Load Balancing)
Database Replikasyonu
Web Server Seçimi
Memcache
Startup’lar için Adım adım Altyapı
Soru / Cevap / Yorum Free Format
Teşekkürler
4. Otto Group
Perakende ve e-ticaret alanında
dünyanın önde gelen şirketler grubu
Yıllık cirosu 11,6 milyar Euro
53 binden fazla çalışan
20’nin üzerinde ülkede 123 firma
E-ticaret ve perakende kanallarından
aktif satış ağları
Internet Retailer tarafından yapılan
Avrupa’nın 2010’da en fazla ciro
yapan 300 e-ticaret şirketi listesinde
Amazon’dan sonra ikinci sırada yer
aldı
8. Yazılım[1] (İng. software), değişik ve çeşitli görevler yapma amaçlı
tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu
sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye
yarayan makina komutlarıdır.
Yazılım, yaşayan bir organizmadır... İhmale gelmez.
9.
Ana hatları ile 2 kategori’de
low level (assembler)
high level (C++, C# .. )
6000’den fazla
16. Sistemsel Altyapı
Yazılımsal Altyapı
Uygulama Sunucuları
Yazılım Dili / Platformu
Web Sunucuları
Frameworkler, Entegrasyonlar
Veritabanı Sunucuları
Önyüz, Orta Katman ve Veri Katmanı
Load Balancer
Yazılım Yaşam Döngüsü
Cluster/Session Replication
Performans
Firewall, Router, DNS, Disk, ...
Loglama, Monitoring, Fraud Önleme,
Güvenlik, ...
18. Geliştirdiğiniz bir yazılım projesinin planlanmasından
başlayarak teslimatına kadar geçirmiş olduğu bütün
aşamalara ve bu aşamalardan oluşan
döngüye, Yazılım Geliştirme Yaşam Döngüsü denir.
Bir yazılım projesinin geliştirilmesi, sadece
kodlamadan oluşmamaktadır.
Basitçe bir proje geliştirilirken projenin
planlama, analiz, tasarım, üretim ve test aşamaları
yer almaktadır ve almalıdır. Bu aşamalar bir kere
gerçekleştirildikten sonra proje tamamlanmayabilir.
Bu aşamaların bir döngü halinde düşünülmesi
gerekmektedir. Proje tamamlandıktan sonra gelecek
istekler, hata düzeltmeleri, projeye eklenecek yeni
modüller vs konular için bu süreç devam etmektedir.
Bu döngüye yazılım geliştirme yaşam döngüsü adı
verilmektedir.
20.
Teknik Analiz
Yazılım Geliştirme: Görsel, Html, Yazılım
Testler & QA
Unit Testler
FonksiyonelTestler
UI Testleri
A / B Testleri
Kullanıcı Kabul Testleri
SEO Testleri
Test ortamları: Dev, FT, UAT, Staging, PROD
Güvenlik Testleri
Bug Takibi ve Çözümü
21.
22.
ROI’ı maksimize etmek için
Hedeflenen sürede
Hedeflenen bütçede
Hedeflenen kalitede
Hedeflenen kapsamda ve işlevsellikte
Aksaklıklar yaşamadan
Ekip oyunundan keyif alarak başarmak
23. •
E-Ticaret;
Çok dinamik
Son teknolojiyi yakından takip eden
Teknolojiyi drive eden
Online, anında, hızlı
Basit ve Kompleks
Web siteniz sizin ürününüz
Ekip/takım oyunu, birimler arası koordinasyon şart
24.
The Standish Group Chaos Raporları -Yazılım projelerinin;
▪ %32'si zamanında, bütçesinde ve gereksinimleri karşılayacak şekilde
sonuçlanıyor
▪ %44’ünde ihtiyaçlar değişiyor, belirsiz bir sürece giriliyor
▪ %24’ü başarısızlıkla sonuçlanıyor
2009
2004
Belirsiz
53%
Başarılı
29%
Belirsiz
44%
Başarılı
32%
Başarısız
24%
Başarısı
z
18%
25. • 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ı – Waterfall’ın dezavantajı
• Bu nedenle DONE kavramının olmayışı – Proje ne zaman
bitecek?
İş
Gerçekleşen
Planlanan
Zaman
26.
27. • İş sahibi/müşteri ile proje ekipleri, hatta proje ekipleri içindeki
birimler arasındaki koordinasyon, iletişim, işbirliği
eksikliği, motivasyon kaybı – Waterfall’ın dezavantajı
• Nitelikli olmayan ekip – Mutfaktaki bıçakların keskin olmayışı
• Optimizasyon yapılmaması, en iyi en mükemmel değil, o günün
şartlarına uygun en iyi çözüm
– ‘Mükemmel iyinin düşmanıdır’, Voltaire
– ‘Engineering is nothing but optimization’
• Yanlış seçimler (teknoloji, mimari, donanım, vs)
28. • Scrum - Rugby hücum taktiği:
– Top, tüm oyuncularla birlikte karşı sahaya taşınarak atak
yapılmaktadır.
29. • Agile Manifesto:
– Kent Beck, Martin Fowler, Ken Schwaber, Jeff
Sutherland... gibi toplam 17 kişi tarafından 2001 yılında
yayınlandı
Önemli
Az Önemli
Kişiler ve takım çalışması
Süreç ve araçlardan
Çalışan yazılım
Detaylı dokümantasyondan
Müşteri ile beraber çalışmak
Sözleşme ve anlaşmalardan
Değişime açık olup, uygulamak
Plana bağlı kalmaktan
30. • Amaç en baştan nihai ürünü, en mükemmeli tasarlamak
değildir. Belirli periyotlarla çalışan prototipler sunmak ve
markette ilk yer almaktır.
• Agile olmak "Kervan yolda düzülür" demek değildir. Aksine sık
sık planlayıp, değişen sektör dinamiklerine yeniden ayak
uydurmak, değişime açık olmak demektir. Beklentiyi
yönetmek için iyi bir yoldur.
• Agile olmak müşteriyle içiçe olmak demektir. Belirli
periyotlarla çalışan bir prototip sunmak, feedback almak, bu
feedbacklerle kendini iyileştirmek, geliştirmek ve bir sonraki
süreci planlamak demektir.
31. 1.
2.
3.
4.
Müşteri ile bir araya gelinir
İhtiyaçlar belirlenir ve taskler çıkarılır (Product Backlog)
Bu taskler önceliklendirilir ve puanlanır (poker game, Sprint Planning)
Takımın 2 veya 4 haftalık hızına (Team Velocity) göre önceliği yüksek işler
listeye alınır (Sprint Backlog)
32. 5.
6.
Takım her sabah 15 dakikalık durum değerlendirme toplantısı yapar (Daily
Scrum). İletişimi, koordinasyonu ve motivasyonu arttırır.
•
Dün ne yaptım
•
Bugün ne yapacağım
•
Karşılaştığım problemler
2 veya 4 hafta sonunda çalışan prototip ile müşteriye demo yapılır, feedback
alınır, gerekliyse değişiklik yapılacaktır. (Sprint Review)
33. 7.
8.
Takım, 2 veya 4 hafta sonunda neleri iyi yaptığını, neleri kötü yaptığını, neleri
iyileştirmesi gerektiğini tartışır (Sprint Retrospective) – Continuous improvement
Takım, bir sonraki Sprint için tekrar müşteriyle bir araya gelir ve yeni bir Sprint
Planning toplantısı başlar...
34.
35. Felsefe:
• Self organization:
• Commitment
• Trust
• Cross-functional teams
• Transparency
• DONE kavramı
• Timebox
• Inspect & adapt
• Kaizen (continuous improvement)
• Retrospective
• K.I.S.S. & basit olanı yapmak zordur
36. Özetle E-ticarete Faydaları:
• Sık sık planlama yapıldığı için, müşteriyle sık sık biraraya
gelindiği için;
– 6 ay/1 yıl gibi bir süre sonunda hüsranla karşılaşılmaz,
– ROI maksimize edilir,
– Proje başarısı yükselir,
– Üretkenlik artar,
– Maliyetler düşer
• Değişime, yeni gereksinimlere açık olduğu için
dinamik, güncel ve kullanılacak fonksiyonalitede bir ürün
tasarlamanızı sağlar - Pareto Kuralı
37. Özetle E-ticarete Faydaları:
• 6 ay/1 yıl gibi bir süre sonunda değil de 2-4 hafta gibi
periyotlarla çalışan prototipler sunduğu için markette ilk yer
almanızı sağlar, rekabet gücünüz artar.
• İletişim ve koordinasyon yüksek olduğu için azimli ve
motivasyonu yüksek, yaptığı işten keyif alan bir ekip ortaya
çıkar (S.W.A.T. team).
• Kurum kültürünüze timebox, DONE, transparency gibi
kavramları yerleştirir.
43.
Outsource Yazılım
Done Kavramı
Proje Detayları
Dökümantasyon
Projenin Tanımı ve görevlerin atanması
Proje için gerekli olan süre
Proje ve zaman planı ile ilgili commitment
44. IT ekibinizde kimlere ihtiyacınız var ?
En az kaç kişi olmalı
Proje Yönetimi
45. • Platforma karar verin
• İhtiyacınız olan IT yeteneklerine karar verin
• Elinizde ne bulunduğunu kontrol edin
• Basit düşünün
• Riskleri gözden geçirin
Geliştirdiğiniz bir yazılım projesinin planlamasından başlayarak teslimatına kadar geçirmiş olduğu bütün aşamalara ve bu aşamalardan oluşan döngüye, Yazılım Geliştirme Yaşam Döngüsü denir.Bir yazılım projesinin geliştirilmesi, sadece kodlamadan oluşmamaktadır. Basitçe bir proje geliştirilirken projeninplanlama, analiz, tasarım, üretim ve test aşamaları yer almaktadır ve almalıdır. Bu aşamalar bir kere gerçekleştirildikten sonra proje tamamlanmayabilir. Bu aşamaların bir döngü halinde düşünülmesi gerekmektedir. Proje tamamlandıktan sonra gelecek istekler, hata düzeltmeleri, projeye eklenecek yeni modüller vs konular için bu süreç devam etmektedir. Bu döngüye yazılım geliştirme yaşam döngüsü adı verilmektedir.
Peki, şimdi günümüze ve eticarette proje yönetimine odaklanacak olursak, proje yönetimi nedir, neden proje yönetimine ihtiyaç duyarız?Bana ait olmayan bir örnek, ama Proje yönetimini, en iyi anlatan örnek diyebilirim:Bayanların/eşlerin tatile çıkmadan önce hazırladıkları bavulu düşünün.Hangi gün hangi kıyafeti giyecekleri bellidir, hatta eşinin her bir gün için kendi kıyafetine uygun kıyafetlerini de seçmişlerdir. Mayo, yedek kuru mayo, terlik, güneş kremi, güneş gözlükleri, havlular vs hepsi özenle ve sıralı bir biçimde hazırlanmıştır. Gece kıyafeti, makyaj malzemeleri, sizin tıraş setiniz hepsi düşünülmüştür. Hatta evden çıkmadan önce yapılacakların listesi bellidir, doğal gaz kapatılacak, elektrikler kontrol edilecek, su vanası kapatılacaktır.Aslında bayanların yaptığı tatil öncesinde başlayan ve tatil dönüşüne kadar geçen sürenin tamamına proje yönetimi denir.
İş hayatında proje yönetimine ihtiyaç duymamızın nedeni, yaptığımız veya yapacağımız yatırımın, en kısa sürede, bütçesini aşmadan, aksaklıklak yaşamadan ve elimizdeki kaynakları en verimli şekilde kullanarak maliyetini çıkarıp kar etmek (ROI maximization).Bunu yaparken de ekip içi ve birimler arası motivasyonu yüksek tutup, iş yapmaktan, başarmaktan keyif almaktır
Eticaret bu noktada; Finans, Kamu, TelCo, Hizmet vb diğer sektörlerden, dinamiği gereğibiraz ayrışıyor. Eticaret sektöründe teknolojiyi yakından takip edip uygulamak zorundasınız, hatta ArGe yapıp yeni teknolojilere yatırım yaparak fark yaratmalısınız. Ayrıca hızla değişen piyasa koşullarına adapte olmak zorundasınız.Eticaret online ve hızlı olduğu kadar hem basit hem de komplekstir. Bu nedenle ekip içi ve birimler arası koordinasyon şarttır.
İş 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ı? – Waterfall’ın dezavantajı