Jakie są cechy oprogramowania „Center of Excellence” (CoE)?

13

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ę:

  1. Czy to tylko termin rzucany przez typy zarządzania?

  2. Jakie cechy sprawiają, że grupa programistów i testerów jest doskonała?

  3. Jak mierzysz doskonałość w tym kontekście?

Niespokojny
źródło
7
„Centrum doskonałości” to gryzące i smaczne centrum programistów, w samym środku chrupiącego słodyczy zarządzania. ;)
FrustratedWithFormsDesigner
8
Zapytałeś go? To znaczy ... opis może jeszcze nie istnieć, ale zdecydowanie zapytam go, co chce zobaczyć w programistach i testerach, aby nazwał ten dział centrum doskonałości. W przeciwnym razie po prostu dźgasz w ciemność z małą szansą na sukces i ogromną szansą na frustrację.
Marjan Venema
@Marjan, nie pytałem go, ponieważ jest kilka poziomów wyżej i nie mam dużo czasu na twarz (i od tego czasu go nie miałem). Upewnij się, że zrobię to następnym razem. Chciałbym najpierw poinformować się z zaufanych źródeł zewnętrznych :)
Randy
Kciuki w górę za to. Zawsze dobrze przyjść przygotowany z tym, co według ciebie oznacza centrum doskonałości ...
Marjan Venema
1
Prawdopodobnie ten post na blogu może mieć dla Ciebie pewne spostrzeżenia: agileelements.wordpress.com/2008/10/29/... (od autora (nie ode mnie), który założył taki w swojej organizacji).
yasouser

Odpowiedzi:

7

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.

Jon Hopkins
źródło
Mój problem z modnymi słowami polega na tym, że zbyt często wydają się one być skutecznym zamiennikiem rzeczywistej myśli na temat tego, co reprezentują. Staram się jednak nie osądzać zbyt surowo, kiedy wpadam na facetów z bzyczącymi słowami, ponieważ czasami są po prostu menedżerem odpowiednikiem nerdów programistów, uwięzionych w innym wszechświecie sławy i nie zdając sobie sprawy, że głupio brzmią dla reszty z nas mimo że faktycznie są intelektualnie uczciwi i są skuteczni, przystępni itp.
Erik Reppen
6

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:

  • Zatrudnij nowych pracowników o „ścisłych wymaganiach” dotyczących rekrutacji (zwykle wyższe stopnie lub certyfikaty lub uznanie branżowe)
  • „Przytnij tłuszcz” - pozbądź się ludzi, których zdaniem nie produkują
  • Wstrzykuj pieniądze do działu na narzędzia / procesy / osoby / szkolenia

Aby bezpośrednio odpowiedzieć na pytania:

  • tak
  • Nie mam na to solidnej odpowiedzi. Istnieje wiele wskaźników, które można wykorzystać do oszacowania niesamowitości.
  • W tym kontekście zwykle zależy od tego, czy ustalasz daty wydania.
Steven Evers
źródło
3

Przez ponad 30 lat mojego doświadczenia takie zdanie zwykle oznacza, że ​​chcemy, abyś produkował więcej przy mniejszej liczbie osób.

HLGEM
źródło
Prosta doskonała odpowiedź.
Uczeń
2

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

Treb
źródło
1

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

Kunszt oprogramowania to podejście do tworzenia oprogramowania, które podkreśla umiejętności kodowania samych twórców oprogramowania. Jest to odpowiedź twórców oprogramowania na postrzegane problemy głównego nurtu branży oprogramowania, w tym priorytetowe obawy finansowe przed odpowiedzialnością programistów.

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:

Anthony
źródło
0

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.

Ominus
źródło