Trzystopniowe ramy wdrażania wewnętrznej platformy programistycznej

Wewnętrzna platforma programistyczna (IDP) może pomóc programistom skupić się na dostarczaniu oprogramowania bez konieczności zajmowania się pipeline'ami wdrażania, zarządzaniem konfiguracją czy aprowizacją środowisk. Jeśli jesteś menedżerem ds. inżynierii, to może być właśnie to, czego szukasz. Jednak świadomość, że potrzebujesz wewnętrznej platformy programistycznej, a jej wdrożenie to dwie różne sprawy.

Chociaż różne platformy wymagają różnych ilości zasobów do konfiguracji i utrzymania, metodyczne podejście do ich wdrażania zapewni Twojej organizacji najlepszy możliwy start. Wybór odpowiedniej wewnętrznej platformy programistycznej oraz jej skuteczne wdrożenie pozwoli w znacznym stopniu odciążyć programistów i zwolnić zasoby.

W niniejszym artykule przedstawimy trzystopniowe ramy postępowania przeznaczone dla menedżerów ds. inżynierii, którzy są gotowi przejść od koncepcji platformy IDP do konkretnych działań.

Zostaną omówione następujące zagadnienia:

  • publikowanie zapytania ofertowego w celu wyłonienia potencjalnych dostawców;

  • wdrożenie wybranego narzędzia, aby zapewnić jego powszechne stosowanie;

  • mierzenie sukcesu i monitorowanie poprawy doświadczeń programistów.

Jak przygotować zapytanie ofertowe dotyczące wewnętrznej platformy programistycznej

Pierwszym krokiem do wdrożenia platformy IDP jest sporządzenie zapytania ofertowego. Zapytanie ofertowe precyzyjnie określa, czego Twoja organizacja oczekuje od wewnętrznej platformy programistycznej. Dostawcy przedstawią propozycje pokazujące, jak mogą spełnić te potrzeby, na przykład oferując demonstracje z przewodnikiem i bezpłatne wersje próbne oprogramowania. Zapewni to również Twojemu zespołowi jasne kryteria, według których będzie można ocenić otrzymane oferty.

Uwzględnienie wszystkich oczekiwań wobec platformy IDP

W zapytaniach ofertowych należy zwrócić uwagę na trzy główne obszary:

  1. Wyzwania: Z jakimi wyzwaniami mierzą się obecnie Twoje zespoły inżynierskie, które może rozwiązać wewnętrzna platforma programistyczna? Prawdopodobnie masz kilka kluczowych wyzwań, które chcesz rozwiązać.

  2. Cele: jakie rezultaty chcesz osiągnąć dzięki wdrożeniu wewnętrznej platformy programistycznej?

  3. Wymagania produktowe: jakie funkcje i możliwości są Ci potrzebne, aby osiągnąć te cele?

Przykład:

Jeśli dochodzi do utraty wiedzy w związku z dołączaniem nowych programistów lub zmianą przez nich zespołów, Twoim celem może być przyspieszenie procesu onboardingu programistów. Możesz nadać priorytet funkcjom, które umożliwiają samoobsługę i ograniczają ręczne czynności konfiguracyjne, na przykład poprzez samoobsługowe przepływy pracy i integrację z bazą wiedzy.

Jeśli Twój dział inżynieryjny się rozwija i musi stosować się do większej liczby najlepszych praktyk oraz standardów, Twoim celem może być poprawa bezpieczeństwa i ograniczenie luk w zabezpieczeniach. Być może potrzebujesz funkcji umożliwiających integrację z platformami bezpieczeństwa oraz monitorowanie zgodności z kartami wyników.

Jeśli masz trudności z zapewnieniem inżynierom warunków do zwiększenia wydajności i poświęcania większej ilości czasu na zadania, w których są najlepsi, Twoim celem może być skrócenie czasu konfiguracji, tak aby zespoły mogły szybko uruchamiać usługi. Być może potrzebujesz funkcji automatyzacji infrastruktury i tworzenia szablonów.

Precyzyjna ocena aktualnej sytuacji

Aby lepiej zrozumieć stojące przed Tobą wyzwania i określić cele, oceń aktualny stan doświadczeń programistów w Twojej organizacji. Nie zakładaj z góry, że znasz już obecną sytuację — zamiast tego spróbuj przeprowadzić ankiety wśród programistów, dokonać audytu istniejących procesów oraz zorganizować grupy fokusowe z udziałem programistów, aby ustalić, w jakich obszarach konieczne są ulepszenia. Pamiętaj, aby wyjaśnić kolejne kroki, które zamierzasz podjąć, i na bieżąco informować zespoły o postępach w pracach nad platformą IDP.

Z naszego Raport o stanie środowiska programisty wynika, że mniej niż połowa programistów uważa, iż ich organizacja traktuje priorytetowo kwestię doświadczeń programistów. Nie jest to zaskakujące, biorąc pod uwagę, że 2 na 3 programistów wciąż traci ponad 8 godzin tygodniowo z powodu nieefektywności związanej z wykonywaną pracą.

Jak wdrożyć wewnętrzną platformę programistyczną

Po wybraniu wewnętrznej platformy programistycznej należy wspólnie zaplanować proces wdrożenia i monitorować stopień jej przyjęcia. Gotowa do użycia wewnętrzna platforma programistyczna ograniczy nakład pracy wymagany od poszczególnych członków zespołu podczas wdrażania. Przykładowo Compass wymaga znacznie mniej zasobów inżynieryjnych niż platforma open source, taka jak Backstage, której prawidłowa konfiguracja i utrzymanie wymaga zatrudnienia 4 inżynierów full stack. Dzięki rozwiązaniu Compass możesz połączyć swoje narzędzia do zarządzania kodem źródłowym i zaimportować repozytoria, aby wypełnić katalog komponentów oprogramowania w zaledwie 10 minut.

Powołanie komitetu sterującego

Aby zapewnić jeszcze płynniejszy przebieg wdrażania, powołaj komitet sterujący złożony z kilku kluczowych interesariuszy. Ci eksperci będą zapewniać wsparcie, monitorować proces oraz podejmować decyzje dotyczące niezbędnych korekt.

Zalecamy skontaktowanie się z następującymi osobami:

  • Sponsor wykonawczy: Osoba na najwyższym stanowisku, która będzie kierować działaniami związanymi z platformą programistyczną. Do tej roli dobrze nadaje się dyrektor ds. technologii, wiceprezes ds. inżynierii lub kierownik ds. platform.

  • Wpływowi programiści: wybierz niewielką grupę wpływowych programistów z całej organizacji, którzy pomogą w projektowaniu lub przynajmniej będą na bieżąco informowani o planach wdrożenia wewnętrznej platformy programistycznej.

  • Zespół ds. platformy lub inżynierowie DevOps: integracje są kluczowe dla sposobu, w jaki wewnętrzne platformy programistyczne dostarczają korzyści, dlatego osoby odpowiedzialne za te narzędzia powinny być ważnymi partnerami podczas wdrażania.

  • Właściciele zasad lub zespoły ds. zarządzania: wewnętrzne platformy programistyczne ułatwiają zespołom inżynierskim przestrzeganie standardów i najlepszych praktyk, dlatego współpraca z osobami odpowiedzialnymi za te standardy może być pomocna podczas planowania.

Utworzenie harmonogramu wdrożenia

Po powołaniu komitetu sterującego opracuj harmonogram wdrażania wewnętrznej platformy programistycznej. Przekaż ten harmonogram wszystkim zespołom, które będą korzystać z nowej wewnętrznej platformy programistycznej, i poproś o dalsze opinie na temat wykonalności planu, aby w razie potrzeby wprowadzić odpowiednie korekty. W miarę realizacji harmonogramu regularnie sprawdzaj postępy i stopień przyjęcia platformy oraz zapewniaj wsparcie.

Opracowaliśmy przewodnik wdrożenia platformy Compass, który ułatwi Ci rozpoczęcie.

Jak mierzyć sukces wewnętrznej platformy programistycznej

Aby zmierzyć postęp, wróć do celów nakreślonych podczas przygotowywania zapytania ofertowego. Opracuj zarówno jakościowe, jak i ilościowe kluczowe wskaźniki wydajności (KPI), które pozwolą uzyskać pełny obraz tego, czy wewnętrzna platforma programistyczna dostarcza korzyści zgodne z założeniami. Dzięki rozwiązaniu Compass możesz tworzyć niestandardowe karty wyników, aby zdefiniować swoje wskaźniki KPI i upewnić się, że zespoły inżynierskie dążą do osiągnięcia tych samych standardów.

Większość osób postrzega KPI jako „twarde dane” lub „obiektywne miary”, co sprawdza się w przypadku pojęć ilościowych, takich jak przychody czy częstość awarii. Jednak doświadczenia programistów mają charakter subiektywny, co oznacza, że wskaźniki KPI w tym zakresie będą częściowo jakościowe — np. postrzegana łatwość dostarczania oprogramowania, postrzegana produktywność oraz zaangażowanie lub zadowolenie pracowników.

Znalezienie odpowiednich wskaźników dla swojej organizacji

Oto kilka przykładów tego, co można monitorować w zależności od wyznaczonych celów:

  • Jeżeli celem była poprawa bezpieczeństwa, możesz dążyć do zmniejszenia liczby otwartych luk w zabezpieczeniach o określoną wartość w każdym kwartale.

  • Jeżeli celem było zwiększenie produktywności, odpowiednim wskaźnikiem KPI może być skrócenie czasu wdrażania infrastruktury z 5 dni do 2 godzin.

  • Jeżeli celem był szybszy onboarding, możesz monitorować czas potrzebny nowym programistom na osiągnięcie pełnej produktywności i dążyć do jego skrócenia.

  • Jeżeli najważniejsza jest poprawa doświadczeń programistów, możesz dążyć do uzyskania wyższych wyników satysfakcji w ankietach przeprowadzanych wśród programistów.

Monitorowanie postępów w dłuższej perspektywie czasowej

Zauważenie efektów wdrożenia wewnętrznej platformy programistycznej może zająć trochę czasu. Należy regularnie monitorować postępy i organizować spotkania kontrolne oraz retrospektywy z zespołami, aby przedyskutować, czy platforma przynosi z czasem pożądane rezultaty.

Retrospektywy zespołu pozwalają programistom i liderom zastanowić się nad tym, co działa dobrze, a co wymaga poprawy. Podstawowe instrukcje i szablony retrospektyw oraz warianty dostosowane do konkretnych sytuacji można znaleźć w poradach strategicznych dla zespołów Atlassian, w sekcji gra Retrospektywa.