Aylık arşivler: Temmuz 2019

5. Değer Günlükleri I – Yüksek Performanslı Takımı Nasıl Tanımlarsınız?

5. Değer Günlükleri I

07:46İlkay P: Günün sorusu;

Yüksek performanslı takımı nasıl tanımlarsınız?

 08:15İlker K: Günaydın. Üyelerin birbirine güvendiği, motivasyonu yüksek ve inisiyatif alan takım olarak tanımlarım. Bu takıma verilecek görevlerin neden yapıldığı ve işin sonucunun büyük resimde nereye oturacağı söylenir, nasıl yapılacağı konusu takıma bırakılır. Hata yapma şansı verilir; aynı hataları tekrarlamamak üzerine bir yol bulması beklenir.

 08:17İlker K: Anlatması kolay, oluşturması zordur 🙂 Çünkü böyle bir takımı oluşturmaya sadece üyelerin bireysel yetenekleri yetmez, uygun çalışma kültürünü inşa etmek gerekir ki bu zaman alır. Teori ile pratik genelde çatışır.  “Hata yapma”, “Hedefi söyleyip rotayı ekibe bırakma” gibi kavramlar için micro – managementa ve talimata dayalı çalışmaya alışkın yönetimi ikna etmek gerekir. Agile pratikleri, acil pratikler olarak algılayıp takıma nefes aldırmayan sprintlere arada dur demek gerekir. Kısa vadede zaman kaybedilse de uzun vadede hem zaman, hem de işin kişilere bağımlılığından kurtulmayı sağlayan, çözüm yolları üreten böyle bir ekip her zaman candır:)

 08:17İlker K: Uzun bir cevap mı oldu 🙂 5. Değer Günlükleri I – Yüksek Performanslı Takımı Nasıl Tanımlarsınız? yazısına devam et

Birim Test, Test Odaklı Geliştirme, Davranış Odaklı Geliştirme Arasındaki Farklar Neler?

JavaScript testlerinizi otomatize etmeye başladığınızda birçok soruyla karşılaşırsınız. Yüksek ihtimalle de Birim Test, Test Odaklı Geliştirme(Test-Driven Development) ve Davranış Odaklı Geliştirme(Behavior-Driven Development) hakkında konuşan insanlar göreceksiniz. Peki ya bunlardan hangisi en iyi yaklaşım? Hepsini de kullanabilir miyiz?

Birçok JavaScript geliştiricisiyle bu konuyu konuştum ve aslında bu sorunun cevabı hakkında biraz kafa karışıklığı olduğunu gözlemledim. Şimdi gelin birlikte Birim Test, TOG ve DOG nedir, ne değildir hep beraber bakalım ve bu konular hakkındaki bazı yanlış anlaşılmaları düzeltelim. 🙂

Birim Test (Unit Testing)

Birim Test yalnızca tek bir birim kod parçasına odaklanır; genellikle tek bir fonksiyona ya da modüle, bu bazen bir satır bazen de on bin satır kod olabilir. Testi tek bir fonksiyona özgü yapmak, onu daha basit, kolay yazılır ve daha hızlı koşulur kılar. Bu, birçok Birim Test’e sahip olabileceğiniz anlamına geliyor ki bu da daha fazla hata yakalamak demek. Bu testler kodunuzda bazı değişiklikler yapmak istediğinizde gerçekten çok işe yarıyorlar. Örneğin kodunuzun çalıştığını doğrulamak için elinizde bir dizi Birim Test olduğunu düşünelim; fakat kodda bir yeri değiştirmeniz gerekiyor, Birim Testler sayesinde kodunuzu güvenle değiştirebilirsiniz ve kodunuzun diğer kısımlarının doğru çalıştığından emin olabilirsiniz.

Birim Test, Test Odaklı Geliştirme, Davranış Odaklı Geliştirme Arasındaki Farklar Neler? yazısına devam et

Davranış Odaklı Geliştirme Nedir?

Davranış Odaklı Geliştirme (DOG), Test Odaklı Geliştirme(TOG)’den evirilen bir yazılım geliştirme yaklaşımıdır. Ortak bir dilde yazılmış olmasıyla farklılık gösterir ki bu da teknik ve teknik olmayan ekipler ile paydaşlar arasındaki iletişimi geliştirir. Her iki geliştirme yaklaşımında da testler koddan önce yazılır; fakat Davranış Odaklı Geliştirme’de testler daha kullanıcı odaklı ve sistemin davranışına dayanmaktadır.

DOG ’yi Neden Seçmeliyiz?

TOG, iş sahibi, kullanılan Birim Test çerçevesine aşina olduğu ve teknik yetenekleri güçlü olduğu(her zaman böyle değildir) müddetçe tatmin edici bir şekilde çalışır. Bu şartlar altında DOG avantaja sahiptir çünkü testler paydaşların da bildiği, örneğin İngilizce gibi ortak bir dilde yazılır. Daha açık olması, minimum miktarda mesleki argo kullanarak etkili iletişime erişim sağlaması, DOG kullanmanın muhtemelen en büyük avantajıdır. Teknik ve teknik olmayan ekipler arasında yüksek verimlilikle çalışılabilmesi için iş birliğini mümkün kılar.

Davranış Odaklı Geliştirme Nedir? yazısına devam et