Kategori arşivi: Extreme Programming

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

Siperden Retrospektif Teknikleri ve Deneyimleri

Önsöz

Retrospektif, Çevik yaklaşımlarla hayatımıza giren en önemli pratiktir. Bunun nedeni retrospektiflerin hayatımıza girişiyle sürekli olarak iyileşme şansı elde etmemizdir. Geleneksel proje yönetimi yaklaşımında iyileştirme şansı sadece proje sonunda “Öğrenilmiş Dersler” bölümünde yer alır. Geleneksel proje yönetimiyle geliştirdiğim projelerin hiç birinde “Öğrenilmiş Dersler” aktivitesini gerçekleştiremedim. Çünkü projelerin teslim tarihi çoktaaaan geçmişti. Teslim tarihi geçen bir proje de “Öğrenilmiş Dersler” aktivitesine zaman ayrılmıyor. Projenizi teslim ettikten sonra sıradaki projeye başlıyorsunuz. Çevik yaklaşımlarda sürekli iyileştirme anlayışı vardır. Burada dikkat edilmesi gereken sözcük süreklidir. Scrum ve eXtreme Programming yaklaşımlarında döngü sonunda, Kanban’da sizin belirlediğiniz zamanlarda kendinizi iyileştirmek için bir aktivite gerçekleştirirsiniz. Ayrıca kendinizi geliştirmek için döngünün sonunu beklemenize bile gerek yok. Döngü içinde de aksiyon alabilirsiniz. 🙂 Retrospektif teknikleri, iyileştirme aksiyonlarınızı planlamanızı kolaylaştırmak için var.

Kitabın ilerleyen bölümlerde farklı retrospektif teknikleri, tekniklerin NASIL gerçekleştirilebileceği, retrospektifin faydaları, retrospektiflerde sık karşılaşılan problemlere, retrospektifleri eğlenceli bir aktiviteye dönüştürmek için neler yapılabileceğine değineceğiz. MAD-SAD-GLAD ile başlıyoruz. 🙂

Nisan 2019,

Cihan Yılmaz

Siperden Retrospektif Teknikleri ve Deneyimleri kitabını indirebileceğiniz bağlantı: Siperden-Retrospektif-Teknikleri-ve-Deneyimleri.pdf (366 indirme)

Siperden Retrospektif Teknikleri ve Deneyimleri yazısına devam et

Memnuniyet ve Yarar Retrospektif Tekniği

Memnuniyet ve Yarar Retrospektif Tekniği

Memnuniyet ve Yarar Retrospektif Tekniği, işle ilgili tüm konuların, bu konuların takım üyelerini nasıl etkilediğinin ve takıma ne kadar fayda sağlanabileceğinin konuşulabileceği mükemmel bir aktivitedir.

Malzemeler: Yapışkan kağıt ve renkli kalemler

Süre: Takım üye sayısına göre değişiklik göstermekle 60-90 dakika arası

NASIL?

Memnuniyet ve Yarar Retrospektif Tekniği yazısına devam et

Scrum Master Gelişim Programı

Scrum Master Gelişim Programı

Scrum Master Gelişim Programı” iki farklı Scrum Master Gelişim Programı eğitiminde edinilen bilgi ve tecrübelere dayanır.

“If I have seen further, it is by standing upon the shoulders of giants.” – Isaac Newton

Newton, 1675 yılında arkadaşı Robert Hooke’a yazdığı bir mektupta yukarıdaki ifadeyi kullanmıştır. Newton’un bu cümleyle ifade etmek istediği şey; buluşlarını, diğer bilim insanlarının ışığında çalışarak yaptığıdır. Bu eğitimi hazırlarken omuzları üzerinde yükseldiğim devler; koç olarak Serkan Özdemir, eğitimci olarak İsmail Hakkı Tonguç ve Hasan Ali Yücel, koçluk kavramını iş dünyasına uyarlayan Timothy Gallwey ve Sir John Whitmore, Scrum’ın ruhunun anlaşılması ve Scrum Master rolünü aydınlatan çalışmalarıyla Barry Overeem, kültür üzerine çalışmalarıyla William Schneider, organizasyonel değişim çalışmalarıyla John Kotter, retrospektifi anlatan çalışmalarıyla Esther Derby ve Diana Larsen, psikolog Philip Zimbardo, toplum psikologları David Dunning ve Justin Kruger ve Çevik Bildiri’ye imza atanlardır. Her birinin çalışmalarından, kitaplarından faydalanarak eğitim programını oluşturmaya çalıştım. İki sınıfla yaptığımız çalışmalarda birçok iyileştirme aksiyonu ortaya çıktı. Gelecek sınıflarda bu iyileştirme aksiyonlarıyla eğitimi daha iyi bir seviyeye getirmeye çalışacağım.

Teşekkür

Eğitime katılan Aylin Tütüncü, Burcu Demirel, Büşra Çayırlı, Cemre Aslan, Çağın Uludamar, Emine Yıldırım, Gizem Yalçın, Gökhan Kolancı, İlknur Sağlam, Kubilay Kulaoğlu, Malik Dersuneli, Merve Özdemir, Rabia Okumuş, Serap Aksoy Yılmaz, Serap Şen Geçici, Serhat Kolcu, Sinem Yıldırım, Şebnem Adıgüzel, Şenol Kanca, Yeşim Daşdemir ve geri bildirimde bulunan herkese çok teşekkür ederim.

Kitapçığı baştan sona pür dikkat okuyan, iyileştirme önerileri sunan ve kitapçığın Türkçe’ye daha uygun olmasını sağlayan Ayşenur Yılmaz’a çok teşekkür ederim.

Scrum Master Gelişim Programı
Scrum Master Gelişim Programı

Scrum Master Gelişim Programı kitapçığını indirebileceğiniz bağlantı:  Scrum-Master-Gelişim-Programı.pdf (665 indirme)

Scrum Master Gelişim Programı, eğitim ve pratik temelli bir programdır. Programın hedefi karmaşıklığın ve belirsizliğin yüksek olduğu ortamlarda yazılım geliştiren takımların Scrum Master’larının ihtiyaç duydukları yetkinlikleri kazanmalarıdır.

Atölye serisi olarak gerçekleştirdiğimiz çalışmalarda aşağıdaki konulara değindik:

  1. Scrum Master’ın Sorumlulukları Nelerdir?
  2. Schneider Kültür Modeli ve Çevik Yaklaşımlar
  3. Kotter Değişim Modeli ve Scrum
  4. Retrospektif Çerçevesi ve Kendi Retrospektif Tekniğimizi Geliştirme
  5. Koç, Mentor ve Danışman Rolleri
  6. Performans = Potansiyel – Engeller
  7. Fasilitasyon Nedir ve Tersine Düşünme Tekniğini Kullanma

Scrum Master Gelişim Programı yazısına devam et