Your SlideShare is downloading. ×
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri

2,421

Published on

Bu sunum, 23 Mart 2013 tarihinde Dinamikler 2013 Proje Yönetim Kongresi Agile Panelinde yaptığım konuşmanın yansılarından oluşuyor. …

Bu sunum, 23 Mart 2013 tarihinde Dinamikler 2013 Proje Yönetim Kongresi Agile Panelinde yaptığım konuşmanın yansılarından oluşuyor.
http://www.dinamikler.org/sunum5.asp

Konuşmamın ana fikri şöyle özetlenebilir:
Her yıl geliştirilen yazılım projelerinin yarısı çöpe gidiyor. Birçok şirket, uzayan, bitmeyen, kalitesiz projeler nedeniyle yüklü miktarda para kaybediyor. Her projede projenin kapsamı, donanımsal ve yazılımsal gereksinimler, projenin kaç kişi ile geliştirileceği, projenin kaç adam gün süreceği ve ne kadar bütçe ayrılacağı gibi sorular için cevap aranırken çoğu kez bir şey gözden kaçıyor: Yazılımın doğası.

Yazılımın doğası gereği kaynaklar kısıtlı ve gereksinimler belirsizdir. Belirsizlik ve kısıtlı kaynaklarla başadebilmenin tek yolu oyunu onun kurallarıyla oynamaktır. Değişken gereksinimleri kısıtlı kaynaklarla belirlenen süre zarfında bitirebilmek, yani daha azla daha çok şey başarmak için, çevik olmak, kaliteli yazılım geliştirmek, belirsizliğe değişimle anında cevap vermek gerekir.

Yazılım geliştirmek, özellikle de takım halinde yazılım geliştirmek belli bir disipline sahip olmayı gerektirir. Hızla değişen teknolojilere, belirsiz gereksinimlere, projelerin türlü ihtiyaçlarına ayak uydururken, kalıcı, dayanıklı, esnek ve kaliteli yazılım geliştirmek için elinizde size yol gösterecek tek şey yazılım ilkeleridir. Yazılım ilkeleri sizin ve takımınızın kültürdür, disiplinidir.

Çevik yazılım geliştirme uygulamaları tam da bu noktada sahneye çıkar. Bu uygulamalar, projelerinizin başarıya ulaşabilmesi adına gereken yazılım kültürünün yapıtaşlarını oluşturur. Bu oturumda, başarılı projelerde yazılım kültürüne şekil veren çevik yazılım geliştirme uygulamalarından ve etkilerinden bahsedeceğim.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,421
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. BAŞARILI PROJELERİn ANAHTARIÇevİK YAZILIM GELİŞTİRME PRATİKLERİ Lemi Orhan Ergin Principal Software Engineer / Yazılım Ustası Sony Europe
  • 2. HİÇ yazılım projenİzBaşarisiz oldu mu?Projeyi zamanında yetistiremedik ,Daha canlıya çıkamadan iptal ettikCanlıda sürekli hata buluyorumMevcut yazılımı bastan yazmamız gerek , -Proje uzadıkça uzadı, bitecek gibi degil -Yazılım istedigim gibi olmamıs ,İstedigim özellikleri eklemiyorlarUfak özellikler için bile çok para istiyorlarBir kisi isten ayrıldı, proje çıkmaza girdi , -,Yazılımı gelistiren takım sürekli degisiyor ,Yazılım mimarisi çok eskiymis , - ,Projenin basarısız olacagı asikardı aslında ,Proje güzel giderken ne oldu da birden battı
  • 3. Yazılım ProjelerİBAŞARISIZ“Tükiyedeki projelerin %50si çöpe gidiyor” Agile Turkey - “Gerçek masraflar eklendiginde teknoloji projelerinin %80i zarar ediyor” Mercer Consulting
  • 4. karİyeRİm boyunca 11 büyük çaplı projede çalıştım Kalıpçılık endüstrisi için B2B eticaret sitesi IBM tabanlı ürün bilgisi yönetim sistemi Avrupa için ürün bilgisi yönetim sistemi Askeri belge yönetim sistemi Tüm Avrupa ülkeleri için pazarlama siteleri Tüm Avrupa siteleri için ortak araç çubuğu Ana arkaplan bileşenleri, uygulamaları ve APIleri Avrupa için ana veri servisleri Avrupa için müşteriye özel veri servisleri ABD ve Kanada için çekirdek veri servisleri E-ticaret dikey ürün satış modulü
  • 5. karİyeRİm boyunca 11 büyük çaplı projede çalıştım 6 tanesİ HİÇ CANLIYA ÇIKMADI/KAPANDI/KAPANACAK Kalıpçılık endüstrisi için B2B eticaret sitesi IBM tabanlı ürün bilgisi yönetim sistemi Avrupa için ürün bilgisi yönetim sistemi Askeri belge yönetim sistemi Tüm Avrupa ülkeleri için pazarlama siteleri Tüm Avrupa siteleri için ortak araç çubuğu Ana arkaplan bileşenleri, uygulamaları ve APIleri Avrupa için ana veri servisleri Avrupa için müşteriye özel veri servisleri ABD ve Kanada için çekirdek veri servisleri E-ticaret dikey ürün satış modulü
  • 6. BAŞARISIZLIK kaçınılmaz ÇÜNKÜ BAŞARISIZ OLMAK İÇİN ÇOK NEDEN VARBilinmeyen gereksinimler Basarısız takım çalısması , , Tanrı yazılımcılar -Teknik bilgi eksikligi Yanlıs ürün gelistirme , , Sürekli mesai ve verimsiz günlerYanlıs tasarım ya da kodlama Yönetim zaafları , Kaliteden verilen ödünlerSorunları müsteriden gizleme Eksik belgeleme , Sunucu ve altyapı sorunlarıTest edilmeden gelistirme , İletisim eksiklikleri , Gereksiz özelliklere odaklanmaCanlıda çıkan hatalar Kullanılan yanlıs araçlar , Yazılımı sadece kodlama sanmak
  • 7. Pekİ DÜNYADA BAŞARILI yazılımlar NASIL GELİŞTİRİLİYOR? diye sormak hakkınız
  • 8. ÇEVİK YAZILIM GELİŞTİRME PRATİKLERİ basarısı tecrübe ile sabit, dünyaca kabul görmüs, , , basarılı sonuçlar elde eden yazılımlar gelistirmek için , , - gereken yazılım pratikleri toplulugudur
  • 9. ÇEVİK YAZILIM GELİŞTİRME PRATİKLERİ4 Ana kavram üzerİNE KURULMUŞTUR
  • 10. Erken başarısız olmak
  • 11. Yazılımda kalİTE STANDARTLARI
  • 12. Takım çalışması
  • 13. BİLGİ PAYLAŞIM ORTAMI OLUŞTURMAK
  • 14. ÇEVİK YAZILIM GELİŞTİRME PRATİKLERİ NelerdİR?
  • 15. MüŞTERİ İLE DÜZENLİ OLARAK GÖZDEN GEÇİRİN Proje kapsamını küçük parçalara bölün Herseyi en bastan planlamaya kalkmayın , , Kısa döngülerle yazılım gelistirin ,
  • 16. EĞER sistemi bozan yeni özellikler, koda dokunmaktan korkan yazılımcılar, ömrünü bitirmis projeler, , , - nasıl çalıstıgı anlasılmayan kodlar, , son anda ortaya çıkan hatalar, uzun test etme süreleri, bitmeyen projeler İSTEMİYORSANIZ Test edİLEBİLİR KOD YAZINYazılımı TDD İLE GELİŞTİRİN Çok katmanda test edİN
  • 17. Hata ÇÖZMEDEN ÖNCE MUTLAKA TEST YAZARAK HATAYI YENİDEN YARATIN TESTİ YAZILMAMIŞ HATALAR BİR GÜN YENİDEN HORTLAR
  • 18. Kodu süreklİ YENİDEN YAPILANDIRIN (REFACTOrıNG)Süreklİ tümleştİRME İLE HATALARI ANINDA FARKEDİN (CONTINUOUS INTEGRATION)
  • 19. EşLİ PROGRAMLAMA YAPIN(PAIR PROGRAMMING)YAZILan KODLARITAKIMCA İNCELEYİN(CODE REVıEW)
  • 20. TemİZ KOD YAZIM KURALLARINA UYUN(CLEAN CODE)KOD ANALİZİ ARAÇLARI İLE GİZLİ HATALARI BULUN(CODE ANALYSIS)KODUNUZU VERSİYONLAYIN VEHER FIRSATTA DALLANDIRIN(CODE VERSIONING & BRANCHING)
  • 21. Kısa aralıklarla sürüm çıkın(short releases)Ön Tasarımı kısa tutun(short up-front design)YeteRİ KADAR BELGELEYİN(AGILE DOCUMENTATION) GELECEĞİ NETLEŞTİRMEYE ÇALIŞMAYINÇALIŞMALARINIZIN EVRİMLEŞMESİNE İZİN VERİN
  • 22. İç Eğİtİmler ORGANİZE EDİNBIRAKIN Çalışanlar İş arkadaşlarını eğİTSİN
  • 23. ÇEVİK YAZILIM GELİŞTİRME PRATİKLERİBaşarılı projeler gelİştİrmenİzİ sağlar Müsteri ile düzenli olarak gözden geçirin. , Test edilebilir kod yazın, yazılımı TDD ile gelistirin, çok katmanlı test edin. , Kodu sürekli yeniden yapılandırın (refactoring) Sürekli tümlestirme ile hataları anında farkedin (continuous integration) , Esli programlama yapın (pair programming) , Yazılan kodları takımca inceleyin (code review) Temiz kod yazım kurallarına uyun (clean code) Kod analizi araçları ile gizli hataları bulun (code analysis) Kodunuzu versiyonlayın ve her fırsatta dallandırın (versioning & branching) Kısa aralıklarla sürüm çıkın (short releases) Ön tasarımı kısa tutun (short up-front design) Yeteri kadar belgeleyin (agile documentation) - Bırakın çalısanlar is arkadaslarını egitsinler (internal trainings) , ,
  • 24. referanslar “Yazılım projeleri çöpe gidiyor” - Agile Turkey http://www.agileturkey.org/Haberler/Detay/Yazilim-Projeleri-Cope-Gidiyor“Software Project Failure Costs Billions..” - Galorath Incorporated http://www.galorath.com/wp/software-project-failure-costs-billions-better-estimation-planning-can-help.php Kullanılan resİmler http://commons.wikimedia.org/wiki/File:Train_wreck_at_Montparnasse_1895_2.jpg http://www.publicdomainpictures.net/view-image.php?image=19963&picture=sad-woman http://vetton.ru/61345/ http://wnyinjurylawyers.com/assets/slider-slip.jpg http://blackboardmktg.com/wp-content/uploads/2011/11/blackboard-backgrounds-wallpapers.jpeg http://www.acclaimimages.com/_gallery/_image_pages/0420-1010-1615-0910.html http://nutrition.about.com/od/tryingtogainweight/tp/foodstogainweight.htm http://www.journalofappliedecology.org/view/0/editorschoice491.html http://blog.cathysparkle.com/the-truth-about-soap/ http://www.delawareonline.com/blogs/2008/09/he-pingping.html http://www.gemdiamonds.com/gem/image_uploads/backgrounds/1cuttingpolish.jpg http://icedcoffee.deviantart.com/art/Zombies-145858724 http://www.lookfordiagnosis.com/mesh_info.php?term=Quadruplets&lang=1
  • 25. linkedin @lemiorhanblogger slideshare twitter @lemiorhan @lemiorhan Lemİ orhan ergİn agilistanbul.com lemiorhan@agilistanbul.com Principal Software engineer / yazılım ustası Sony europe

×