8 dk

İç Otomasyon Kapsamını İzleyen Bir Web Uygulaması Nasıl Yapılır?

İç otomasyon kapsamını takip eden bir web uygulaması nasıl tasarlanır ve inşa edilir: metrikler, veri modeli, entegrasyonlar, pano UX'i ve uyarılar.

İç Otomasyon Kapsamını İzleyen Bir Web Uygulaması Nasıl Yapılır?

Hedefleri ve "Otomasyon Kapsamı"nın Anlamını Tanımlayın

Bir şeye başlamadan önce, kuruluşunuz içinde “otomasyon kapsamı”nın ne anlama geldiğini yazın. Aksi takdirde pano, farklı ekiplerin farklı yorumladığı alakasız sayıların karışımına dönüşür.

Otomasyon kapsamı ne sayılır?

Ölçtüğünüz birimleri seçerek başlayın. Yaygın seçenekler:

  • İş veya operasyonel süreçler (ör. “yeni müşteri onboarding”): kapsam, “otomatikleştirilmiş adımlar vs manuel” anlamına gelir.
  • Testler (unit/integration/e2e): kapsam, “hangi kritik akışların otomatik doğrulandığı” demektir.
  • Job'lar ve runbook'lar (zamanlanmış görevler, olay oyun kitapları): kapsam, “ne kadar iş insan müdahalesi olmadan çalışabiliyor” anlamına gelir.
  • Script'ler ve bot'lar (tek seferlik script'ler, RPA, dahili araçlar): kapsam, “tekrarlanabilir görevlerin minimum insan müdahalesiyle yapılıp yapılmadığı” demektir.

v1 için birincil tanımı seçin, sonra ekleyebileceğiniz ikincil türleri not edin. Onay gerektiren "kısmen otomatik" adımlar gibi kenar durumlarda açık olun.

Uygulamayı kim kullanacak ve hangi soruları cevaplaması gerekiyor?

Farklı kitleler farklı sorular sorar:

  • Mühendislik / QA: Hangi alanlar yetersiz otomatikleştirilmiş? Bu hafta ne değişti? Hangi otomasyonlar kararsız?\n- Ops / Destek: Hangi iş akışları hâlâ insanlara bağlı? En çok ne kırılıyor?\n- Liderlik: Risk ve manuel çabayı zaman içinde azaltıyor muyuz? Hangi ekiplerin yatırıma ihtiyacı var?

5–10 “ön soru” yazın ve bunları ürün gereksinimi gibi ele alın.

Çıktılar, kapsam ve başarı kriterleri

Birincil çıktıları tanımlayın: görünürlük (ne var), önceliklendirme (sonra ne otomatikleştirilmeli), hesap verilebilirlik (kimin sorumluluğunda), ve trend takibi (iyileşiyor mu?).

v1 için net sınırlar koyun. Örnekler: “Henüz kaliteyi puanlamayacağız”, “Zaman tasarrufunu ölçmeyeceğiz”, veya “Sadece CI tabanlı testleri dahil edeceğiz, yerel script'ler değil.”

Son olarak, başarının neye benzeyeceğine karar verin: tutarlı benimseme (haftalık aktif kullanıcılar), yüksek veri tazeliği (ör. 24 saat içinde güncellemeler), daha az kör nokta (kritik sistemler için kapsam haritalaması) ve ölçülebilir takip (sahipler atandı ve boşluklar ay bazında azalıyor).

Veri Kaynaklarını ve Alım Seçeneklerini Haritalayın

Otomasyon kapsamını ölçmeden önce, “otomasyon kanıtının” nerede olduğunu bilmeniz gerekir. Çoğu kuruluşta otomasyon, farklı zamanlarda ve farklı ekiplerce benimsenen araçlara dağınık halde yaşar.

Otomasyon kaynaklarınızı envantere alın

Pragmatik bir envanterle başlayın: Hangi sinyaller bir etkinliğin otomatik olduğunu kanıtlar ve bunları nereden alabiliriz?

Tipik kaynaklar: CI pipeline'ları (build/test job'ları), test framework'leri (unit/integration/E2E sonuçları), iş akışı araçları (onaylar, deploy'lar, ticket geçişleri), runbook'lar (script'ler ve belgelenmiş prosedürler) ve RPA platformları. Her kaynak için daha sonra bağlayabileceğiniz bir tanımlayıcı yakalayın (repo, servis adı, environment, takım) ve saklayacağınız “kanıt”ı belirtin (job çalıştırması, test raporu, otomasyon kuralı, script yürütmesi).

Kayıt sistemlerini belirleyin

Sonra, “ne olması gerektiğini” tanımlayan kayıt sistemlerinizi listeleyin: repo barındırma, issue tracker ve CMDB/servis kataloğu. Bu kaynaklar genellikle servislerin, sahiplerinin ve kritikliğinin otoriter listesini sağlar—kapsamı hesaplamak için aktivite saymaktan daha önemlidir.

Alım yöntemlerini seçin

Her kaynağı en az kırılgan alım yöntemiyle eşleştirin:

  • API polling iyi API'leri olan ama webhook desteği sınırlı araçlar için.\n- Webhooks gerçek zamanlı güncellemeler gerektiğinde (örn. pipeline tamamlanma olayları).\n- Zamanlanmış içe aktarmalar CSV dışa aktarımları veya veri ambarları için.\n- Manuel giriş boşlukları kapatmak için (net etiketlemeyle), özellikle runbook'lar veya miras otomasyon için.

Kısıtları ve güveni belgeleyin

Rate limitler, kimlik doğrulama yöntemleri (PAT, OAuth, servis hesapları), saklama pencereleri ve bilinen veri kalitesi sorunlarını (yeniden adlandırılmış servisler, tutarsız isimlendirme, eksik sahipler) kaydedin.

Son olarak, her connector için (isteğe bağlı olarak her metrik için) kaynak güvenilirlik skoru planlayın; böylece kullanıcılar bir sayının “yüksek güven” mi yoksa “en iyi çaba” mı olduğunu görebilir. Bu, yanlış kesinlikten kaçınır ve connector geliştirmelerini önceliklendirir.

Kapsam, Kanıt ve Sahiplik için Bir Veri Modeli Tasarlayın

Faydalı bir kapsam panosu, neyi otomatikleştirmeyi amaçladığınızı ve gerçekte son zamanlarda çalışanın ayıran bir veri modeliyle başlar. Bunları karıştırırsanız, otomasyon bayat olsa bile rakamlar iyi görünebilir.

Temel varlıklar (az ama açık tutun)

Bu yapı taşlarıyla başlayın:

  • Application/Service: raporladığınız ürün alanı (çoğunlukla bir repo veya servis kataloğu girdisine karşılık gelir).\n- Process: otomatikleştirmek istediğiniz iş veya mühendislik iş akışı (örn. “staging'e deploy”, “fatura mutabakatı”).\n- Requirement: kapsanması gereken hedef (süreç adımı, kontrol, test vakası veya kontrol listesi öğesi).\n- Automation Asset: kapsama iddiasında bulunan şey (CI workflow, script, bot, test suite).\n- Run (evidence): durum, log/URL ve environment içeren tek bir yürütme kanıtı.\n- Owner: requirement veya asset'ten sorumlu kişi/takım.

Granülerliği erken belirleyin

Birincil raporlama düzeyini seçin ve buna sadık kalın:

  • servis bazında (liderlik rollup'ları için iyi)\n- süreç veya süreç adımı bazında (operasyonel gerçek için en iyisi)\n- test suite bazında (QA odaklı organizasyonlar için işe yarar)\n- environment bazında (prod vs staging hikâyeyi sık sık değiştirir)

Birden fazla görünümü sonra destekleyebilirsiniz, ancak ilk sürümünüzün bir “gerçek kaynak” seviyesi olmalı.

Kararlı tanımlayıcılar (yeniden adlandırmalar geçmişi bozmasın)

Refaktörlere dayanacak ID'ler kullanın:

  • workflow/script'ler için repo + dosya yolu\n- kararlıysa CI job/workflow ID\n- araçlar farklı olduğunda en iyi yöntem: bir manifest içinde saklanan özel ID'ler

Görüntüleme adlarını düzenlenebilir olarak ele alın, kimlik olarak değil.

İlişki modelleyin: hedefler, iddialar ve kanıt

Pratik bir desen:

  • Requirement hedeftir.\n- CoverageClaim Requirement ↔ Automation Asset arasında bağ kurar (kapsam iddiası).\n- Run Automation Asset'e bağlanır (kanıt).

Bu şablonla şu soruları yanıtlayabilirsiniz: “Ne kapsanmalı?”, “Ne bunu kapsadığını iddia ediyor?” ve “Gerçekte ne çalıştı?”.

Güveni sağlayan tazelik zaman damgaları

Aşağıları yakalayın:

  • last_seen_at (asset hâlâ mevcut)\n- last_run_at, last_failure_at\n- last_reviewed_at (birinin iddiayı doğruladığı zaman)

Tazelik alanları, tartışma olmadan "kapsanmış ama bayat" öğeleri vurgulamayı kolaylaştırır.

Kapsam Metriklerini ve Puanlama Kurallarını Tanımlayın

Kapsam metrikleri belirsizse her grafik tartışma konusu olur. Yönetici özetleri için bir ana metrik seçin, sonra takımlar için ayrıntılı kırılımlar ekleyin.

Optimize edeceğiniz metriği seçin

Çoğu kuruluş şu seçeneklerden birini tercih eder:

  • Adet bazında % otomasyon: açıklaması en kolay (örn. “200 görevden 120'si”). Görevler benzerse iyi.\n- Ağırlıklı emek bazında %: bazı öğeler çok büyük olduğunda daha adil. Tahmini saat veya karmaşıklığa göre ağırlık verin.\n- Risk bazında %: zarar verebilecek olana odaklanır (müşteri etkisi, uyumluluk, kesintiler).

Yine de üçünü de gösterebilirsiniz, ama hangi metrik "başlık" olduğunu açıkça belirtin.

“Otomatik” ne demek açıkça yazın

Takımların öğeleri tutarlı puanlaması için açık kurallar yazın:

  • Automated: manuel adım olmadan uçtan uca çalışır ve doğrulanabilir bir çıktı üretir.\n- Partially automated: otomasyon var ama hâlâ manuel onay, manuel veri hazırlığı veya sık manuel düzeltme gerektiriyor.\n- Manual: otomasyon yok veya script'ler güvenilir şekilde çalıştırılabilir değil.

Kuralları ölçülebilir yapın. İki kişi aynı öğeyi aynı şekilde puanlayamıyorsa tanımı netleştirin.

Basit ağırlıklar ekleyin (ölçekleri sıkıcı tutun)

Risk, iş etkisi, çalışma sıklığı ve zaman tasarrufu gibi girdiler için küçük tamsayı skalaları (1–5) kullanın. Örnek: weight = risk + impact + frequency.

Oyunu manipüle etmeyi kanıt gereksinimleriyle önleyin

Bir öğeyi “otomatik” saymak için şu tür kanıtlar şart olsun:

  • son 30 günde en az N başarılı çalıştırma\n- iliştirilmiş bir CI job, çalışma kaydı veya yürütmeyi kanıtlayan ticket

Bu, kapsamı özbildirimden gözlemlenebilir bir sinyale çevirir.

Varsayımları belgeleyin

Puanlama kurallarını ve örnekleri tek bir ortak sayfada toplayın (panodan bir bağlantı olarak). Tutarlı yorumlama, trendlerin güvenilir olmasını sağlar.

İç Kullanıma Uygun Bir Mimari Seçin

Bir dahili otomasyon kapsam uygulaması en iyi anlamda sıkıcı olmalı: işletmesi kolay, değişiklik yapması kolay ve sayıların nereden geldiği konusunda şeffaf. Genellikle basit bir “API + veritabanı + pano” yapısı, gerçekten ihtiyaç duyulana kadar dağıtık bir sistemden daha iyidir.

Basit bir yığınla başlayın

Ekip zaten destekliyorsa onu seçin. Yaygın bir temel şuna benzer:

  • Backend: tek bir web API (ör. Node/Express, Python/FastAPI, Ruby on Rails)\n- Veritabanı: temel varlıklar için Postgres\n- Frontend: API'den okuyan hafif bir pano (React/Vue)

İlk dahili sürümde daha hızlı ilerlemek isterseniz, bir "hızlı kodlama" yaklaşımı işe yarayabilir: örneğin Koder.ai, yapılandırılmış bir spesifikasyondan bir React pano ile Go + PostgreSQL backend üretebilir; ekip sohbetle yinelemeye devam ederken tam kaynak kodu dışa aktarımı ve geleneksel dağıtımı korur.

Gerçekte ihtiyaç duyacağınız çekirdek bileşenler

Basit bir sistemde bile sorumlulukları ayırın:

  • Alım işçileri: CI, ticketing, repo veya test araçlarından veri çekip normalize kayıtlar yazan işler\n- API: kapsam metrikleri, detay listeleri ve sahiplik görünümleri sunar\n- UI: panolar, filtreler ve takım/servis detay sayfaları\n- Auth: kim görüntüleyebilir/düzenleyebilir belirlemek için SSO + rol tabanlı erişim\n- Arka plan işleri: zamanlanan yeniden hesaplama, çoğaltma temizleme, backfill'ler\n- Bildirimler: uyarılar, haftalık özetler ve “eylem gerekli” mesajları

Veritabanı seçimi: ilişkisel + trendler

Temel varlıklar (takımlar, servisler, otomasyonlar, kanıtlar, sahipler) için ilişkisel tablolar kullanın. Trendler (zaman içindeki çalıştırmalar, haftalık kapsama) için ya:

  • Postgres içinde tarih bazlı partition'lı bir zaman serisi tablosu veya\n- Sorgu hacmi gerekliyse ayrı bir zaman serisi depolama

kullanın.

Çok takım ayrımı için plan yapın

Birden fazla takım uygulamayı paylaşacaksa erken org_id/team_id alanları ekleyin. Bu, izinleri sağlar ve liderlik “tek bir pano ama segmentlenmiş” istediğinde acı verici göçleri önler.

Ortamlar ve promosyon

dev/staging/prod çalıştırın ve verinin nasıl hareket edeceğini tanımlayın:

  • Her yerde prod-aşamasına benzeyen şemalar kullanın\n- Staging'de sınırlı kapsamlar veya sentetik veri setleriyle alım yapın\n- Kodu CI ile promote edin; üretim eşlemelerini manuel düzenlemekten kaçının (tercihen UI üzerinden denetlenmiş değişiklikler)

Arayüzü gezinmeyi kolay hale getirmek için daha fazla bilgi almak isterseniz, bkz. /blog/design-dashboard-ux.

Kimlik Doğrulama, Roller ve Güvenlik Temelleri

Prototipten Dağıtıma Geçin
Ekip kod gözden geçirme sürecini değiştirmeden uygulamayı dağıtıp barındırın.

Bir kapsam panosu hızlıca bir "gerçek kaynağı" haline gelir; bu yüzden erişim kontrolü ve veri işleme grafiklerden en az önemli hale gelir. Basit başlayın, ama güvenliğin daha katı hale gelebilmesi için yeniden yazmayı gerekli kılmayacak şekilde tasarlayın.

Giriş: Öncelikle SSO, hız gerekirse proxy

Şirketiniz zaten SSO'ya sahipse, baştan buna entegre olun (OIDC genellikle en kolay; SAML büyük kuruluşlarda yaygın). Hızlı bir dahili lansman gerekiyorsa, kimlik başlıkları enjekte eden mevcut bir iç auth proxy'nin arkasında başlamak kabul edilebilir; sonra natif SSO'ya geçin.

Hangi yolu seçerseniz seçin, kimliği kalıcı bir kullanıcı anahtarına (email değişebilir) normalize edin. Minimum bir kullanıcı profili saklayın ve grup/takım üyeliğini talep edildiğinde alın.

İnsanların çalışma şekline uyan roller ve izinler

Küçük bir rol kümesi tanımlayın ve yetkilendirmeyi UI ile API'de tutarlı kılın:

  • Viewer: panoları ve kanıtları inceleyebilir.\n- Editor: meta verilerde (sahip, etiket) değişiklik önerebilir veya uygulayabilir ve düzeltmeler gönderebilir.\n- Admin: entegrasyonları, puanlama kurallarını ve küresel ayarları yönetir.\n- Servis sahibi (alan bazlı): yalnızca sahip olduğu servisler için iddiaları ve iş akışlarını güncelleyebilir.

Scope bazlı izinleri (takım/servis) "süper kullanıcı" yerine tercih edin; riskleri azaltır ve darboğazları önler.

Hassas kanıtları dikkatle yönetin

Kapsam kanıtları genellikle CI loglarına, olay ticket'larına veya dahili dokümanlara bağlantılar içerir. Bu URL'lere ve ham loglara erişimi kısıtlayın. Doğrulama için ihtiyacınız olanı saklayın (ör. build ID, zaman damgası, kısa durum özeti) tam logu veritabanına kopyalamayın.

Denetim ve saklama

Kapsam iddialarına veya meta verilere yapılan her manuel düzenleme bir denetim kaydı oluşturmalı: kim neyi ne zaman ve neden değiştirdi (serbest metin neden). Son olarak, çalışma geçmişi ve kanıt için bir saklama politikası belirleyin—ne kadar süreyle saklanacağı ve eski kayıtların mevcut kapsam hesaplamalarını bozmadan güvenli şekilde nasıl silineceğini tanımlayın.

Pano UX'ini Netlik ve Detay İçin Tasarlayın

Bir kapsam panosu, bir kişinin üç soruyu bir dakikadan kısa sürede cevaplayabildiğinde başarır: Durumumuz nasıl? Ne değişiyor? Sırada ne var? UX'i bu kararlara göre değil, veri kaynaklarına göre değil tasarlayın.

Başlangıçta üst düzey bir “durum tahtası” ile başlayın

İlk ekranı basit bir genel görünüm yapın:

  • Genel otomasyon kapsamı (tek bir başlık numarası) ve kısa bir tanım tooltip'i (“son X günde en az bir doğrulanmış otomatik çalışma olan süreçlerin %'si” gibi).\n- Zaman trendi (son 30/90 gün) ki ekipler kapsamın iyileşip iyileşmediğini görsün.\n- Tazelik (kanıtın en son ne zaman gözlemlendiği). Bayat sinyaller başarısız çalıştırmadan görsel olarak ayrılmalı.\n- En büyük boşluklar: etkiye göre (kritiklik × hacim) sıralanmış en çok açıkta kalan veya bayat alanların kısa listesi.

Etiketleri düz dille tutun (“Yakın zamanda otomatik” "kanıt tazeliği" yerine), teknik durumları yorumlama zorunluluğu yaratmayın.

Drill-down'ı anlatı gibi hissettirin

Her genel metrikten kullanıcıların bir servis/süreç sayfasına tıklayarak “ne” ve “ne tarafından” sorularına cevap bulmasını sağlayın:

  • Neler otomatik ve neler değil (hangi adımlar/yetenekler).\n- Hangi varlıklar aracılığıyla (script, workflow, CI job, RPA bot), son çalışma zamanı ve son sonuç dahil.\n- Hataların tek seferlik mi yoksa tekrarlayıcı mı olduğunu gösteren kompakt bir zaman çizelgesi veya çalışma geçmişi.

Her satır/kart, sayının arkasındaki “neden”i içermeli: kanıt bağlantısı, sahip, son çalışma durumu ve açık bir sonraki eylem (“job'u tekrar çalıştır”, “sahip ata”, “eksik kanıt ekle”).

Gerçek sorulara uygun filtreler

Kuruluşun çalışma biçimine uyan filtreler sunun:

  • Takım, environment (prod/staging), kritiklik, tarih aralığı ve kaynak sistemi.

Filtre durumunu görünür ve paylaşılabilir (URL parametreleri) tutun, böylece biri "Prod + Tier-1 + son 14 gün" gibi bir bağlantıyı kolayca paylaşabilir.

Teknik olmayan okuyuculara yardımcı olun ama karmaşadan kaçının

Uzun dökümanlar yerine satır içi tanımlar kullanın:

  • Metrikler için tooltip'ler ve kısa açıklamalar (“Kapsam manuel kontrolleri hariç tutar.” gibi).\n- Tutarlı renk semantiği (örn. yeşil = doğrulandı, sarı = bayat, kırmızı = başarısız) ve erişilebilirlik için ikon/metin.\n- "Bunun ne anlama geldiğini öğren" gibi bir bağlantı içeren kısa bir iç açıklayıcı sayfa (ör. /docs/coverage-metrics).

Entegrasyonları ve Veri Normalizasyonunu Uygulayın

Basit Bir v1 Başlatın
Basit bir API + pano ile v1'i başlatın, sonra sohbet ederek yineleyin.

Entegrasyonlar, kapsam uygulamanızın işe yaramasını sağlar. Amaç, CI veya test araçlarının her özelliğini yansıtmak değil—çalışan, ne zaman çalıştığı, neyi kapsadığı ve kimin sahibi olduğu gibi tutarlı gerçekleri çıkarmaktır.

CI ve test araçları için konektörler oluşturun

Öncelikle otomasyon sinyali üreten sistemlerle başlayın: CI (GitHub Actions, GitLab CI, Jenkins), test çalıştırıcılar (JUnit, pytest) ve kalite araçları (coverage raporları, linters, security taramaları).

Bir konektör minimum uygun yükü almalı (veya webhook ile almalı):

  • pipeline/build tanımlayıcıları ve durumları\n- test suite isimleri, ayrı test sonuçları (isteğe bağlı) ve geçme/başarısız sayıları\n- çalışma zaman damgası, süre ve environment (örn. staging/prod)\n- repository, branch ve commit SHA

Konektörleri idempotent yapın: tekrarlanan çekmeler çoğalma yaratmamalı.

İstisnalar için manuel iş akışı ekleyin

Bazı kapsam boşlukları kasıtlıdır (miras sistemler, üçüncü taraf kısıtları, askıya alınmış girişimler). Hafif bir “istisna” kaydı sağlayın ve bunun için gerekli olsun:

  • bir sahip (kişi veya takım)\n- bir neden/kategori (örn. blocked, out of scope, deprecated)\n- bir inceleme tarihi (istisnaların yeniden onaylanmasını sağlayın)

Bu, kalıcı kör noktaları önler ve liderlik görünümünü doğru tutar.

Araçlar arasında isimleri normalleştirin

Farklı kaynaklar nadiren aynı isimlendirmeyi kullanır: biri “payments-service”, diğeri “payments” veya repo slug kullanabilir.

Normalizasyon kuralları oluşturun erken:

  • servis adları\n- repo adları\n- environment adları (prod, production, live → prod)

Çünkü her downstream metrik buna bağımlıdır.

Çoğalmalar ve yeniden adlandırmalar için takma adlar kullanın

service_aliases, repo_aliases gibi alias tabloları getirin; bunlar birçok dış adı tek bir kanonik varlığa eşler. Yeni veri geldiğinde önce kanonik ID'ye, sonra alias'lara eşleştirin.

Eğer yeni ad eşleşmezse, yönetici onayına sunulmak üzere birleştirme önerileri (örn. “payments-api” “payments-service” gibi görünüyor) üretin.

Veri tazeliği işi ekleyin

Her kaynağın en son çalışma zaman damgasını kontrol eden periyodik bir iş planlayın ve bayat olanları işaretleyin (örn. 7 günde CI çalışması yok). Bunu UI'da gösterin ki düşük kapsam eksik veriden kaynaklanmasın.

Uyarılar, Raporlar ve Sahiplik İş Akışları Ekleyin

Bir pano faydalıdır, ancak uyarılar ve hafif iş akışları ilginç veriyi sürekli iyileştirmeye dönüştürür. Amaç basit: doğru zamanda doğru kişiyi, eylem için yeterli bağlamla bilgilendirmek.

Eylem getiren uyarı türleri

Küçük ama yüksek sinyalli bir uyarı setiyle başlayın:

  • Kapsam düşüşleri (örn. bir servis yüzde 80'den 65'e düştü)\n- Bayat kanıt (otomasyon var ama kanıt/bağlantılar N gün içinde güncellenmedi)\n- Başarısız otomasyon (testler veya job'lar sürekli başarısız oluyor)\n- Sahipsiz öğeler (bir servis veya kritik iş akışı bir sahibi yok)

Her uyarı ilgili drill-down görünümüne doğrudan bağlantı içermeli (ör. /services/payments?tab=coverage veya /teams/platform?tab=owners) ki insanlar arama yapmak zorunda kalmasın.

Takım/servis bazlı eşikler (gürültülü küresel kurallardan kaçının)

Tek beden herkese uyan eşiklerden kaçının. Takımların şu gibi kurallar belirlemesine izin verin:

  • servisleri için minimum kapsam yüzdesi\n- kanıt için “bayat” penceresi (hızlı sistemler için 7 gün, stabil sistemler için 30 gün)\n- paging yerine sadece bildirim için hata sayısı veya süre

Bu, sinyallerin anlamlı kalmasını ve uyarı yorgunluğunu azaltır.

Bildirimler + haftalık özetler

Uyarıları mevcut kanallara (email, Slack) gönderin; içerikte: ne değişti, neden önemli ve sahibi olsun. Gerçek zamanlı uyarıların yanında bir haftalık özet ekleyin:

  • geçen haftadan beri kapsam değişimleri\n- en büyük otomasyon fırsatları (etkiye göre en büyük boşluklar)\n- engellenmiş öğeler (sahipsiz, kırık pipeline'lar, eksik kanıt)

Onayla, ata ve kapatma döngüsünü tamamla

Uyarıları görev gibi ele alın: onaylama, atanma ve durum (aç/triage/çözüldü) imkanları verin. Kısa bir yorum izi (“PR #1234 ile düzeltildi”) raporlamayı güvenilir kılar ve aynı sorunların sessizce tekrar ortaya çıkmasını engeller.

Performans için API ve Backend İşlerini Kurun

Bir izleme panosu hızlı hissettirir çünkü API, UI'nin gerçekten sorduğu soruları yanıtlar—tarayıcının onlarca çağrıyı birleştirmesini gerektirmez. İlk olarak minimal, pano-odaklı bir API yüzeyiyle başlayın, sonra pahalı olanları önceden hesaplayan arka plan işlerini ekleyin.

UI ile eşleşen minimal bir API ile başlayın

İlk sürümü temel ekranlara odaklayın:

  • Services listesi: GET /api/services (takım, dil, seviye gibi filtreler)\n- Kapsam özeti: GET /api/services/{id}/coverage (genel skor + ana kırılımlar)\n- Kanıt çalıştırmaları: GET /api/services/{id}/evidence?status=passed&since=...\n- Meta güncelleme (sahip, etiket, durum): PATCH /api/services/{id}

Yanıtları pano için anında render edilecek şekilde tasarlayın: service adı, sahip, son kanıt zamanı ve mevcut skor gibi bilgileri tek bir payload içinde verin; ekstra lookup zorunlu kılmayın.

Pano sorgularını ucuz tutun: sayfalama, önbellekleme ve rollup'lar

Listeler ve detay tablolar hep sayfalı olsun (limit + cursor). Sık kullanılan endpoint'ler için API katmanında (veya paylaşılan bir cache'te) filtreler ve çağıranın erişim kapsamına göre anahtarlanmış önbellekleme ekleyin.

Büyük kanıt taraması gerektiren sorgular (örn. “takım bazında kapsam”) için gecelik rollup'lar önceden hesaplayın. Rollup'ları ayrı bir tabloda veya materialized view'da saklayın ki okumalar basit ve öngörülebilir olsun.

Trendler için günlük anlık görüntüler ekleyin

Trendler, günlük anlık görüntüler saklandığında en kolayıdır:

  • Planlı bir iş her gün servis başına kapsam hesaplar.\n- API GET /api/services/{id}/trend?days=90 gibi endpoint'ler sunar.

Anlık görüntüler, tarihsel metrikleri her sayfa yüklemesinde yeniden hesaplamaktan kaçınır ve “tazelik”i kolayca çizelgelemeyi sağlar.

İçe/dışa aktarma ve tutarlılık kontrolleri

Toplu onboarding için:

  • POST /api/import/services (CSV yükleme)\n- GET /api/export/services.csv

Yazma zamanında doğrulama kuralları uygulayın: gerekli sahip, izin verilen durum değerleri ve mantıklı zaman damgaları (gelecek tarihli kanıtları reddet). Kötü veriyi erken reddetmek, özellikle rollup'lar tutarlı girdilere bağlı olduğunda ilerideki kafa karışıklığını önler.

Dağıtım, Gözlemlenebilirlik ve Bakım

Kullanılan Drill Down'ları Gönderin
Hangi alanların kapalı, hangilerinin eskimiş olduğu ve her boşluğun sahibini gösteren servis sayfaları oluşturun.

Bir kapsam panosu yalnızca insanlar ona güvenirse faydalıdır. Dağıtım ve operasyonu ürünün bir parçası olarak ele alın: öngörülebilir sürümler, net sağlık sinyalleri ve bir şey bozulduğunda basit kurtarma.

İç kullanım dostu bir dağıtımla başlayın

Bir dahili uygulama için düşük yük ve hızlı yineleme hedefleyin.

  • İçten dağıtın: container image + managed veritabanı (örn. Postgres) veya zamanlanmış işler ve environment değişkenlerini destekleyen bir PaaS kullanın.\n- Konfigürasyonu imajın dışında tutun (env var veya secrets manager) ki aynı build ortamlar arasında promote edilebilsin.

Koder.ai gibi bir platform kullanıyorsanız, kaynak-kod dışa aktarımı ve dağıtım/host iş akışlarından erken yararlanın, böylece uygulamanız standart promote, review ve rollback uygulamalarını takip eder.

"Çalışıyor mu?" sorusunu yanıtlayan minimum gözlemlenebilirliği ekleyin

Güvenilir sinyaller almak için karmaşık bir yığına gerek yok:

  • Ana olaylar için yapılandırılmış log'lar (alım başla/bitti, işlenen kayıtlar, normalizasyon hataları).\n- Kullanıcı güvenine yönelik temel metrikler:\n - Alım gecikmesi (veri ne kadar bayat)\n - İş hataları (connector'lar, parser'lar, puanlama işleri)\n - API gecikmesi (core endpoint'ler için p95)\n- Sağlık kontrolleri (liveness/readiness) ve connector durumu, son başarılı senkronizasyon ve en son hata mesajını gösteren küçük bir admin sayfası yayınlayın.

Yedekleme ve geri yükleme: test edin, varsaymayın

Otomatik veritabanı yedekleri ve uygun bir saklama politikası kurun.

  • Yedekleri planlayın ve yeni bir örneğe geri yükleyebildiğinizi doğrulayın.\n- Şema değişiklikleri veya connector güncellemelerinden sonra kısa bir geri yükleme tatbikatı yapın.

Operasyonel runbook'lar uygulamayı iyi tutar

Runbook'ları dokümante edin:

  • Sırlar ve API token'ları döndürme\n- İçe aktarmaları güvenli şekilde yeniden çalıştırma (idempotent işler, backfill'ler)\n- Olay adımları: bir konektörü devre dışı bırakma, geri alma ve panoda veri tazeliğini iletişim

Biraz operasyon disiplini, kapsamın tahmine dayalı hale gelmesini engeller.

Yayılma Planı, Yönetişim ve Sürekli İyileştirme

Bir izleme uygulaması ancak ekipler ona güvenip kullanırsa yardımcı olur. Yayılımı bir ürün lansmanı gibi ele alın: küçük başlayın, net sahiplik tanımlayın ve düzenli güncelleme ritmi oluşturun.

Yeni bir takımı devreye alma

Onboarding hafif ve tekrarlanabilir olsun:

  • Ne izlenecek: takımın gerçek teslimat akışını temsil eden servisler, repo'lar ve pipeline'lar listesini çıkarın.\n- Kaynakları bağlayın: CI, ticketing, runbook'lar, olay araçları, test platformları—kanıt olarak ne kullanılıyorsa bağlayın.\n- Sahip atayın: her servis için bir birincil sahip (ve bir yedek). Sahipler bayat verileri düzeltmekten ve boşlukları gözden geçirmekten sorumludur.

İyi bir hedef: “ilk pano görünümü 30 dakika içinde” olsun; haftalar süren bir yapılandırma projesi olmasın.

Gözden geçirme ritmi

İki ritim oluşturun:

  • Aylık kapsam incelemesi: her takım değişiklikleri gözden geçirir, büyük düşüş/atlamaları açıklar ve 1–3 iyileştirme belirler.\n- Üç aylık metrik kural kontrolü: puanlama kurullarının adil ve alakalı olup olmadığını gözden geçirin (örn. yeni CI standardı, kullanım dışı araçlar).

Yönetişim: tanımları kim değiştirebilir

Kurallar beklenmedik şekilde değişirse kapsam puanları siyasi hale gelir. Küçük bir yönetişim grubu (genellikle Eng Productivity + Security/Quality) tanımlayın; bu grup:

  • küresel tanımları güncelleyebilir (kanıt olarak ne sayılır)\n- puanlama kurallarını ve ağırlıkları değiştirebilir\n- birçok takımı etkileyen yeni konektörleri onaylayabilir

Değişiklikleri basit bir değişiklik günlüğünde yayınlayın (ör. /docs/scoring-changelog).

Benimsemeyi ölçün ve geliştirmeye devam edin

Benimsemeyi şu metriklerle ölçün: aktif kullanıcılar, izlenen servisler ve tazelik uyumu (güncel kanıta sahip servis sayısı). Bu metrikleri yinelemeyi yönlendirmek için kullanın: daha iyi ağırlıklandırma, daha zengin kanıt türleri ve ek konektörler—her zaman ekiplerin manuel işini azaltan geliştirmeleri önceliklendirin.

Eğer iç öğrenimlerinizi kamuya da paylaşmaya karar verirseniz, geliştirme notlarınızı ve şablonlarınızı standartlaştırmayı düşünün: Koder.ai kullanan ekipler, geliştirme iş akışları hakkında içerik oluşturarak veya başkalarını yönlendirerek kredi kazanabilir; bu, dahili araçlara devamlı yatırım için fon sağlayabilir.

SSS

Bir dahili panoda “otomasyon kapsamı” ne anlama gelir?

Otomasyon kapsamı, kuruluşunuzun "otomatik olarak yapılan iş" ile manuel olan arasındaki ölçüm şeklinde tanımladığı şeydir. Karışıklığı önlemek için v1'de birincil bir ölçüm birimi seçin (örneğin: süreçler, gereksinimler/kontroller, test takımları veya runbook'lar) ve onay gerektiren "kısmen otomatik" adımlar gibi kenar durumlar için net kurallar yazın.

İyi bir tanım, iki kişinin aynı öğeyi aynı şekilde puanlayacağı bir tanımdır.

Farklı kitleler için uygulamanın hangi soruları yanıtlaması gerektiğine nasıl karar veririm?

Kullanıcıların yanıtlaması gereken 5–10 ana soruyu yazarak başlayın; bunları ürün gereksinimi gibi ele alın. Yaygın örnekler:

  • Hangi kritik servisler/süreçler yeterince otomatikleştirilmemiş?
  • Geçen haftadan beri ne değişti (iyileşen, gerileyen, eskimeye başlayan)?
  • Hangi otomasyonlar kararsız veya tekrar tekrar hataya düşüyor?
  • Her boşluğun sahibi kim ve sonraki adım nedir?

Farklı kitleler (QA, Operasyon, liderlik) farklı bakış açılarına ihtiyaç duyar; v1'in hangi kitleye öncelik vereceğini belirleyin.

Otomasyon kapsamını güvenilir şekilde ölçmek için hangi veri kaynaklarına ihtiyacım var?

Otomasyonun “kanıt” olarak kabul edildiği kaynakları ve "ne olması gerektiğini" tanımlayan yetkili kayıt sistemlerini envanterleyin.

  • Kanıt kaynakları: CI pipeline'ları, test çalıştırıcıları, iş akışı araçları, runbook'lar, RPA platformları.
  • Kayıt sistemleri: repo barındırma, issue tracker, CMDB/servis kataloğu.

Bir kayıt sistemi olmadan yalnızca aktiviteyi sayabilirsiniz; tam hedef kümesini bilmeden kapsamı güvenilir şekilde hesaplayamazsınız.

Alım için webhooks, polling, zamanlanmış içe aktarmalar mı yoksa manuel giriş mi kullanmalıyım?

Her kaynağa göre en az kırılgan yöntemi seçin:

  • Webhooks yakın-gerçek zaman güncellemeleri için (örn. pipeline tamamlandı).
  • API polling iyi API'leri olan ama zayıf webhook desteği bulunan araçlar için.
  • Zamanlanmış içe aktarmalar veri ambarları/CSV için.
  • Manuel giriş yalnızca boşluklar için; açıkça etiketleyin.

Ayrıca connector kısıtlarını (rate limit, kimlik doğrulama, saklama penceresi) belgeleyin ki kullanıcılar veri tazeliğini ve güvenirliğini anlayabilsin.

Yanıltıcı kapsam rakamlarını önlemek için hangi veri modeli uygun olur?

Metrikleri yanıltıcı olmaktan korumak için niyeti, iddiaları ve kanıtı ayırın.

Pratik bir model:

  • Requirement: otomatikleştirilmesi/ doğrulanması gereken hedef.
  • Automation Asset: bir iş akışı/komut dosyası/test takımı/bot.
  • CoverageClaim: Requirement ile Automation Asset arasındaki eşleme.
  • Run (evidence): zaman damgası, durum ve bir bağlantı/ID ile yürütümler.

Ayrıca sahiplik (takım/kişi) ve kalıcı kimlikler ekleyin ki yeniden adlandırmalar geçmişi bozmasın.

Otomasyon var ama son zamanlarda çalışmadığı için sadece ‘kağıt üstünde’ kalmasını nasıl önlerim?

“Kağıt üstünde kapsam”u önlemek için tazelik zaman damgalarını ve kanıt kurallarını kullanın.

Yaygın alanlar:

  • last_seen_at (varlık hâlâ mevcut)
  • last_run_at, last_failure_at
  • last_reviewed_at (birinin iddiayı doğruladığı zaman)

Sonra şöyle bir kural uygulayın: "Son 30 günde N başarılı çalıştırma varsa otomatik sayılır." Bu, "var" olmayı "son zamanlarda çalışıyor" olmaktan ayırır.

Uğraşmadan tartışmasız bir şekilde kapsam metrikleri ve ağırlıklarını nasıl tanımlarım?

Bir ana gösterge metriği seçin ve puanlama kurallarını açıkça yazın.

Yaygın başlık seçenekleri:

  • Sayı bazında % otomasyon (açık ve kolay)
  • Ağırlıklı emek bazında % (öğe büyüklükleri değişkense daha iyi)
  • Risk bazında % (etkiye odaklanır)

Ağırlıkları basit tutun (örneğin 1–5) ve "otomatik / kısmen otomatik / manuel" tanımlarını somut örneklerle belgelendirin.

Araçlar arasında adları nasıl normalleştirir ve çoğalmaları/yeniden adlandırmaları nasıl ele alırım?

Adları erken normalleştirin ve yeniden adlandırmalar/çoğalmalar için açık yollar sağlayın.

Pratik adımlar:

  • Kanonik servis/repo/çevre adları oluşturun.
  • service_aliases, repo_aliases gibi alias tablolar ekleyin.
  • Görünür adlar yerine kararlı ID'leri tercih edin (repo + yol, workflow ID ya da özel manifest ID).

Bu, aynı verinin birden çok kez sayılmasını ve ekip yeniden yapılandırdığında tarihsel trendlerin bozulmasını engeller.

Dahili bir kapsam uygulaması için temel güvenlik ve erişim kontrolü neler olmalı?

Mümkünse SSO (OIDC/SAML) ile başlayın; hızlı bir iç lansman gerekiyorsa kimlik başlıkları enjekte eden bir auth proxy arkasında başlamak kabul edilebilir. Küçük bir rol seti tanımlayın ve yetkilendirmeyi UI ile API'de tutarlı hale getirin:

  • Viewer (sadece okuma)
  • Editor (kapsam içinde meta veri/iddia güncellemeleri)
  • Admin (entegrasyonlar, puanlama kuralları, küresel ayarlar)

Hassas kanıtları dikkatle yönetin: tam logları kopyalamak yerine build ID, zaman damgası ve kısa bir durum özeti saklayın. Manuel düzenlemeler için kim/ne/nerede/neden şeklinde bir denetim kaydı tutun ve çalıştırma geçmişi için saklama politikası belirleyin.

İyileştirme sağlayan (uyarı yorgunluğu yaratmayan) uyarılar ve iş akışları nasıl oluşturulur?

Uyarıları eyleme dönüştürülebilir yapın ve küresel gürültüden kaçının.

Yüksek sinyalli uyarı tipleri:

  • Kapsam düşüşleri
  • Eskimiş kanıt
  • Tekrarlayan başarısız otomasyonlar
  • Sahipsiz kritik iş akışları

Eşikleri takım/servis bazında ayarlamaya izin verin (farklı "eskime" pencereleri ve paging kuralları). Uyarılar ilgili drill-down sayfasına derin bağlantı içermeli ve onaylama/atanma/durum (aç/triage/çözüldü) desteklenmelidir ki işler kapansın.

Related posts