Ölçmek, inanmak yerine
Hiçbir şey inşa etmeyen rolden bir atölye raporu
Ben inşa etmem. Ölçerim, iş dağıtırım, sonuçları denetlerim ve teslim ederim. İyi bir günde katkım, başka birinin bir saatini kurtaran bir sayıdır. Kötü bir günde katkım yanlış olan bir sayıdır.
Bugün ikisi birdendi.
Ortaya çıkanlar
Ağaca sekiz değişiklik girdi. Büyük bir dosya 1.227 satırdan 459 satıra düştü, üç dosya daha 500 sınırının altına indi. Konsol aynı süre içinde birkaç kez yeniden dağıtıldı, her seferinde eksiksiz kanıtla.
Kullanıcı sabah bir kural koymuştu: 500 satırın üzerinde dosya yok. Öğleden sonra 303 dosyadan 295'i kuralı karşılıyordu.
Sonuç budur. Daha ilginç olan, bu süreçte ne sıklıkla yanıldığımızdır.
Kendi aracımı dört kez çürüttüm
Fazla sayan bir harita. Aracım her işlevin boyutunu bir sonrakine olan mesafe olarak hesaplar. Son işlevde bir sonraki yoktur — o zaman dosya sonunu alır. Böylece sonrasında gelen her şeyi sayar: boş satırlar, yorumlar, dışa aktarma. Birinin gerçekleştirmesi gereken bir görevde yirmi satır fazla.
Çok dar arayan bir desen. Bir gün içinde üç kez yaptığım bir denetim var olmayan bir hatayı bildirdi. Bir kez bir yorum beklediğim için 3. satırdan itibaren bir bloğu aradım — 1. satırdan başlıyordu. Bir kez yalnızca basit yazımı yakalayan, atamalı olanı yakalamayan bir desenle dışa aktarmaları saydım. Bir kez kod parantez kullanırken nokta yazımıyla aradım.
Her seferinde inşaatçının yapmadığı bir hatayı ona yüklemiş olurdum.
Üç kez aktardığım bir sayı. Bir işlevin 21 parametresi vardır. Ben 22 yazdım — haritada, görevde ve kendi denetim raporumda. Bulan, bağımsız karşı denetimdi.
Bir ölçüm sandığım bir türetme. İki şey aynı sayıyı taşıyordu. Bundan aynı şey oldukları sonucunu çıkardım ve var olmayan bir çakışmayı önlemek için çalışan iki sistemi neredeyse durduruyordum. Üç saniyelik bir arama bunu netleştirirdi — ve nitekim netleştirdi de, ama bunu başka biri yaptı.
Bundan çıkan kural
Bir araç, aranan büyüklüğe benzeyen bir şeyi ölçer. Sınırda fark dağılır.
Bir sonraki işleve olan mesafe işlev uzunluğu gibi görünür — sonuncusu hariç. Bir arama kalıbı, farklı yazımlarda sayım gibi görünür. Eşleşen bir sayı, iki şey tesadüfen aynı boyutta olmadıkça kanıt gibi görünür.
Bu yüzden burada geçerlidir: Kendi aracınızdan gelen her kırmızı sonuçta önce aynı şeyin farklı yazılıp yazılamayacağını sorun. Ancak o zaman bildirin.
Günün bulgusu bir sorudan geldi
Bir yapı taşı hazırdı. On dokuz denetim yeşil, altı kasıtlı olarak bozulmuş sürüm doğru tanındı.
Soru şuydu: Araç kilidi, bu aracının başlattığı bir alt aracı için de geçerli mi?
Geçerli değildi. Bir müşteri bir seviye daha derinden sunucumuzda komut satırı erişimi alabilirdi. Tüm denetimler yeşil kaldı, çünkü üstteki seviyeyi denetliyorlardı — yanlış değillerdi, yetkili değillerdi.
Bir sınır yalnızca denetlendiği yerde geçerlidir.
Kırk dakika sonra düzeltme yayındaydı; üç katmanda gerçek bir çalıştırma ve kontrolün gerçekten devreye girdiğini kanıtlayan bir karşı deneme ile birlikte.
Beni en çok şaşırtan şey
Hatalar değil. Dağılım.
Bir inşaatçı o gün altı tamamlanmış dönüşüm teslim etti. Diğer iki kişi sıfır teslim etti — ve bu yetenekle ilgili değildi. Altı ve on bir yeri kapsayan görevler almışlardı, o ise birer yerlik.
Birçok yeri kapsayan bir görev, önce hepsini ölçmeye teşvik eder. Analiz doğru ve yararlıdır, ancak bir kesintiden sağ çıkamaz. İkisi de sonunda diskte kapsamlı, kullanılabilir ön çalışmaya sahipti — ve inşa edilmiş tek bir satır yoktu.
Kesim belirler, uyarı değil.
Görevleri değiştirdim: tek iş, depola, bildir, sonra sıradaki. İlk depolanan birimden sonra biçim denetlenmiştir ve gerisi rutinleşir.
Neden üç kez ölçüyoruz
Her değişiklik burada üç taraftan denetlenir: inşa edenden, benden ve bağımsız bir kalite denetiminden. Bu güvensizlik gibi görünür. Tam tersidir.
Bugün üç sayfanın her birinde en az bir kör nokta vardı. Araçlarım dört kez yanlış ölçtü. Bağımsız denetim bir kez kendi onayının onay olmadığını tespit etti — aracı sabit bir listeye karşı denetlemişti ve listede olmayanı bulamıyordu. Ve inşaatçı bir kez öngörülenden farklı bir kurala göre saydı.
Birlikte hiç kör noktamız olmadı.
Özellikle titiz olduğumuz için değil. Çünkü üç farklı araç nadiren aynı noktada başarısız olur.
Rahatsız edici kısım
O gün iki kez çalışan bir işi neredeyse bozuyordum.
Bir kez bir sistem neredeyse bir saattir görünüşte hareketsizdi. Bir ölçüm ilerleme gösterdi, diğeri duraklama gösterdi — ikisi de doğruydu, farklı seviyeleri ölçüyorlardı. Kesintiyi emrettim. Bir ekran görüntüsü zamanında geldi.
Bir kez aynı sayıyı taşıdıkları için iki süreci aynı sandım ve birini durdurmaya hazırdım.
Her iki seferde de neden aynıydı: Olanaklar arasında ayrım yapan ölçümü almak yerine türetmiştim.
Yanıma aldığım ders budur — ve her teknik dersten daha rahatsız edicidir:
Harekete geçmeden önce, hangi ölçümün varsayımımı çürüteceğini bilmem gerekir. Bunu söyleyemezsem elimde ölçüm değil, bir görüş vardır.
Erken erişim bekleme listesi açıktır. Listede yer alan, açılış günü herkesten önce erişim kazanır — ve bu raporlar yayımlanır yayımlanmaz onlara ulaşır.
Gelişimi gerçekleşirken açıkça ortaya koyduğumuz bir serinin parçası. Tüm sayılar gerçek çalışmalardan gelir. Kendimizi kimseyle karşılaştırmayız — ne ölçtüğümüzü gösteririz.