Niedawno pojawił się nowy dyrektor mojego działu i wyraził życzenie, abyśmy stali się „centrum doskonałości”. Spodziewałem się, że skoro jest moim pierwszym szefem, który faktycznie ma doświadczenie w programowaniu, można by to opisać. Zostało to jednak pozostawione.
Jak się nad tym zastanawiałem w ciągu ostatnich kilku dni, zastanawiam się, co tak naprawdę oznacza CoE poza „byciem skutecznym” w dostarczaniu produktu. Oto główne elementy, z którymi walczę:
Czy to tylko termin rzucany przez typy zarządzania?
Jakie cechy sprawiają, że grupa programistów i testerów jest doskonała?
Jak mierzysz doskonałość w tym kontekście?
terminology
Niespokojny
źródło
źródło
Odpowiedzi:
Tak, to tylko termin, który jest rzucany przez typy zarządzania, ale jeśli usuniesz język zarządzania, mówi, że chce działu, który jest postrzegany jako wykorzystujący i wdrażający najlepsze praktyki branżowe w sposób, do którego inni dążą i robią to aby dostarczać świetne rozwiązania, które ludzie lubią.
(Ta ostatnia kwestia jest ważna - jeśli tak naprawdę nie dostarczasz, nie ma znaczenia, jak wspaniałe jest wszystko inne, a twój menedżer nie będzie długo w pobliżu).
Złożoność występuje na dwa główne sposoby:
1) Czy tego chce, ponieważ rozumie, że jest to właściwy sposób na tworzenie oprogramowania i że w ten sposób tworzysz wspaniałe produkty, czy też chce tego, ponieważ chce się nim chwalić?
2) Czy zaakceptuje koszty początkowe (czas, pieniądze, wiarygodność i ryzyko) związane z wdrażaniem najlepszych praktyk? Można powiedzieć „chodźmy zwinnie”, ale kładzie swoją reputację na linii, że poprawi to wszystko i będzie musiał spędzić dużo czasu na sprzedaży tego w organizacji. Prawie zawsze korzyści są długoterminowe, koszty krótkoterminowe i to jest trudne. Czy on naprawdę mówi na poważnie?
Jeśli chodzi o to, jak by to wyglądało, to zależy od tego, co robisz, ale musisz pomyśleć o tym, jakie są twoje procesy rozwoju i zarządzania projektami, jakie narzędzia używasz, jaki zestaw mają ludzie i tak dalej. . Test Joela jest zawsze dobrym miejscem do rozpoczęcia, w szczególności chciałbym zobaczyć naprawdę solidny proces kontroli wersji, naprawdę dobre śledzenie błędów i naprawdę dobre procesy kompilacji.
Chciałbym również sprawdzić, czy metody zwinne są dla Ciebie odpowiednie (w szczególności SCRUM), w jakim stopniu automatyczne testy mogłyby pomóc (bez rozpoczęcia wojny religijnej istnieją różne przekonania na temat tego, w którym stopniu złożoność testów przewyższa korzyści, które one pod warunkiem) czy masz niezbędne narzędzia i zestaw do wykonania pracy. Ogólnie sugeruję, abyś chciał, aby narzędzia były na czele, ale nie powodowały krwawienia. Warto podkreślić, że nie chodzi o posiadanie zabawek, ale o zapewnienie wszystkim członkom zespołu narzędzi, które pozwolą osiągnąć jak największą produktywność przez jak najwięcej dnia pracy. Najbardziej oczywistym przykładem są złe komputery PC - czy naprawdę wspaniale jest płacić programistom za oglądanie kursora, podczas gdy ich projekt zajmuje 5 minut, gdy budują go pół tuzina razy dziennie?
Kilka innych rzeczy, które prawdopodobnie będą widoczne w centrum doskonałości: Sugeruję, że centrum doskonałości oprogramowania prawdopodobnie ma całkiem niezły program szkoleniowy - może nie formalne kursy, ale z pewnością budżety na książki, czas nauki, mentoring i lubić.
I sugerowałbym, że prawdopodobnie wykonuje także niewielką (przynajmniej) część badań i rozwoju. Nie mam tu na myśli całkowicie niebieskiego nieba, ale danie programistom miejsca na wypróbowanie nowych rzeczy i ocenę nowych narzędzi i języków bez ciągłej presji dostarczania do klienta. W ten sposób posuwasz się naprzód i pozostajesz dobry w przyszłym roku, rok później i tak dalej.
Jak to zmierzyć? Ach, odwieczne pytanie. Ostatecznie pomiar rozwoju oprogramowania jest trudny, jeśli nie niemożliwy, a pomiar doskonałości w rozwoju oprogramowania jest podobnie trudny.
Jedyne, co naprawdę mogę zasugerować, które moim zdaniem byłoby użyteczne i które jest powszechnie stosowane przez wiele firm, to zadowolenie klientów i personelu. To pośredni pomiar, ale uważam, że jeśli nie jesteś doskonały, jest mało prawdopodobne, że uzyskasz naprawdę wysoki poziom satysfakcji klienta i naprawdę wysoki poziom satysfakcji pracowników.
źródło
To jest problem ze słowami łasicy ; brzmią, jakby coś znaczyły ... ale tak naprawdę nie.
Z kontekstu wygląda na to, że Twoja firma produkuje produkt, a dyrektor chce, aby Twój dział był jak najbardziej wydajny i efektywny. IME oznacza, że zamierzają wykonać jedną lub wszystkie z następujących czynności:
Aby bezpośrednio odpowiedzieć na pytania:
źródło
Przez ponad 30 lat mojego doświadczenia takie zdanie zwykle oznacza, że chcemy, abyś produkował więcej przy mniejszej liczbie osób.
źródło
W odpowiedzi na punkt 1:
Odpowiedź jest zdecydowanie Tak , jest to termin podobny do doświadczonego gracza Bullshit Bingo . Nie oznacza to jednak, że termin ten jest bez znaczenia.
Przejdźmy do numeru 2:
pochodzi z Wikipedii : Centre of Excellence: formalnie mianowany i nieformalnie zaakceptowany zbiór wiedzy i doświadczenia w tej dziedzinie. Zapomnijmy o formalnie powołanych i nieformalnie zaakceptowanych, i skupmy się na zasobach wiedzy i doświadczenia. Wiedziałbym, że wiedza jest podstawą teoretyczną, a doświadczenie końcowe - czymś, co pochodzi z praktycznego zastosowania. Aby osiągnąć doskonałość, potrzebujesz obu. Oprócz tych (dość oczywistych) cech uważam, że trzecia jest niezbędna do osiągnięcia doskonałości: umiejętność zadawania sobie pytań, refleksji nad tym, co robisz i szukania sposobów na poprawę. Wiedzę, której uczysz się jako student, ale musisz stale nad nią pracować, nadążać za najnowszymi osiągnięciami itp. Zdobywaj doświadczenie bądź doświadczeniem, że jest to prawie nieuniknione. Najtrudniejsza z punktu widzenia zarządzania jest stworzenie kultury refleksji i samodoskonalenia (powodzenia z tym szefem ;-)
Co do twojego pytania nr 3:
Myślę, że nie możesz. Mówię o czymś więcej niż tylko doprowadzeniu projektów do sukcesu (co jest już trudne do zmierzenia, między innymi z powodu tendencji do deklarowania sukcesu nawet najbardziej nieudanego projektu, ponieważ wygląda ładniej w prezentacji PowerPoint). Prawdziwa doskonałość wynika z postawy wszystkich członków zespołu, aby dawać z siebie wszystko, ulepszać siebie, swoje narzędzia, procesy itp. Najlepszym rozwiązaniem jest znalezienie sposobu pomiaru skuteczności określonego z góry procesu ciągłego doskonalenia
źródło
Pierwszą osobą, która przychodzi mi na myśl, gdy myślę o „Software Center of Excellence”, jest wujek Bob Martin
Wujek Martin jest od dawna zwolennikiem doskonałości w tworzeniu oprogramowania w formie znanej jako Software Craftsmanship . Jak to opisała wikipedia
Posłuchaj go na poniższym podcastie, gdy wyjaśnia, czym jest Software Craftsmanship:
Zobacz także Manifest dla Software Craftsmanship , który podkreśla znaczenie dobrze wykonanego oprogramowania, wartości dodanej, społeczności profesjonalistów i produktywnych partnerstw
EDYCJA: Ponieważ centrum doskonałości oprogramowania wymaga doskonale wyszkolonych programistów, możesz również przyjrzeć się następującym zasobom:
źródło
Wydaje mi się, że po prostu mówi, że chce mieć kulturę jakości ponad ilością, a potem znowu może mówić o swoim @ss. Jako programiści myślę, że mamy tendencję do zastanawiania się nad tym, co mówią ludzie. Przynajmniej wiem, że tak. Jeśli chodzi o to, co powiedział, to po prostu korporacyjna mowa, ale nie przesadzaj. Jak powiedzieli inni, zapytaj go.
źródło