Sürekli Entegrasyon 4

Sürekli Entegrasyon 4

 

10. Herkes Ne Olduğunu Görebilir

Sürekli Entegrasyon iletişimdir. Böylece herkes sistemin son halini ya da şimdiye kadar neler yapıldığını rahatça görebilir. İletişimin yapıldığı birinci konu ise ana branch üzerinde gerçekleştirilen build işleminin durumunun ne olduğudur. Sürekli Entegrasyon için kullanılan araçlar bir web sitesi ile gelirler ve yapılan build’i, bu web sitesi üzerinden herkes izleyebilir. Kimi kurumlar bunun daha da görselleştirmek isterler başarılı build’ler için yeşil ışık sorunlu build’ler için kırmızı bir ışık yakarlar. Kimi kurumlar daha eğlenceli yaklaşırlar olaya ve build yapan yazılım geliştiricinin makinesinin üzerinde plastikten bir horoz bulunur. Herkes build yapıldığını ve kim tarafından yapıldığını bilmiş olur.

Web sitesinin diğer bir avantajı ise aynı ofiste çalışmayan kişilerin build’in son durumu hakkında kolayca bilgi edinebilmesidir. Ayrıca tarihçesi tutulan sistemlerin hangi build’lerinin başarılı olduğu hangilerinin olmadığı ve neden olmadığı bilgisi de bulunmaktadır.

Continue reading Sürekli Entegrasyon 4

Sürekli Entegrasyon 3

Sürekli Entegrasyon 3

6. Bozuk Build’i Hemen Düzeltin

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.

Continue reading Sürekli Entegrasyon 3

Sürekli Entegrasyon 2

Sürekli Entegrasyon 2

 

2. Otomatize Edilmiş Derleme

Kodlar, bir tane kod kaynağında çalışır duruma geldikten sonra yapılması gereken işlem bu kodların otomatize edilmiş bir şekilde derlenmesidir. Otomatize edilmiş derlemelerin içinde entegrasyon testleri ve birim testleri otomatik olarak çalışmalıdır. Otomatize edilmiş derleme için farklı yazılım dillerinin, farklı platformların, farklı toplulukların farklı uygulamaları mevcuttur.

Büyük bir derleme zaman alır. Bunun için derleme aracınızın bir önce gerçekleştirdiğiniz derleme ile şu anda gerçekleştireceğiniz derleme arasındaki farkları bulması, bu değişiklikler ile ilgili bağımlılıkları bulması ve sadece bunları derlemesi iyi bir özelliktir. Yapılan ufak bir değişiklikten sonra uzun bir derleme süresini beklemek doğru değildir. İyi derleyiciler bu tarz işlemlerle başa çıkabilir durumdadır fakat başa çıkamayanlarda bulunmaktadır. Bir yazılım geliştirici kendi bilgisayarında kullandığı yazılım dilinin IDE’sine bağlı olan derleme sistemini kullanabilir fakat onlarca yazılım geliştiricinin kodunun aynı anda derlenmesi için bir ana bilgisayar üzerinde bahsettiğim platformlardan biri kullanılmalıdır.

Continue reading Sürekli Entegrasyon 2

Çevik Pratikler’den Biri, Sürekli Entegrasyon Nedir?

Ç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’un 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.(1) 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. Continue reading Çevik Pratikler’den Biri, Sürekli Entegrasyon Nedir?

Scrum Hakkında Sorular ve Cevaplar 3

Scrum Hakkında Sorular ve Cevaplar 3

Hikaye Puanı Nedir?

Kullanıcı hikayelerini değerlendirmek için kullanılan takım bazında öznel bir birimdir.

Hikaye Puanı Neye Göre Verilir?

Hikaye Puanı verilirken bir kullanıcı hikayesi için harcanacak efora, kullanıcı hikayesinin içerdiği riske, bağımlılıklara ve kullanıcı hikayesinin karmaşıklığına bakılır.

Hikaye Puanı Kullanarak Tahmin Yapmak Neden Faydalı?

Hikaye Puanı ile yapılan tahminler göreceli tahminlerdir. Bir kullanıcı hikayesinin tamamlanabilmesi için gerekli mutlak saatin ya da günün tahmin edilmesi işi zordur. Mutlak tahminle müşteriye verilen saat ya da gün bilgisi bir kontrat gibi algılanırken, Hikaye Puanı ile yapılan tahminler sadece tahmin olarak anlaşılır. Continue reading Scrum Hakkında Sorular ve Cevaplar 3