İçeriğe geç
academia.sh

Ders 12 / 17

Denetçi ve Uyum Rollerinin İşlevi

Bağımsız güvencenin çıkar ayrımı cinsinden ölçülmesi: 24 kontroldeki 17 gerçek bulgunun öz denetimde yalnız 3'ünün görünmesi ve görünmeyen 14 bulgunun 12'sinin bağımsızlık nedeniyle gizli kalması, uyum işlevinin 8, bağımsız iç denetimin 17, örneklemli dış denetimin 9 bulgu görmesi, tam ayrımın 14 bulgu ortaya çıkarırken 72 denetim günü, 19,2 ek iş günü ve 48 ek kanıt kalemi getirmesi ve gören bulgu ile birim gün sıralamalarının tam ters çıkması.

İçindekiler

Önceki dersin bütün sayıları bir kabule dayanıyordu: dolu denen hücreler gerçekten doludur, kayıt ürettiği söylenen yordam gerçekten üretir. Bu kabulün kaynağı bellidir — tabloyu dolduran, belgeleri yazan ve kayıtların üretildiğini bildiren taraf aynı taraftır. Konu boyunca ölçülen her şey kurumun kendi beyanı üzerinde koşturuldu.

Bu ders o kabulü kaldırır ve bağımsız güvenceyi ölçer. Bağımsız güvence bir sıfat değildir; iki boyutu olan sayılabilir bir düzenlemedir. Birincisi derinlik: bulgunun görülmesi için ne kadar teknik inceleme gerekir — kayda bakmak yeter mi, ikinci bir kaynakla karşılaştırmak gerekir mi, yoksa işi bağımsız olarak yeniden koşturmak mı gerekir. İkincisi bağımsızlık: bulguyu raporlayacak kişinin, bulgunun sahibiyle arasındaki mesafe. Bir bulgu ancak iki koşul birden sağlandığında görünür.

  • CE39. Kontrol kümesi 24 kalemdir ve altı ekibe dağılmıştır; 17’sinde gerçek bir uygunsuzluk vardır. Küme ve bulgular kurgudur.
  • CE40. Her bulgunun bir derinlik gereksinimi (1 kayıttan görülür, 2 çapraz karşılaştırma ister, 3 bağımsız yeniden koşum ister) ve bir bağımsızlık gereksinimi (0 kim bakarsa görür, 1 ayrı ekip ister, 2 ayrı raporlama hattı ister) vardır.
  • CE41. Dört güvence düzeni karşılaştırılır: öz denetim (derinlik 1, bağımsızlık 0), uyum işlevi (2, 1), bağımsız iç denetim (3, 2), dış denetim (3, 2 ama örneklemli).
  • CE42. Dış denetim kontrollerin yüzde 40’ına bakar ve örneklemini kanıt kalemi en çok olan kontrollerden seçer.
  • CE43. Kontrol başına denetim günü düzene göre 0,5 ile 4,0 arasındadır (kurgu).
  • CE44. Ayrım uygulandığında her kontrol bir ek onay adımı (0,4 gün) ve bağımsızlık düzeyi başına bir devir yükü (0,2 gün) getirir; her bağımsız inceleme dönemde iki ek kanıt kalemi üretir.
  • CE45. Kısmi ayrım, kanıt hacmi en yüksek n kontrolde bağımsız denetim, kalanında öz denetim uygulamaktır.
// rol/guvence.mjs — bagimsiz guvence duzenlerinin gordugu bulgu.
// MODELDIR: bolgesel olcum agi (kurgu); kontroller, bulgular ve gunler kurgudur.
export const satir = (s) => s.trim().split("\n").map((l) => l.trim().split("|"));
export const gen = (B) => (...h) => h.map((v, j) =>
  (j ? String(v).padStart(B[j]) : String(v).padEnd(B[0]))).join("");

// kod | sahip ekip | bulgu var mi | derinlik (1-3) | bagimsizlik (0-2) | kanit kalemi
export const KONTROL = satir(`
  K01|altyapi|evet|1|0|240
  K02|altyapi|evet|2|1|180
  K03|altyapi|hayir|1|0|60
  K04|altyapi|evet|3|2|48
  K05|altyapi|evet|1|1|365
  K06|uygulama|evet|2|0|52
  K07|uygulama|hayir|1|0|12
  K08|uygulama|evet|3|1|310
  K09|uygulama|evet|1|2|30
  K10|uygulama|hayir|2|1|24
  K11|kimlik|evet|2|2|120
  K12|kimlik|evet|1|0|48
  K13|kimlik|hayir|3|1|4
  K14|kimlik|evet|3|2|365
  K15|veri|evet|1|1|365
  K16|veri|hayir|2|0|30
  K17|veri|evet|2|2|12
  K18|veri|evet|3|0|4
  K19|saha|evet|1|2|18
  K20|saha|hayir|1|1|9
  K21|saha|evet|2|1|3
  K22|tedarik|evet|3|2|3
  K23|tedarik|hayir|2|2|2
  K24|tedarik|evet|1|0|1`)
  .map(([kod, ekip, bulgu, d, b, kalem]) => ({ kod, ekip, bulgu: bulgu === "evet",
    d: +d, b: +b, kalem: +kalem }));

// duzen | gorebildigi derinlik | tasidigi bagimsizlik | kontrol basina gun | orneklem orani
export const DUZEN = satir(`
  oz denetim|1|0|0.5|1
  uyum islevi|2|1|1.5|1
  bagimsiz ic denetim|3|2|3.5|1
  dis denetim|3|2|4.0|0.4`)
  .map(([ad, d, b, gun, ornek]) => ({ ad, d: +d, b: +b, gun: +gun, ornek: +ornek }));

export const BULGU = KONTROL.filter((k) => k.bulgu);
// Dis denetim orneklemi: kanit kalemi en cok olan kontroller secilir (model varsayimi).
export const kapsam = (z) => z.ornek === 1 ? KONTROL
  : [...KONTROL].sort((a, b) => b.kalem - a.kalem).slice(0, Math.round(KONTROL.length * z.ornek));
export const goren = (z) => kapsam(z).filter((k) => k.bulgu && k.d <= z.d && k.b <= z.b);

if (import.meta.url === `file://${process.argv[1]}`) {
  console.log(`model: ${KONTROL.length} kontrol, ${BULGU.length} gercek bulgu, ` +
    `${DUZEN.length} guvence duzeni`);

  const y = gen([22, 10, 10, 12, 12, 9, 13]);
  console.log("\n" + y("guvence duzeni", "kapsam", "goren", "gormeyen", "goren %", "gun",
    "gun / bulgu"));
  for (const z of DUZEN) {
    const g = goren(z), gun = kapsam(z).length * z.gun;
    console.log(y(z.ad, kapsam(z).length, g.length, BULGU.length - g.length,
      (100 * g.length / BULGU.length).toFixed(1), gun.toFixed(1),
      g.length ? (gun / g.length).toFixed(2) : "-"));
  }

  const z2 = gen([14, 12, 12, 13, 13]);
  console.log("\n" + z2("bagimsizlik", "bulgu", "oz denetim", "uyum islevi", "ic denetim"));
  for (const b of [0, 1, 2]) {
    const kume = BULGU.filter((k) => k.b === b);
    console.log(z2(`duzey ${b}`, kume.length,
      ...DUZEN.slice(0, 3).map((z) => kume.filter((k) => k.d <= z.d && k.b <= z.b).length)));
  }
  const gizli = BULGU.filter((k) => !goren(DUZEN[0]).includes(k));
  console.log(`\noz denetimde gorunmeyen ${gizli.length} bulgunun ` +
    `${gizli.filter((k) => k.b > 0).length} tanesi bagimsizlik, ` +
    `${gizli.filter((k) => k.b === 0).length} tanesi derinlik nedeniyle gorunmuyor`);
  const sG = [...DUZEN].sort((a, b) => goren(b).length - goren(a).length).map((z) => z.ad);
  const sV = [...DUZEN].sort((a, b) => (kapsam(a).length * a.gun) / (goren(a).length || 1) -
    (kapsam(b).length * b.gun) / (goren(b).length || 1)).map((z) => z.ad);
  console.log(`goren bulguya gore  : ${sG.join(" > ")}`);
  console.log(`birim gune gore     : ${sV.join(" > ")}`);
}
model: 24 kontrol, 17 gercek bulgu, 4 guvence duzeni

guvence duzeni            kapsam     goren    gormeyen     goren %      gun  gun / bulgu
oz denetim                    24         3          14        17.6     12.0         4.00
uyum islevi                   24         8           9        47.1     36.0         4.50
bagimsiz ic denetim           24        17           0       100.0     84.0         4.94
dis denetim                   10         9           8        52.9     40.0         4.44

bagimsizlik          bulgu  oz denetim  uyum islevi   ic denetim
duzey 0                  5           3            4            5
duzey 1                  5           0            4            5
duzey 2                  7           0            0            7

oz denetimde gorunmeyen 14 bulgunun 12 tanesi bagimsizlik, 2 tanesi derinlik nedeniyle gorunmuyor
goren bulguya gore  : bagimsiz ic denetim > dis denetim > uyum islevi > oz denetim
birim gune gore     : oz denetim > dis denetim > uyum islevi > bagimsiz ic denetim

İlk tablonun ilk satırı dersin ana sayısıdır. Kontrolü kuran ekip kendi kontrolünü denetlediğinde 17 gerçek bulgunun üçü görünür; 14’ü hiç raporlanmaz. Bu, kötü niyet varsayımı gerektirmez: aynı ekip aynı varsayımlarla bakar, aynı kaydı aynı biçimde okur ve kendi tasarımının dışında bir soru sormaz. İkinci tablo bunu nedenine ayırıyor — görünmeyen 14 bulgunun 12’si bağımsızlık, ikisi derinlik nedeniyle gizli kalıyor. Sorun ağırlıklı olarak yetkinlik değil, konumdur.

İkinci tablonun satırları bunu ayrıntılandırıyor. Bağımsızlık düzeyi 0 olan beş bulgunun üçü öz denetimde görülüyor; düzey 1 ve düzey 2 bulgularının hiçbiri görülmüyor. Uyum işlevi — ayrı bir ekip ama aynı yönetim hattı — düzey 0 ve 1’i açıyor, düzey 2’nin yedisini hâlâ göremiyor. Yedi bulgu yalnız ayrı raporlama hattıyla ortaya çıkıyor. Bir bulgunun görülmesi için gereken bağımsızlığı belirleyen şey bulgunun büyüklüğü değil, kimin işini yanlış göstereceğidir.

Son iki satır kursun ölçü eksenini bu derse taşıyor ve iki sıralama tam ters çıkıyor. Gören bulguya göre bağımsız iç denetim birincidir; birim güne göre sonuncudur. Öz denetim gördüğü bulgu başına 4,00 gün harcıyor, bağımsız iç denetim 4,94. Bu sayı tek başına okunduğunda öz denetimi verimli gösterir; oysa öz denetimin ucuzluğu gördüğü üç bulganın en kolay görülenler olmasının yan ürünüdür. Kolay bulguları bulup zorları hiç aramayan bir düzen, bulgu başına maliyette her zaman kazanır. Bir güvence düzenini yalnız birim maliyetle seçmek, körlüğü ödüllendirir.

Ayrımın Bedeli ve Kısmi Ayrım

// rol/ayrim.mjs — cikar ayriminin ortaya cikardigi bulgu ve getirdigi ek is.
import { KONTROL, DUZEN, BULGU, gen, goren, kapsam } from "./guvence.mjs";

const ONAY = 0.4;      // ayrimdan sonra kontrol basina ek onay adimi (gun, kurgu)
const DEVIR = 0.2;     // ekipler arasi devir (gun/kontrol, kurgu)
const KAYIT = 2;       // her bagimsiz inceleme donemde 2 ek kanit kalemi uretir (kurgu)

const gun = (z) => kapsam(z).length * z.gun;
const ekIs = (z) => (z.b === 0 ? 0 : kapsam(z).length * (ONAY + DEVIR * z.b));
const ekKayit = (z) => (z.b === 0 ? 0 : kapsam(z).length * KAYIT);

const y = gen([22, 11, 14, 13, 12, 17]);
console.log(`${KONTROL.length} kontrol, ${BULGU.length} gercek bulgu; oz denetimde ` +
  `${goren(DUZEN[0]).length} tanesi gorunuyor`);
console.log("\n" + y("guvence duzeni", "goren", "ortaya cikan", "denetim gun", "ek is gun",
  "ek kanit kalemi"));
for (const z of DUZEN) {
  console.log(y(z.ad, goren(z).length, goren(z).length - goren(DUZEN[0]).length,
    gun(z).toFixed(1), ekIs(z).toFixed(1), ekKayit(z)));
}

// Hibrit duzen: kanit hacmi en yuksek N kontrolde bagimsiz denetim, kalanda oz denetim.
const sirali = [...KONTROL].sort((a, b) => b.kalem - a.kalem);
const z2 = gen([16, 12, 12, 13, 13, 14]);
console.log("\n" + z2("hibrit sinir", "bagimsiz", "goren", "kacan", "denetim gun",
  "gun / bulgu"));
for (const n of [0, 6, 12, 18, 24]) {
  const bagimsiz = new Set(sirali.slice(0, n).map((k) => k.kod));
  const g = KONTROL.filter((k) => k.bulgu && (bagimsiz.has(k.kod)
    ? k.d <= DUZEN[2].d && k.b <= DUZEN[2].b : k.d <= DUZEN[0].d && k.b <= DUZEN[0].b));
  const toplam = n * DUZEN[2].gun + (KONTROL.length - n) * DUZEN[0].gun;
  console.log(z2(`${n} kontrol`, n, g.length, BULGU.length - g.length, toplam.toFixed(1),
    (toplam / g.length).toFixed(2)));
}

// Ekip basina gizli kalan bulgu
const ekipler = [...new Set(KONTROL.map((k) => k.ekip))];
const gorunen = new Set(goren(DUZEN[0]).map((k) => k.kod));
const z3 = gen([12, 10, 10, 12, 14]);
console.log("\n" + z3("ekip", "kontrol", "bulgu", "gorunen", "gizli kalan"));
for (const e of ekipler) {
  const k = KONTROL.filter((x) => x.ekip === e), b = k.filter((x) => x.bulgu);
  console.log(z3(e, k.length, b.length, b.filter((x) => gorunen.has(x.kod)).length,
    b.filter((x) => !gorunen.has(x.kod)).length));
}
const enGizli = ekipler.map((e) => ({ e, n: KONTROL.filter((x) => x.ekip === e && x.bulgu &&
  !gorunen.has(x.kod)).length })).sort((a, b) => b.n - a.n)[0];
console.log(`\noz denetimde en cok bulgusu gizli kalan ekip: ${enGizli.e} (${enGizli.n} bulgu)`);
console.log(`tam ayrim ${goren(DUZEN[2]).length - goren(DUZEN[0]).length} bulgu ortaya ` +
  `cikariyor; bedeli ${(gun(DUZEN[2]) - gun(DUZEN[0])).toFixed(1)} denetim gunu, ` +
  `${ekIs(DUZEN[2]).toFixed(1)} ek is gunu ve ${ekKayit(DUZEN[2])} ` +
  `ek kanit kalemi`);
24 kontrol, 17 gercek bulgu; oz denetimde 3 tanesi gorunuyor

guvence duzeni              goren  ortaya cikan  denetim gun   ek is gun  ek kanit kalemi
oz denetim                      3             0         12.0         0.0                0
uyum islevi                     8             5         36.0        14.4               48
bagimsiz ic denetim            17            14         84.0        19.2               48
dis denetim                     9             6         40.0         8.0               20

hibrit sinir        bagimsiz       goren        kacan  denetim gun   gun / bulgu
0 kontrol                  0           3           14         12.0          4.00
6 kontrol                  6           8            9         30.0          3.75
12 kontrol                12          12            5         48.0          4.00
18 kontrol                18          14            3         66.0          4.71
24 kontrol                24          17            0         84.0          4.94

ekip           kontrol     bulgu     gorunen   gizli kalan
altyapi              5         4           1             3
uygulama             5         3           0             3
kimlik               4         3           1             2
veri                 4         3           0             3
saha                 3         2           0             2
tedarik              3         2           1             1

oz denetimde en cok bulgusu gizli kalan ekip: altyapi (3 bulgu)
tam ayrim 14 bulgu ortaya cikariyor; bedeli 72.0 denetim gunu, 19.2 ek is gunu ve 48 ek kanit kalemi

Birinci tablo ayrımın bedelini üç ayrı kaleme bölüyor ve üçü farklı yerlerden çıkıyor. Tam ayrım 14 bulgu ortaya çıkarıyor; karşılığında 72 denetim günü, 19,2 ek iş günü ve 48 ek kanıt kalemi getiriyor. Denetim günü denetçinin işidir; ek iş günü kurulan tarafın işidir — ek onay adımları ve ekipler arası devir, denetçiye değil, kontrolü işleten ekibe düşer. Ek kanıt kalemi ise üçüncü derste sayılan yüke doğrudan eklenir: bağımsız inceleme kendi kaydını üretir ve o kayıt da saklanır, derlenir, örneklenir. Bağımsızlık ücretsiz değildir ve faturasının üçte biri denetlenen tarafa çıkar.

Dış denetim satırı bunun yanında ilginç bir karşılaştırma veriyor. Bağımsız iç denetimle aynı derinliği ve aynı bağımsızlığı taşıyor, ama örneklemi kontrollerin yüzde 40’ıdır ve 17 bulgunun dokuzunu görüyor. Örneklem kanıt hacmine göre seçildiği için sistematik bir eğilim taşıyor: çok kayıt üreten kontroller görülüyor, az kayıt üreten kontroller görülmüyor. Kanıt hacmi ile bulgunun önemi arasında bir bağ olmadığı için bu, kapsamı daraltmanın en sessiz biçimidir.

İkinci tablo kısmi ayrımı tarıyor ve eğri düz değil. Altı kontrolde bağımsız denetim uygulamak bulguyu üçten sekize çıkarıyor ve bulgu başına maliyeti 4,00’ten 3,75’e düşürüyor — hem tam öz denetimden hem tam ayrımdan iyidir. Sınır 12’ye çıkınca birim maliyet başlangıç değerine dönüyor, 18 ve 24’te yükseliyor. Nedeni açıktır: ilk eklenen kontroller kanıt hacmi en yüksek olanlardır ve içlerinde bulgu yoğunluğu fazladır; sonraki eklemeler gitgide daha az bulgu getirir. Bağımsızlık azalan verim gösterir, ama kalan beş, üç ve sıfır bulgu farkı da gerçektir; hangisinin kabul edileceği bir karardır ve bu kararın sayısı yazılmalıdır.

Son tablo ayrımın nerede en çok işe yaradığını gösteriyor. Öz denetimde altyapı, uygulama ve veri ekiplerinin üçer bulgusu gizli kalıyor; tedarik ekibinde yalnız bir bulgu gizli kalıyor. Ayrımı bütün kuruma aynı anda uygulamak gerekmiyor — bulgu yoğunluğunun ve gizlilik derecesinin yüksek olduğu ekiplerden başlamak, aynı günle daha çok bulgu çıkarır. Bunun bilinmesi için de bir ölçüme gerek vardır ve o ölçüm ancak bir kez bağımsız yapıldıktan sonra elde edilir.

Özet

  • Bağımsız güvence iki boyutlu bir düzenlemedir: derinlik bulgunun ne kadar inceleme istediğini, bağımsızlık raporlayanın sahiple arasındaki mesafeyi verir. Bulgu ancak iki koşul birden sağlandığında görünür.
  • Kontrolü kuran ekip kendi kontrolünü denetlediğinde 17 gerçek bulgunun yalnız üçü görünüyor; görünmeyen 14 bulgunun 12’si bağımsızlık, ikisi derinlik nedeniyle gizli kalıyor.
  • Uyum işlevi düzey 0 ve 1 bulgularını açıyor ama düzey 2’nin yedisini göremiyor: bir bulgunun gerektirdiği bağımsızlığı belirleyen şey büyüklüğü değil, kimin işini yanlış göstereceğidir.
  • Gören bulgu sıralaması ile birim gün sıralaması tam ters çıkıyor: öz denetim bulgu başına 4,00, bağımsız iç denetim 4,94 gün harcıyor. Öz denetimin ucuzluğu, yalnız kolay bulguları görmesinin yan ürünüdür.
  • Tam ayrım 14 bulgu ortaya çıkarıyor ve üç kalem bedel getiriyor: 72 denetim günü, 19,2 ek iş günü ve 48 ek kanıt kalemi. Ek iş günü denetçiye değil, kontrolü işleten ekibe düşer.
  • Kısmi ayrım azalan verim gösteriyor: altı kontrolde bağımsız denetim bulguyu 8’e çıkarıp birim maliyeti 3,75’e düşürüyor; 24 kontrolde bulgu 17’ye çıkıyor ama birim maliyet 4,94’e yükseliyor.

Sonraki Adım

Konu burada kapanıyor. Başında bir sorun vardı: önceki konunun sıralaması kurumun kendi diliyle yazılmıştı ve dışarıdan okunamıyordu. Yedi ders bir ortak dil kurdu ve o dilin bedelini saydı — beş işleve bölünmüş bir olgunluk ölçüsü, kapsamı yazılan bir belgelendirme döngüsü, kontrolü gereksinime bağlayan bir matris, veri türüne bağlanan ek kontroller, kalem kalem sayılan haklar, kanıt üreten ve üretmeyen belge düzeyleri ve bulguyu görünür kılan bir çıkar ayrımı. Her birinin sayısı yazıldı ve her birinde aynı şey görüldü: eşleme bir iddiadır, kanıt ayrı bir kalemdir.

Bu ortak dilin bir sınırı var ve bütün konu boyunca sessizce duruyordu. Olgunluk düzeyi bir tarihte hesaplandı, belge bir tarihte verildi, kontrol kümesi bir dönem için örneklendi, kanıt dosyası bir denetim için derlendi. Hepsi yılda bir kez doğru olan bir fotoğraftır. Aradaki her gün yeni bir açık açılıyor, bir yama penceresi kaçıyor, eğitimden sonra düzelen davranış eski hâline dönüyor ve tatbikat edilmemiş bir kurtarma planı sessizce eskiyor. Fotoğrafın doğru olması, iki fotoğraf arasındaki 364 gün hakkında hiçbir şey söylemez.

Sonraki konu Program Yönetimi bu 364 günü ölçer: açık akışının hızıyla düzeltme kapasitesinin farkını, yama penceresi daraldıkça yakalanan açık ile artan kesintiyi, farkındalık ölçütünün kaçıncı haftada eski değerine döndüğünü, tatbikatta tutmayan plan kalemini ve davranışı hiç değiştirmeyen ölçütü.

İlerlemeni kaydetmek ve not almak için Giriş yap

Notlarım

Not almak için giriş yapmalısın.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat