Audyt to pomiar, a jak każdy pomiar, ma swoją datę. Gdy raport trafi do ciebie, opisuje system, który od tego czasu przeszedł już setki merge’ów. To najbardziej rygorystyczny wskaźnik opóźniony, jaki posiadasz, a wskaźnik opóźniony to dziwna rzecz, by być jedyną rzeczą, którą obserwujesz.
Wskaźniki opóźnione pokazują, gdzie byłeś
Wskaźniki opóźnione nie są bezużyteczne; to sposób, by potwierdzić rezultat. Przychody są wskaźnikiem opóźnionym. Opinia audytowa jest wskaźnikiem opóźnionym. Są realne i mają znaczenie. Ale nie można nimi sterować, ponieważ gdy się zmieniają, decyzje, które je spowodowały, są już dawno za tobą.
Sterowanie wymaga wskaźników wyprzedzających: sygnałów, które zmieniają się w momencie podejmowania decyzji, gdy jeszcze można ją zmienić. W przypadku zgodności tym momentem jest pull request, a prawie nikt go nie mierzy.
Jak wygląda wskaźnik wyprzedzający dla zgodności
Wskaźnik wyprzedzający jest konkretny i szybki: ile zmian istotnych dla kontroli zostało zasygnalizowanych w tym tygodniu, w jakich frameworkach i ile zostało rozwiązanych przed merge’em. Ta liczba zmienia się każdego dnia i informuje o dryfie, gdy jeszcze można coś zrobić, a nie po zamknięciu okna.
Zmienia to także rozmowę. Zamiast rocznego werdyktu otrzymujesz ciągłe informacje o tym, czy twój system utrzymuje standard, w tym samym strumieniu, w którym odbywa się praca.
Nie można zarządzać tym, co mierzy się raz w roku
Jeśli jedynym momentem, w którym mierzy się zgodność, jest audyt, to między audytami działasz w ciemno i liczysz na szczęście. Dryf i tak zachodzi; po prostu go nie obserwujesz.
heygrc został zaprojektowany, by zamienić pull request w wskaźnik wyprzedzający: każda zmiana jest sprawdzana pod kątem twoich frameworków, każda istotna dla kontroli jest nazywana z odpowiednią klauzulą, w momencie jej wystąpienia. Audyt nadal przyjdzie, i powinien mieć mniej do znalezienia.