Kategori arşivi: Agile

Otostopçunun Çevik Koçluk Rehberi

Güzel Türkçe’mizde Çevik Koçluk üzerine ne yazık ki kitap yok. Bunun bizim için büyük bir eksik olduğunu düşündüğüm için bu kitabı çevirdim. Çeviklik, Çevik yaklaşımlar ve Çevik Koçluk dünyada hızla yayılıyor, benzer şekilde ülkemizde de gittikçe yaygınlaşmaya başladı. Çeviklikle ilk tanıştığımda yıl 2012’idi. Bu konuda çalışan bir şirket bulmak çok zordu ve ünvanı Çevik Koç ya da Scrum Master olan kimse yoktu. Yıl 2015 olduğunda LinkedIn’de ünvanı Çevik Koç olan sadece birkaç kişi vardı. Şimdiyse LinkedIn’de Çevik Koç yazarak ve Türkiye’yi seçerek arama yaptığınızda 579 sonuç dönüyor. Scrum Master diye arama yaptığınızdaysa 5395, Ürün Sahibi diye arama yaptığınızda 13479, Çevik Lider diye arama yaptığınızda 5521 sonuç dönüyor. Diyesi Çevik yaklaşımlar yaygınlaşıyor. Çevikliği gerektirdiği gibi uygulayan birçok kişi ve şirket var. Bununla birlikte daha doğru uygulayan birçok kişiye ihtiyaç var. Ne yazık ki bu konuda başarılı olan Hollanda, İsveç, Amerika gibi ülkelerin oldukça gerisindeyiz. Çevik Dönüşüm başlatan birçok şirket var fakat bu dönüşümler sadece süreçlerin görünüşte değişmesi şeklinde oluyor. Yazılım geliştirme pratiklerinde büyük değişiklikler olmuyor. Genelde geleneksel yaklaşım üzerine Scrum giydiriliyor ve dönüşüm burada kalıyor. İleriye götürmek için ne üst yönetimlerin ne de çalışanların hevesi var. Hevesi olanlarınsa enerjisi ya da gücü yetmiyor. Büyük kurumlarda bunu başarabilmek için herkesin iş birliğine her gün ihtiyaç var.

Çevik Koçluk Nedir?
Çevik Koçun Bilmesi Gerekenler

“Otostopçunun Çevik Koçluk Rehberi” kitabını indirebileceğiniz bağlantı:  Otostopçunun-Çevik-Koçluk-Rehberi.pdf (136 indirme)

Kitapla beni tanıştıran kişi Özmen Adıbelli’dir. Beni bu güzel kitapla tanıştırdığı için çok teşekkür ederim.

Kitabı yazdıkları için Agile42 Koçları’na çok teşekkür ederim. Kitabın çevrim sürecinde desteklerini esirgemeyen Agile42 Türkiye koçlarına tek tek çok teşekkür ederim.

Kitabı çevirdikten sonra okuyan ve düzeltmeler yapan Ayşenur Yılmaz’a minnettarım. O olmasa bu kadar akıcı bir kitap olmazdı.

Her geri bildirim kitabı bir adım daha iyileştirecektir. Sizde geri bildirimde bulunarak sizden sonra okuyanların daha kaliteli bir kitap okumalarına yardımcı olabilirsiniz. Geri bildirimlerinizi her zaman beklerim.

Eylül 2019

Cihan Yılmaz

Otostopçunun Çevik Koçluk Rehberi yazısına devam et

Kanıta Dayalı Yönetim Kılavuzu

İş değeri ölçülerek ve deneysel yönetim kullanılarak iş sonuçları sürekli nasıl iyileştirilir.

GENEL BAKIŞ

Çevik ürün teslim etme pratiklerini benimseyen organizasyonlar, aktiviteleri ve iş sonuçları yerine çıktıları iyileştirerek gerçek hedefleri olan teslim edilen değeri iyileştirmeyi kolayca gözden kaybedebilirler.

Çeviklik bir amaç için araçtır, kendisi bir amaç değildir; çevik pratikleri benimsenin amacı iş performansını iyileştirmektir. Organizasyonlar bu bakış açısını kaybettiklerinde yöneticiler mantıklı gibi görünen fakat istenmeyen sonuçlara neden olan sorular sorabilirler. Böyle sorulara örnekler…

Kanıta Dayalı Yönetim Kılavuzu’nu indirebileceğiniz bağlantı: Kanıta-Dayalı-Yönetim-Kılavuzu.pdf (139 indirme)

Kanıta Dayalı Yönetim Kılavuzu yazısına devam et

Test Odaklı Geliştirme, Davranış Odaklı Geliştirme, Kabul Testi Odaklı Geliştirme Hakkında Kısa Rehber

Test Odaklı Geliştirme şu anda sektördeki pek çok moda sözcükten yalnızca biri. Bu yüzden insanların bu konuda kafalarının karışık olması son derece normal.

  • Test Odaklı Geliştirme (TDD → Test Driven Development)
  • Davranış Odaklı Geliştirme (BDD → Behavior Driven Development)
  • Kabul Testi Odaklı Geliştirme (ATTD → Acceptance Test Driven Development) 
  • DevOps
  • DevSecOps
  • Sürekli Test
  • Model Tabanlı Test

Liste böyle uzayıp gidiyor.

Ancak hata yapmayın. Tüm bu uygulamalar ve metodolojiler aslında tek bir soruya cevap arar. “Daha iyi” bir yazılımı nasıl geliştirebiliriz?

Bu yazımda, Test Odaklı Geliştirme, Davranış Odaklı Geliştirme ve Kabul Testi Odaklı Geliştirme ile ilgili kafanızdaki tüm soru işaretlerini gidermeye çalışacağım. Nedir? Nasıl çalışır? Ayrıca geliştirme/test süreci üzerindeki etkileri nelerdir?

Test Odaklı Geliştirme (TOG): “Kod Doğru Mu?”

Test Odaklı Geliştirme, iç-dış perspektifine odaklanır; yani testleri geliştiricinin bakış açısından oluştururuz. “Bu kod doğru mu?” sorusu Test Odaklı Geliştirme’nin ardındaki ana sorudur.
Metodoloji özellikle “birim testlerine” odaklanır. Geliştirici bir gereksinimi alır ve onu belirli bir test case’ine dönüştürür. Daha sonra da geliştirici yalnızca bu belirli testleri geçebilecek kodu yazar. Bu pratikle gereksinimleri karşılamayan lüzumsuz güncellemeleri önlemek amaçlanmaktadır. Test Odaklı Geliştirme, geliştiricilerin kodu yazdıktan sonra Birim Testleri yazdıkları geleneksel programlamadan farklı olarak, geliştiricileri kodu yazmadan önce ürün gereksinimlerine odaklanmaları için zorlar.

TOG, Kent Beck’in, “Test Driven Development: By Example” kitabında bahsettiği gibi 6 adımdan oluşan basit bir işlemdir. Şimdi gelin, Spotify kataloğundan belirli bir albümü yayınlama örneğini hep birlikte inceleyelim.

Test Odaklı Geliştirme, Davranış Odaklı Geliştirme, Kabul Testi Odaklı Geliştirme Hakkında Kısa Rehber 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