Cóż, ta odpowiedź nie jest tak specyficzna dla programowania, jak mogłoby się wydawać. Musisz przywrócić to do rzeczy, które rozumieją.
Jeśli jest to coś w rodzaju kompozycji zamiast dziedziczenia, prawdopodobnie po prostu powinieneś powiedzieć, że obecnie może 90% programistów uznałoby to za najlepszą praktykę (zgadywanka, częściowo oparta na fakcie, że 100% programistów zgadza się prawie na niczym), a ty zgadzam się i chętnie podejmę decyzję.
Staram się być tak szczery, jak to tylko możliwe, co jest kontrowersyjne i jaki procent programistów zgodziłby się ze mną.
Zasadniczo działa to lepiej w przypadku zarządzania niż deweloperów, którzy prawdopodobnie sprawią, że zejdziesz do króliczej dziury, wyjaśniając, czy naprawdę popierasz dobry projekt i skąd go znasz. Jest w tym coś godnego pochwały, ale oznacza to, że musisz poświęcić dużo czasu. Chyba że ci zaufają na tyle, aby wierzyć na takie rzeczy, przynajmniej tymczasowo. Z drugiej strony, mogą cię przekonać, że się mylisz, co bije zimną, twardą rzeczywistość przekonującą cię na drodze.
Dla rzeczy takich jak projekt, który jest bardziej testowalny, jeśli nie zgadzają się, że jest bardziej testowalny, to jest prawie taki sam jak pierwszy przykład. Jeśli nie zgadzają się co do tego, że pożądane jest bycie bardziej testowalnym, musisz przywrócić je do rzeczy, które rozumieją. Najprawdopodobniej byłoby to zarządzanie i można mówić o niższych kosztach rozwoju w perspektywie długoterminowej, mniejszej ilości QA, bardziej przewidywalnych procesach (ponieważ trudno jest przewidzieć długość powtarzanych cykli QA) itp.
Myślę, że część problemu polega na tym, że nie doceniasz, jak trudno jest zespołowi zgodzić się z tobą w jakiejkolwiek kontrowersyjnej kwestii, nawet jeśli okazuje się, że masz rację (i oczywiście możesz nie być). Programowanie jest częściowo ćwiczeniem socjologicznym i może być konieczne zaplanowanie czasu, aby rzeczywiście zniszczyć niektóre z tych króliczych dziur, ponieważ świetny projekt, którego nikt nie rozumie ani nie opóźnia, rzadko jest świetnym projektem w praktyce. Nie traktuj więc tego czasu jako zmarnowanego, myśl o nim jako o niezbędnej części sukcesu twojego projektu. Chociaż byłoby o wiele łatwiej, gdybyś mógł to jakoś pominąć.