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.