Ana Sayfaya Dön

Karar Odaklı Geliştirme Manifestosu

Yazılım Zaten Karar Odaklıydı
Sadece Kararları Saklamayı Unuttuk

Modern yazılım kararlar üzerine kurulu.

Yayınlanan her özellik,
düzeltilen her hata,
geri alınan her deploy
bir kararla başlar.

Ama kod versiyonlanır, test edilir, saklanırken,
kararlar sessizce kaybolur.

Sorun Eksik Veri Değil

Yazılım ekipleri çoktan çok fazla veri topluyor: loglar, metrikler, analytics, dashboardlar.

Bir şey değiştiğinde, veri bize ne olduğunu söyler.

Ama bir şey bozulduğunda ya da beklenmedik şekilde iyileştiğinde, asıl soru her zaman şu:

Bunu neden yapmaya karar verdik?

Bu cevap nadiren kalıcı bir yerde bulunur.

Geliştirme Zaten Karar Odaklı

Karar Odaklı Geliştirme yeni bir metodoloji değil.

Bunların yerini almaz: Agile, Scrum, Kanban, DevOps, Lean

Sadece bir gerçeği kabul eder:

Yazılım geliştirme zaten kararlar etrafında döner. Sadece kararları birinci sınıf varlıklar olarak görmüyoruz.

Kodun Hafızası Var. Kararların Yok.

Kodla diff alabiliriz, geri alabiliriz, geçmişini denetleyebiliriz.

Ama kararlar dağınık halde: Slack konuşmalarında, Jira yorumlarında, toplantı notlarında, kurum kültüründe, insanların hafızasında.

İnsanlar ayrılınca,
kararlar da onlarla gider.

Geriye sadece bağlamsız kod kalır.

Her Karar Bir Hipotez

Hiçbir karar nötr değildir.

Her deploy dolaylı olarak şunu söyler: "Bunun X'i iyileştireceğine inanıyoruz", "Y metriğinin değişeceğini bekliyoruz", "Bu ödünleşmeyi kabul ediyoruz"

Yazılı olsun ya da olmasın,
her karar bir hipotezdir.

Karar Odaklı Geliştirme basit bir soru sorar:

Zaten deney yapıyorsak, neden onları hatırlamayı reddediyoruz?

Karar Odaklı Geliştirme Ne Değildir

Karar Odaklı Geliştirme şunlar değildir: analytics, A/B testi, kullanıcı davranış takibi, dashboardlar, canlı izleme

Bu araçlar şunu cevaplar: "Ne oluyor?"

Karar Odaklı Geliştirme şunu cevaplar: "Bu neden oldu ve bu kararı tekrar vermeli miyiz?"

Kararları Unutmanın Bir Bedeli Var

Kararlar unutulduğunda ekipler eski hataları tekrarlar, gerilemeler gizemli hissedilir, incidentler rastgele görünür, tartışmalar sonsuza dek döner.

Ekipler geçmiş kanıtları incelemek yerine fikir tartışır.

Veri eksik olduğundan değil, bağlam eksik olduğundan.

Hafıza Rekabet Avantajıdır

Karar bağlamını koruyan ekipler daha hızlı hareket eder, daha az tartışır, güvenle geri alır, doğru kararları savunur, kötü kararları tekrarlamaz.

Karar Odaklı Geliştirme kurumsal hafıza inşa etmekle ilgilidir, daha fazla dashboard değil.

İlke

Kod nasılı açıklar.
Veri neyi açıklar.
Kararlar nedeni açıklar.

Modern yazılım ekiplerinin her üçüne de ihtiyacı var.

Son Söz

Bize ne olduğunu söyleyen daha fazla araca ihtiyacımız yok.

Bunu neden yapmayı seçtiğimizi hatırlayan sistemlere ihtiyacımız var.

Mehmet Berkay Karataş

Afterchange Kurucusu