Dokumentation

Resultatkontrakt

Vad det innebär att ett arbete är klart, utöver en mergad pull request, formulerat av personen som beställde det.

Tester och granskning visar att en ändring gör det den utlovar. Ett resultatkontrakt anger vad som ska gälla när ändringen har driftsatts och hur man kan veta det: vilka användarflöden som fungerar, vilket fel som inte längre uppstår, på vilka rutter, efter hur mycket trafik och under hur lång tid.

Varje ny uppgift har ett. Det tillhör personen som beställde arbetet, aldrig agenten som levererar det, så agenten som utför arbetet kan inte omdefiniera vad som räknas som framgång.

Var du hittar det

Öppna uppgiften i Mjukvarufabrik. Kortet Resultatkontrakt visar varje kontrakt med typ, version, status, framgångsvillkor, nödvändig exponering och hur länge det övervakas.

Så skapas ett kontrakt

Coroid utformar det tekniska kontraktet när uppgiften skapas, utifrån det som förfrågan redan anger:

  • Utifrån acceptanskriterier. En uppgift med acceptanskriterier – från sin specifikation eller plan – får ett utkast där framgångsvillkoret är att dessa användarflöden fungerar, verifierat med ett webbläsartest.
  • Utifrån en signal. En förfrågan från övervakning, automatisering eller arbetsintagets API innehåller signalen bakom den: felet, aviseringen eller problemet. Kontraktet anger att signalen ska upphöra – inga nya händelser med samma fingeravtryck från den källan – när ändringen har hanterat tillräckligt många förfrågningar på de berörda rutterna, och att signalen ska förbli borta i 24 timmar. Förfrågan måste ange rutterna och antalet förfrågningar; se fältet signal i arbetsintagets API.
  • När inget går att mäta. Utan acceptanskriterier eller en signal med rutter och antal skapas kontraktet som slutgiltigt och omätbart. Det säger det rakt ut i stället för att låtsas.

Det här gäller alla uppgifter, även sådana som Coroid själv skapar som delar av en plan, från automatiseringar eller som reparationer. Uppgifter som fanns innan kontrakt infördes har inget kontrakt.

Slutföra och ändra ett kontrakt

Ett utkast kan redigeras. Slutför låser det. Därefter sparar Ny version ändringen som nästa version och behåller den tidigare, så att du alltid kan se vad som utlovades när arbetet påbörjades.

Endast personen som beställde arbetet kan skriva dess kontrakt, eller, för arbete som tagits in enligt ett mandat, mandatets ägare. Agenter och tjänstekonton kan inte skapa, redigera eller slutföra ett kontrakt.

Resultat

Ett kontrakt får ett av fyra resultat:

ResultatBetydelse
VerifieradFramgångsvillkoret uppfylldes efter den exponering och tidsperiod som krävs.
Ej uppnåttDet uppfylldes inte.
OklartÄndringen nådde aldrig tillräcklig exponering för att avgöra saken.
OmätbartDet gick inte att mäta något.

Kontrakt och merge

Ett kontrakt mergar aldrig något och blockerar aldrig en merge. Beslutet om merge ligger fortfarande hos en person, som beskrivs i Granska och merga resultatet. Kontraktet dokumenterar vad den mergade ändringen var tänkt att åstadkomma.