İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
-
Upload
murat-kader -
Category
Education
-
view
217 -
download
1
description
Transcript of İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
05 Mart 2014
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 BilgileriEmail: [email protected] : +90536 2402424
Big Scale Systems, Logistic Operations, E-commerce Payment, Cache Systems, Mysql Databases ,Php Development , Linux Administration , FrontEnd Development, Network Structures
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
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ı
6
Yazılım, yaşayan bir organizmadır... İhmale gelmez.
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.
Ana hatları ile 2 kategori’de
low level (assembler)
high level (C++, C# .. )
6000’den fazla
http://spectrum.ieee.org/at-work/tech-careers/the-top-10-programming-languages
Marketplaces E-Retailers Classified Private Shopping Group Buying Verticals Price Comparision Services Over Internet
Pazaryerleri E-Perakendeciler İlan Siteleri Özel Alışveriş Kulüpleri Grup Satınalma / Fırsat Siteleri Dikeyler Fiyat Karşılaştırma Siteler İnternet Üzerinden Hizmet Satan
Siteler
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, ...
Programming Language & IDE
Frameworks Servers RDBMS
SCM CI Issue Tracking Testing
Dependency Management
UI DesignWikiModelling Tools
...
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.
Classic Waterfall
Iterative Waterfall
Spiral
Lean
Agile / Scrum
...
Teknik Analiz
Yazılım Geliştirme: Görsel, Html, Yazılım
Testler & QA
Test ortamları: Dev, FT, UAT, Staging, PROD
Unit Testler
FonksiyonelTestler
UI Testleri
A / B Testleri
Kullanıcı Kabul Testleri
SEO Testleri
Güvenlik Testleri
Bug Takibi ve Çözümü
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
• 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
Başarılı29%
Başarısız
18%
Belirsiz53%
2004
Başarılı32%
Başarısız24%
Belirsiz44%
2009
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
• 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?
İş
Zaman
Planlanan
Gerçekleşen
• İş 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)
• Scrum - Rugby hücum taktiği:
– Top, tüm oyuncularla birlikte karşı sahaya taşınarak atak yapılmaktadır.
• 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
• 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.
1. Müşteri ile bir araya gelinir
2. İhtiyaçlar belirlenir ve taskler çıkarılır (Product Backlog)
3. Bu taskler önceliklendirilir ve puanlanır (poker game, Sprint Planning)
4. 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)
5. 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
6. 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)
7. 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
8. Takım, bir sonraki Sprint için tekrar müşteriyle bir araya gelir ve yeni bir Sprint Planning toplantısı başlar...
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
Ö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ı
Ö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.
http://www.youtube.com/watch?v=XU0llRltyFM
Developer
Software Architect
Sys. Administrator
Business Analyst
Software and Hardware Help Desk
Test Engineer
BI Reporting Specialist
Database Administrator
E-Ticaret’te yazılımcı kimdir ?
E-Ticaret için yazılımcı nereden bulunur ? Startup Kahramanları
We Made IT Possible
CMS
Joomla, Wordpress, Xcart,osCart, phpCart,magento,drupal,oscommerce etc.
Outsource Yazılım
Outsource
Freelance
Inhouse
CMS Magento, PrestaShop, Drupal e-commerce, Zen-Cart,CubeCart, osCommerce, VirtueMart, FatFreeCart
Hosted Cms Shopify, wosbee,incir, sopsy
Custom Scripts
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
IT ekibinizde kimlere ihtiyacınız var ?
En az kaç kişi olmalı
Proje Yönetimi
• 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
İletişim BilgileriEmail: [email protected] : +90536 2402424