Masz już dobre pomysły
Pomysły zarysowane w pytaniu brzmią doskonale. To wielka niespodzianka, że nie odnosisz sukcesu. Jest rok 2012, a rewolucja zorientowana obiektowo od dawna przeszła od najnowocześniejszych do najnowocześniejszych praktyk. Wydaje się, że jeśli nie masz bardzo niskich obrotów i bardzo małej liczby osób zatrudnionych, trudno byłoby ci zdobyć kilkadziesiąt, a nawet sto dobrych programistów zorientowanych na obiekty stałe.
Zwinny czy obiektowy?
Wspominasz o niektórych zwinnych technologiach, takich jak TDD i nowszych koncepcjach, więc nie bądź zbyt surowy dla ludzi, ponieważ nie obejmują czegoś, co wciąż jest aktywnie zwalczane przez niektóre zespoły zarządzające. Niektórzy twierdzą, że obejmują Agile, ale kiedy o tym mówią, oznacza to, co mówią, że to znaczy. Organizacja nie charakteryzuje się zespołami, które podejmują decyzje i dostosowują się, lecz silną hierarchiczną kontrolą w stylu kontraktu.
Ale wracając do obiektu. Nie wspominasz o analizie lub projektowaniu obiektowym i nie jestem całkiem pewien, który język programowania ustępuje temu, który język programowania zorientowanego obiektowo. Wiem, że UML ma problemy z popularnością wśród wielu programistów obiektowych. Po dokładnym przeszkoleniu w OOAD uważam, że może to być jak nauka kultury i historii kraju, którego naturalnego języka chcesz się nauczyć. Na przykład, gdybym chciał nauczyć się greckiego, mógłbym nauczyć się alfabetu, słownictwa i gramatyki, ale gdybym zignorował bogatą historię i kulturę, bardzo bym tęsknił. W każdym razie, jeśli nauczysz się wszystkiego o zorientowanym obiektowo języku programowania, ale nic o OOAD, myślę, że utracono ważną szansę.
Problemy do przezwyciężenia?
Most za daleko? Jeśli poprosisz ludzi, aby nauczyli się jednej małej rzeczy tygodniowo, za rok, wśród osób, które uczestniczą, będzie wiele zmian. Jeśli poprosisz ich o zmianę wszystkiego, co wiedzą, zostanie przyjęty przez niektórych, trudny dla wielu, a niemożliwy dla innych. Niektóre zmiany, takie jak kontrola źródła, są zlokalizowane. Przechodzisz od nie robienia tego wcześniej, miałeś trening, który nie podkreślał granic pamięci, ktoś przeprowadził cię przez nią po raz pierwszy, a potem codzienność była dość łatwa.
Inne zmiany są wszechobecne. Na przykład zrzucenie C i przejście na Javę wymaga znacznego przeszkolenia, konfiguracji i dużych zmian w codziennym życiu w celu przyjęcia nowego IDE, nowego kompilatora, nowego języka, nowego API, nowego modelu wdrażania itp. To jest ten rodzaj co dzieje się najczęściej w połączeniu z programem pilotażowym lub restrukturyzacją przedsiębiorstw.
Prowadzić rewolucję? Jeśli ludzie, którzy obecnie wykonują tę pracę, mają w przeszłości swoją nagrodę, a firmie nie grozi awaria, jaka jest ich motywacja do zmiany? Jeśli wydajesz się być osobą z zewnątrz, która chce wskazać kierunek i obciąża ich odpowiedzialnością za wyniki, których nie są w stanie przewidzieć, może się wydawać, że to całe ryzyko, a nie nagroda.
Pozycja Władza czy Idea Przywództwo? Wiele organizacji działa w oparciu o siłę pozycji. Jeśli brakuje ci widocznego wsparcia ze strony kierowników, kierowników sekcji, dyrektorów i wiceprezesów, jesteś jedynie liderem pomysłów. Niektóre osoby znajdują się w niebezpiecznej sytuacji, gdy mają jeden pomysł i nie są w stanie zająć się drugim. Jeśli potrafisz je pokazać zamiast im mówić, przejdzie to długą drogę do wyciszenia sceptyków i zainteresowania utalentowanych sojuszników.
Baza wsparcia jest zbyt mała? Zrób triage wśród tych 250 osób i podziel je na trzy kategorie: gotowe do przyjęcia, chętne do nauki i niechętne do nauki. Masz powody do frustracji niektórymi ludźmi, którzy nie są zainteresowani wprowadzaniem zmian. Równie dobrze możesz naciskać na linę. To zmarnowany wysiłek. Jeśli masz wyczucie, kto wspiera zmiany, możesz dowiedzieć się, co ich interesuje.
W przeciwieństwie do segregacji medycznej, w której etycznym i praktycznym wyborem jest pomoc grupie środkowej, która może to zrobić z pomocą, możesz zainwestować swoją energię i czas w oparciu o swoją ocenę i preferencje. Aby osiągnąć sukces, dlaczego nie kultywować grupy gotowej na przyjęcie nowych pomysłów? Może to być kilka pierwszych, ale jak śnieżka, Twoja widoczność i wiarygodność jako adwokata wzrośnie. Wkrótce ludzie będą pytać, kiedy odbędzie się następny trening.
Czy to w perspektywie długoterminowej? Dopóki nie wyhodujesz bohatera, który będzie nosił po sobie przedmioty, powinieneś oczekiwać zainwestowania czasu w budowanie relacji. Być może będziesz musiał pozostać w drużynach, które trenujesz przez ponad miesiąc. Dopóki zespół nie opracuje dla siebie ulepszonych praktyk, jesteś tylko gliną technologii lub metodologii. Mentoring to proces, który może potrwać lata. Jest wiele rzeczy, których Twoi programiści nie chcą robić, a które według ciebie są ważne (szczególnie wspomniałem o testowaniu jednostkowym). Stworzenie wspólnej wizji wartości, jaką to przynosi, może chwilę potrwać. Znam to z doświadczenia, ponieważ kiedyś opowiadałem się za narzędziem do pokrycia kodu w firmie z listy Fortune 500, która cieszyła się dobrą opinią pod względem jakości, ale menedżerowie i rówieśnicy obawiali się tego.
Ekspert czy oddolni? O wiele szybsze niż mentoring byłoby wspieranie wsparcia oddolnego każdego członka zespołu. Zaczynając od zespołu dziesięciu specjalistów ds. Oprogramowania, gdybym miał wybór, aby jedna osoba cały czas pracowała nad procesem lub dziesięć osób nad procesem pracowała przez dziesięć procent, wybrałbym drugą. Proces oddolny pozwala adwokatom poczuć wpływ tego podejścia, a podejście powinno być dostosowane do najlepszego rozwiązania problemów zespołu, który jest właścicielem pracy.
Czy widzisz linię wolności? Częścią wprowadzenia „najlepszych praktyk” jest skłonienie ludzi do rezygnacji z pewnej swobody robienia rzeczy we wspólny sposób. Rezygnacja z uznania programisty będzie bardziej przyjemna, jeśli będziesz szukał możliwości pozostawienia wielu możliwości programistom. To, co wybierają, jest określone na podstawie tego, co nakazuje partycja, którą możemy nazwać linią wolności. Konieczne mogą być podobne, dobrze uzasadnione podziały dotyczące praktyk organizacyjnych, regionalnych / dotyczących miejsca, zespołu i osobistych.