Celal Bayar Üniversitesi Bilişimde Kariyer Zirvesi(http://www.bilisimdekariyerzirvesi.com/ ) etkinliği için hazırladığım sunumdur. Sunumda teknolojinin geçmişten günümüze hızla değişiminden dikey ve yatay uzmanlıklara, Endüstri 4.0 yeniliklerinden Gartner araştırma raporlarına, çalışma tekniklerinden takip edilmesi gereken kaynaklara farklı bir çok konuda bilgiler verilmeye çalışılmıştır.
Celal Bayar Üniversitesi Bilişimde Kariyer Zirvesi(http://www.bilisimdekariyerzirvesi.com/ ) etkinliği için hazırladığım sunumdur. Sunumda teknolojinin geçmişten günümüze hızla değişiminden dikey ve yatay uzmanlıklara, Endüstri 4.0 yeniliklerinden Gartner araştırma raporlarına, çalışma tekniklerinden takip edilmesi gereken kaynaklara farklı bir çok konuda bilgiler verilmeye çalışılmıştır.
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriLemi Orhan Ergin
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.
More Related Content
Similar to Yazılım Tasarımında Mimarî Bir Bakış Açısı Geliştirmek
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriLemi Orhan Ergin
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.
Similar to Yazılım Tasarımında Mimarî Bir Bakış Açısı Geliştirmek (20)
2. Ben de kimim? Ne yapıp ettim?
• Araştırma Görevlisi, Bilgisayar Müh., Hacettepe Üniversitesi ~8 yıl
• Geliştirici, Proje Yöneticisi, Apache Yazılım Vakfı ~5 yıl
• Yazılım Mimarı, Teknik Lider, Mühendislik Yön., Peak Games ~3 yıl
• Yazılım Mimarı, Kurucu Ortak, Metasolid (Startup – Batık) ~2 yıl
• Yazılım Mimarı, Kıdemli Teknik Lider - Ar-Ge, Arçelik 2+ yıl
@ersiner @bilgisayimci @dilsefendi
3. Nelerden doğrudan bahsetmeyeceğim?
• Yazılım Mimarisinin / Mimarlığının tanımı
• Mimarinin gerekliliği, yazılım geliştirmedeki yeri
• Mimarî Stiller ve Örüntüler
• Mimarî Görünümler ve Perspektifler
• İşlevsel Olmayan Kalite Unsurları ve aralarındaki ilişkiler
• Bulut Bilgiişlem, Mikroservisler, Yaz-İşlet (DevOps)
• Referans Mimariler, Teknolojiler
• Literatür
8. Teknolojik ve Kavramsal Trendler
Mikroservisler
icâd edilmese
hâlimiz nice olurdu?
Neyse ki Docker var…
9. Sıkı Fıkı Üretici ve Tüketiciler
• Kullanıcı bilgilerini doğrula
• İşlemi A biçiminde kayıt altına
al
• Kullanıcıyı bilgilendir ve
yönlendir
• Kullanıcı bilgilerini doğrula
• İşlemi A biçiminde kayıt altına
al
• Analitik servisine B biçiminde
bilgi gönder
• Kullanıcıyı bilgilendir ve
yönlendir
gel zaman, git zaman...
11. Çevik varsa sorun yok!..
• Ne belge ne mimari, bana kod gerek
• Bir çevik metodoloji öğretenin kırk yıl kölesi olurum
• Kodumu yazarım işime bakarım
• Tek rakibim G.A.F.A.M.
12. Özetleyelim
• Teknoloji yığıtı doğrudan mimariniz olamaz.
• Artan teknoloji temelli dış bağımlılıkları soyutlamada dirayetli olun.
• Mikroservisler, Docker, Kubernetes sadece işlevsel olmayan
gereksinimleri daha kolay karşılamanızı sağlayabilir, halen bir
mimariniz (ve yaklaşımınız) olmalı.
• Bilgi ihtiyacı olan her servisin derdini iş kodunuzda çözerseniz sistem
arap saçına döner. Kuyruklar hem temiz bilgi aktarımı, hem de
ölçeklenebilirlik için biçilmiş kaftandır.
• Her gereksinimi, var olan altyapıyı ve var olan gereksinim çözümleri ile
ortaklaşmayı düşünmeden gelişine çözüme dönüştürmemeli.
• Çevik çoğu durumda gerekir, iyidir ama yeterli değildir; mimariyi de
gereksiz kılmaz.