Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Tři plány rozvoje a žádný nepravdivý

Plán vedený jako próza je snímek a každá jeho kopie se rozchází svým tempem; uložený stav je tvrzení, které platí i poté, co se svět pohnul.

→ přečetl tři plány rozvoje jednoho projektu a nevěřil žádnému z nich

cena, když k tomu dojde
střední
jak často
běžné

Okamžik

README má plán rozvoje. GitHub má milníky. Plánovací dokument má diagram. V červnu to byl tentýž plán. Dnes je úkol na GitHubu zavřený, v dokumentu otevřený a v README chybí a worker právě začal práci, která na něm závisí.

Proč k tomu dochází

Plán napsaný prózou je snímek a každá jeho kopie je další snímek, který se rozchází po svém. Nejhorší je stav: „done“ napsané do pole je tvrzení, ne pozorování, a v tom poli zůstává pravdivé, i když se svět posunul. Práce se pak vybírá z paměti, ne podle pořadí závislostí, takže se něco začne dřív než to, co to potřebuje, a diagramy se překreslují ručně, dokud je někdo přestane překreslovat.

Proč to lepší model nevyřeší

Pracovník, který má vybrat další úlohu, čte kteroukoli kopii, na kterou byl odkázán. Nemůže vědět, že existují dvě další, a už vůbec ne, která ze tří je nejméně zastaralá. Podat mu všechny tři vyrobí pracovníka, který musí hádat, což dělali lidé.

Co to stojí

Práce zahájená v nesprávném pořadí, což se projeví mnohem později jako přepisování. Plánovací porady strávené srovnáváním dokumentů místo rozhodování. A pomalé opouštění všech tří kopií, po němž plán žije v hlavách několika lidí.

Co Majordomus dělá

Plán tvoří dva druhy kanonických souborů, kontrolovaných proti seznamu povolených, kde klíč, který nikdo nečte, je chyba. Milník je spustitelná specifikace výsledku. Úkol je omezený prováděcí kontrakt: cesty, kterých se smí dotknout, úkoly, na kterých závisí, jeho akceptační kritéria a důkazy, které jeho dokončení vyžaduje. Nikde se neukládá žádný stav. READY, BLOCKED, ACTIVE, VERIFY a DONE se odvozují z toho, co o sobě úkol zaznamenává, a ze stavu jeho závislostí, pokaždé když běží majordomus plan; zapsané pole stavu je neznámý klíč.

plan validate odmítne cyklus, závislost samu na sobě a závislost na neexistujícím úkolu, každé jménem. plan waves spočítá pořadí provádění z grafu a úkoly v jedné vlně, které se dotýkají týchž cest, hlásí jako serializované. plan start odmítne úkol, který není připraven, a pojmenuje, na co čeká; plan done odmítne, dokud je jakýkoli deklarovaný důkaz nepokrytý nebo závislost není hotová. Plán rozvoje na tomto webu a milníky na GitHubu jsou projekce týchž souborů.

Před a po

before   README roadmap | GitHub milestones | planning doc     three snapshots

after    $ majordomus plan next
         I0813  READY   session-knowledge-integration   (deps I0806, I0812 done)
         $ majordomus plan done I0042
         refused: evidence 'gap_reproduced' is uncovered

Jak to ověřit

Přidejte hranu závislosti a spusťte plan next: množina připravených se změní, aniž by se upravil jakýkoli stav. Zaveďte cyklus a plan validate ho pojmenuje. Nic nikde nenese pole stavu, protože seznam povolených hodnot žádné odmítne.

Co nedělá

Neodhaduje, neplánuje ani neprioritizuje; řadí podle závislostí a hlásí, co je připraveno. Model je dobrovolný: repozitář bez něj doctor přeskočí, ne selže. Projekce běží jedním směrem — GitHub se zapisuje ze souborů a nic napsaného na GitHubu se do nich nikdy nekopíruje zpět.

Jak to vypadá

Konkrétní situace, jedna pro každé publikum. Každá je deklarována v záhlaví okamžiku, takže stav před a po jsou data, ne próza, od které by se stránka mohla odchýlit.

  1. README, milníky, plánovací dokument engineering-lead

    před
    Úkol je na GitHubu uzavřen, v dokumentu otevřen a v README chybí a někdo právě začal práci, která na něm závisí.
    po
    Jeden kanonický model; plán rozvoje a milníky na GitHubu jsou jeho projekce, zapisované jedním způsobem.
  2. Pole stavu, které nikdo nedokázal udržet pravdivé platform-team

    před
    „Hotovo“ napsané do pole zůstává pravdivé i poté, co byla vrácena závislost, na níž spočívalo.
    po
    Žádný stav se neukládá: READY, BLOCKED, ACTIVE, VERIFY a DONE se pokaždé odvozují ze zaznamenaných událostí a grafu závislostí.
  3. Veřejný plán rozvoje, který přestal být pravdivý open-source-maintainer

    před
    Publikovaný plán rozvoje je ručně udržovaný seznam, který nikdo neaktualizuje, jakmile první položka sklouzne.
    po
    Stránka plánu rozvoje se generuje z plánu; není druhý seznam k aktualizaci.

Jak to poznáte

Pozorovatelné příznaky, které tento okamžik deklaruje. Jsou dotazníkem na indexu a vstupem pro majordomus why diagnose; nic jiného je nedefinuje.

  • Plán popisuje více než jeden dokument a ty se neshodují. copies-disagree
  • Stav je pole, které někdo napsal, ne něco odvozeného z toho, co se stalo. status-is-typed
  • Práce začala na něčem, jehož předpoklad nebyl dokončen. started-out-of-order

Kde to v nástroji najdete

Vše níže je načteno z vlastního záhlaví tohoto okamžiku a ověřeno proti repozitáři. Neexistující název by neprošel validací.

příkazy, které na to odpovídají

schopnosti spustitelného souboru, které na to odpovídají

co dohlíží — odvozeno z tvrzení níže

tvrzení, která tuto stránku podpírají, a důkazy za každým z nich

pravidla, která jej řídí

  • majordomus.project-integrity
  • majordomus.dag-integrity
  • majordomus.roadmap-integrity
  • project.derived-files-regenerated

případy užití, které ukazují cestu ven

Pokud vám tohle zní povědomě, další také

Co tento okamžik pojmenovává, co pojmenovává jeho a co sdílí jeho oblast, publikum nebo štítky. Druhé a třetí je odvozeno; zapsáno je jen první.

Všech 38 a jak souvisejí s nástrojem →

Prohledává názvy a popisy všech stránek, které tento web publikuje.