Komentáře k článku
Zpětná kompatibilita

Dnes bych se chtěl zamyslet nad tím, co všechno může být zpětná kompatibilita, a ukázat to na dvou příbězích, jeden z našeho oboru a druhý si půjčím z letectví.
Dnes bych se chtěl zamyslet nad tím, co všechno může být zpětná kompatibilita, a ukázat to na dvou příbězích, jeden z našeho oboru a druhý si půjčím z letectví.
Podíval jsem se jen rychle na wiki k té nehodě, protože se mi nezdálo, že by se piloti při identifikaci poruchy motoru řídili pouhým směrem ventilace. Roli sehrál ukazatel vibrací, který byl u starého typu nečitelný. Paradoxně u nového typu ukazoval správně, avšak piloti si této modifikace nebyli vědomi a tudíž se jím neřídili. Takže jde o situaci dokonce DVOU zpětných nekompatibilit v rámci jedné nehody patřících do jednoho řetězce událostí ;-)
Příběh s letadlem není o zpětné kompatibilitě
U toho leteckého příběhu je přání otcem myšlenky – tady nejde o zpětnou kompatibility (aplikovatelnou v SW vývoji). Je to stejný asi jako kdybych řekl, že ve starých škodovkách byl motor vzadu a teď je vepředu, tudíž jde o porušení zpětné kompatibility, protože zvládání smyku s náhonem vzadu je jiné, než s náhonem vepředu.
K porušení kompatibility může dojít jen tam, kde na původním řešení (API) závisí přímo nějaké komponenty – což v případě letadla, tak jak to popisuješ, neplatí. Byla to chyba posádky (která buď nebyla adekvátně proškolená, nebo aplikovala empirické zkušenosti bez ohledu na změnu (fyzického) kontextu).
Zpětná kompatibilita není vágní pojem
Tohle je hodně laxní a nebezpečná myšlenka. Zpětná kompatibilita se dá velmi přesně definovat a není na libovůli projektu si říct, co do ní patří a co ne. Breaking change je breaking change, žádné slovíčkaření na tom nic nezmění. Mmch. pokud projekt má problém s definováním/porozuměním zpětné kompatibility, je to nejspíš signál špatného designu.
Co naopak si projekt/produkt může říct, je, v jakém rozsahu bude tu zpětnou kompatibilitu podporovat, protože udržování kompatibility má určitou režii a také jisté limity.
Re: Zpětná kompatibilita není vágní pojem
Víťo, díky za podněty. Ano, je to nešťastně napsané. Odpovědět sám, kodifikovat a dodržovat. To, že v tom produkt nemá jasno, se podle mě ukazuje právě na tom letadle. Je to nějaké chování, na které konzumenti spoléhají, byť to nebylo garantované, podobně jako stacktrace v JDK 1.3. Mluvíš o komponentách, ale lidi taky iteragují se systémy. Jo a jen na posádku bych to neházel, viz podrobnosti toho případu. Míra zavinění byla distribuovaná. Ještě bych rozporoval to přirovnání s motorem auta, to jsme u letadel třeba na úrovni hornoplošníku/dolnoplošníku. Tady byla řeč o takové maličkosti jako je vzduchotechnika. Ale jak jsi jednou poznamenal. Úkolem bylo zamyslet se, což jsme udělali ;)