Sürekli build yapabilmenin anahtarı ana branch’te gerçekleştirilen bir build hata aldıysa bunu hemen düzeltmektir. Sürekli Entegrasyon ile çalışmanın amacı stabil bir ortamda geliştirme yapmaktır. Ana branch’te bir build’in hata alması kötü bir şey değildir fakat sürekli olarak yaşanıyorsa bu yazılım geliştiricilerin yeterince dikkatli olmadıklarının göstergesidir. Yine de önemli olan nokta eğer bir build hata aldıysa bunun biran önce düzeltilmesidir. Böyle bir sorun genellikle ana branch’e gönderilen son kodun geri alınması ve kodu gönderen kişinin kendi makinesinde sorunu bulmasıyla çözülebilir.
Çevik Pratikler’den Biri, Sürekli Entegrasyon Nedir?
Bu yazı serisinde Çevik Pratikler’den biri, “Sürekli Entegrasyon nedir”, “Sürekli Entegrasyon Pratikleri nelerdir”, “Sürekli Entegrasyon faydaları nelerdir” konularına değineceğim. Sürekli Entegrasyon, terimi 1990’lı yıllarda ilk defa Kent Beck tarafından kullanılmıştır. Kent Beck, eXtreme Programming’in yaratıcısı ve Çevik Yazılım Geliştirme Bildirisi’ni imzalayan 17 kişiden biridir.
Sürekli Entegrasyon, bir yazılım geliştirme pratiğidir. Yazılım geliştiriciler yazdıkları kodu ortak bir alana yükler. Böylece herkesin yazdığı kod ortak alanda derlenir ve çalışan ürün elde edilir. Bir yazılım geliştirici yeni bir işlevsellik geliştireceği zaman ortak alanda bulunan kodu kendi bilgisayarına çeker ve kod üzerinde çalışmaya başlar. Yazılım geliştirici işlevselliği geliştirdikten sonra yazdığı kodu ortak alana yükler. Teoride yapılan işlem bu kadar kolay gibi görünse de gerçek hayatta işler bu kadar kolay değildir. Büyük ölçekli yazılımlar geliştirmek karmaşıktır. Bu karmaşıklığı aşarken yüksek kaliteli ürün oluşturabilmek için disiplin ve koordinasyon gereklidir. Sürekli Entegrasyonla gerekli disiplin ve koordinasyonun sağlanabilmesi için bazı aktiviteler belirlemiştir. Bu aktiviteleri, Martin Fowler, Sürekli Entegrasyon hakkında yazdığı makalede belirtmiş ve bu aktiviteler yazılım dünyası içinde büyük kabul görmüştür. Sürekli Entegrasyon Nedir? yazısına devam et →
Scrum Master Nedir? Makale bu soruyla başlıyor fakat Scrum hakkında merak edilen birçok soruya cevap vermeye çalışıyor. Aklınıza takılan sorular varsa bana yazmanızı rica ederim.
Scrum Master Nedir?
Scrum Takımı’nın kurallara uyması, pratikleri uygulaması ve Scrum teorisini anlamasından sorumludur. Geliştirme Takımı ve Ürün Sahibi arasında ara bulucudur. Çıkar çatışmalarında ara buluculuğu Scrum kurallarına göre çözümler.
Çeviklik, Yalınlık, Scrum, Kanban, eXtreme Programming(XP) konularında ne yazık ki Türkçe kaynak sayısı yok denilecek kadar az! Bu açığın kapatılması gerektiğini düşünüyorum. Ülke olarak İngilizce bilen kişi oranımız çok düşük. İnsanların bir konuyu öğrenebilmesi için ilk önce İngilizce öğrenmesi gerekiyor. Gerekmemeli! Eğitim sistemimizde böyle büyük bir yanlış var! Tek başıma bu yanlışı düzeltemem fakat bireysel çaba gösterebilirim. Bu büyük yanlışın yanında bireyler olarak bizimde yanlışımız var. Birey olarak yaşıyoruz! Halbuki toplum olarak yaşamalıyız! Kendimiz için yaşıyoruz ve kendimizin dışında hiçbir şey önemli değil!
Keşke herkes, iyi bildiği bir konuda birkaç kitap yazabilse ya da çevirebilse, o zaman ülkemizin insanı için bir şeylerin yolunu kolaylaştırmış oluruz.
Çevik yaklaşımlarda işin maliyetini belirleme konulu yazı serisinin üçüncü bölümünde Scrum, eXtreme Programming ve Kanban takımlarında kullanılan Poker Planlama konusunu anlatacağım. Poker Planlama, Çevik Bildiri’ye imza atan 17 kişiden biri olan James Grenning tarafından geliştirilmiştir. Bir eXtreme Programming tekniğidir. Scrum uygulayanlar tarafından faydalı bulunup Sprint ve Release planlamasında kullanılmaktadır. Poker Planlama, uzman görüşünü, benzeşimi –karşılaştırmayı- ve küçük parçalara bölmeyi eğlenceli bir şekilde bir araya getirmiştir.