Zalecenia dotyczące standaryzowania narzędzi i procesów
Dotyczy tego Power Platform zalecenia dotyczącego listy kontrolnej doskonałości operacyjnej Well-Architected:
OE:04 | Optymalizacja procesów projektowania oprogramowania i zapewnienia jakości przez następujące sprawdzone w tej branży metody projektowania i testowania. W celu jednoznacznego określenia roli należy ustandaryzować metody postępowania w przypadku takich składników, jak narzędzia, kontrola źródła, wzorce projektowe aplikacji, dokumentacja i przewodniki stylu. |
---|
W tym przewodniku przedstawiono zalecenia dotyczące definiowania standardu narzędzi i procesów projektowych. Zdefiniowanie spójnych praktyk powoduje, że praca zespołu jest efektywniej i wysokiej jakości. Zespoły o wysokiej wydajności używają sprawdzonych w tej branży narzędzi i procesów w celu zminimalizowania niechętnych nakładów pracy i potencjalnych błędów w kodzie.
Kluczowe strategie projektowania
Pierwszym krokiem do optymalizowania procedur projektowania jest standaryzacja narzędzi i procesów. Zawsze, gdy jest to możliwe, należy użyć sprawdzonych w tej branży rozwiązań, zamiast samodzielnie samodzielnie rozwijać swoje rozwiązania. W przypadku wszystkich standardowych narzędzi i procesów należy zapewnić szkolenia, aby zapewnić, że zespoły będą korzystać z nich efektywnie.
Aby zdefiniować standardy pomocne w optymalizowaniu rozwiązań projektowych, należy rozważyć następujące zalecenia.
Używanie narzędzi dostępnych na platformie
Należy określić priorytety korzystania z narzędzi Power Platform Tools i w inny sposób użyć dobrze znanego i dojrzałego narzędzia, po których nie są dostępne, i ustanowić standardy ich używania. Wydajne zespoły inżynieryjne to najlepsze w tej klasy narzędzia. Należy unikać opracowywania rozwiązań takich, które będą planować, rozwijać, testować i współpracy. Wybierz narzędzia spełniające wymogi dotyczące obciążenia.
Narzędzia powinny świadczyć następujące funkcje:
- Planowanie pracy i zarządzanie backlogami
- Kontrola wersji i repozytoria
- Potoki wdrażania
- Testowanie
- Tworzenie i przegląd kodu
W niektórych przypadkach jedno narzędzie lub zestaw narzędzi może zawierać kilka funkcji. Upewnij się, że rozumiesz możliwości swoich narzędzi i ich ograniczenia, aby spełniały Twoje wymagania dotyczące różnych funkcji.
Należy określić, czy powinny być dostępne funkcje premium platformy, czy premium wersje narzędzi. Rozważ czas i nakład pracy nad opracowaniem własnych rozwiązań i porównaniu go z funkcjami dostępnymi w zestawach narzędzi o najwyższej klasy. Uwzględnianie kosztów jednorazowych w stosunku do kosztów cyklicznych. W większości przypadków narzędzia do niespodowania zapewniają zespołowi wyższą wartość. Na przykład środowiska zarządzane oferują już dostępne funkcje, dzięki którym można ustawić wiadomość dla twórców z informacjami o terminie dołączania do pracy lub w sposób aktywny ograniczać udostępnianie. Samodzielne tworzenie tych funkcji wymaga prac programistycznych i bieżącej konserwacji, które mogą okazać się bardziej kosztowne niż inwestowanie w środowiska zarządzane.
Korzystaj z narzędzi sztucznej inteligencji, gdy jest to praktyczne. Narzędzia AI mogą pomagać w rozbudowie kodu, przeglądach i optymalizacji.
Ustanowienie ram zarządzania na potrzeby wspólnego rozwoju
Ustanów skuteczne ramy zarządzania współtworzeniem, aby zapewnić spójność i powtarzalność w projektach zdefiniowanych przez twórcę i zespołach fuzji.
Standaryzowanie systemu i rozwiązań kontroli źródłowej
Można też sterować systemem kontroli kodu źródłowego Azure DevOps. Azure DevOps Udostępnia usługi deweloperskie dla zespołów pomocy technicznej w celu planowania pracy, współpracy przy tworzeniu kodu oraz tworzenia i wdrażania aplikacji. Wyeksportowanie rozwiązania ze środowiska projektowego zawierającego aplikacje i dostosowania, rozpakowanie rozwiązanie i przechowanie składników w systemie kontroli źródła.
Upewnij się, że przechowywanie wersji rozwiązania jest dokładne, zgodnie z wytycznymi dotyczącymi przebiegu i deweloperów określonymi w temacie Implementowanie praktyk Scrum dla zespołu w Azure Boards. Wyniki testów z żądania ściągnięcia mogą mieć postać zrzutów ekranu lub filmów wideo przedstawiających tworzoną funkcjonalność. Automatyzacja procesu sprawdzania jakości kodu pozwala zagwarantować jakość kodu bez konieczności ręcznego przeglądu podstawowych testów, takich jak wersje rozwiązania.
Twórz szablony, aby zapewnić wydajność i podwyższyć poziom spójność. Wszystkie aspekty działalności zespołu korzystają ze standaryzacji i uproszczenia, od zadań dołączania i prezentacji przeglądu historyjek po szablony elementów roboczych zaprojektowane w celu zaoszczędzenia czasu i zapewnienia zespołom wskazówek podczas definiowania historii użytkowników, funkcji, błędów i zadań.
Ocena metryk w celu zwiększenia skuteczności
Zespoły ds. projektowania i zapewnienia jakości mogą poprawić się tylko wtedy, gdy zwiększą ich skuteczność. Aby zwiększyć skuteczność, muszą oni zidentyfikować metryki służące do oceny skuteczności deweloperów i zdefiniowania kluczowych wskaźników wydajności (KPI).
Przykłady tych metryk to:
- Czas realizacji: czas potrzebny na przejście zadania lub historii użytkownika z listy prac do wdrożenia produkcyjnego.
- Średni czas do rozwiązania: średni czas spędzony na naprawianiu błędów lub defektów w kodzie.
- Współczynnik niepowodzeń zmian: procent zmian, które skutkują niepowodzeniem.
Aby pomóc interesariuszom i zespołowi obsługi obciążenia, można łatwo śledzić śledzenia, wizualizację wskaźników KPI za pomocą pulpitów nawigacyjnych i innych narzędzi do raportowania.
Standaryzacja zapisu kodu przez zespół prac pracowych, opisania i opisania kodu dokumentów przez zespół prac
Standaryzacja zapisu kodu przez zespół prac pracowych, opisania i opisania kodu dokumentów przez zespół prac, używając przewodnika po stylach. Standardowy styl ułatwia współpracę i ułatwia nowe deweloperom. Aby działać skutecznie, nowi deweloperzy muszą wiedzieć, jak działa zespół obsługi obciążenia. Przewodnik stylu z dobrze zdefiniowanymi standardami może ułatwić proces szkolenia.
Przewodnik dotyczący stylu powinien obejmować:
- Konwencje nazewnictwa rozwiązań, artefaktów, formantów, akcji, środowisk, odgałęzień i budowania
- Standard obsługi błędów
- Typowe wzorce lub biblioteki
Śledź decyzje dotyczące architektury, aby pomóc zespołom w utrzymaniu świeżego zrozumienia obciążenia i umożliwić nowym członkom zespołu zapoznanie się z decyzjami projektowymi podjętymi w cyklu życia obciążenia. Uwzględnij w dokumencie decyzji dotyczących architektury narzędzia i technologie, które były brane pod uwagę, powód decyzji oraz wymagania funkcjonalne i niefunkcjonalne, które zostały uwzględnione w decyzjach. Rejestrowanie decyzji w celu uniknięcia powtarzania objaśnień lub poprawiania dyskusji z nowymi członkami lub interesariuszami.
Implementowanie norm i wytycznych dotyczących adresowania danych technicznych
Platforma i technologia zmieniają się szybko, a nowe funkcje i możliwości są regularnie aktualizowane. Nadaj zespołowi prac technicznych odpowiednie ustawienia techniczne. Ten sposób namysłowania motywuje zespół do regularnego rozważania i rozwiązania technicznego, aby uniknąć tego problemy. Należy rozwiązać problemy techniczne jako regularnie powtarzające się zadania w backlogu. Upewnij się, że masz procesy, aby być na bieżąco ze zmianami platformy, zarówno nowymi funkcjami, jak i wycofaniami, oraz pracuj nad planem działania dotyczącym sposobu reagowania na zmiany w obciążeniu.
Na przykład funkcja produktu może przestać być przestarzała lub zastąpiona inną wersją. Zespół ds. obciążenia musi nadać priorytet ukończeniu przejścia do nowej funkcji, aby uniknąć wpływu na obciążenie. Zespół może zbudować niestandardowe rozwiązanie lub kontrolkę, która z czasem staje się częścią platformy. Twój zespół ds. obciążeń musi przejść na tę funkcję platformy, która obniża dług techniczny i konserwację własnego obciążenia.
Korzystaj ze sprawdzonych w branży wzorców projektowych aplikacji, aby mieć pewność, że aplikacja jest niezawodna, wydajna i bezpieczna. Wzorce te należy wykorzystać do zaoszczędowania czasu i nakładu pracy zamiast tworzyć własne rozwiązania dla aplikacji. Wybierz wzorce, które będą korzystne dla użytkownika. Regularnie przeglądaj wzorce projektowe, aby upewnić się, że w rozwoju obciążenia używasz odpowiednich wzorców.
Implementowanie podejścia opartego na lewej zmiany do testowania
Implementuj podejście oparte na lewej zmiany do testowania, wykonując testy jednostek na wczesnym etapie projektowania. Częste testy w każdym środowisku projektowym pomagają deweloperom w nabraniu zaufania do swoich aplikacji.
Aby pomóc w utworzeniu strategii testowania przy użyciu podejścia opartego na lewej zmianie, należy wziąć pod uwagę następujące zasady:
- Pisz testy na najniższym możliwym poziomie. Preferowanie testów przy użyciu najmniejszej zależności zewnętrznych i uruchamianie testów w ramach kompilacji.
- Napisz testy raz i uruchamiaj testy wszędzie, w tym w środowisku produkcyjnym. Zapisz testy, które można uruchomić w każdym środowisku projektowym bez względu na czynniki specyficzne dla jednego środowiska, np. szyfrowane tajne dane lub konfiguracje.
- Zaprojektuj obciążenie na potrzeby testowania. Podczas opracowywania aplikacji należy wykonać wymaganie dotyczące testów.
- Rozważ własność testu, która jest oparta na własności obciążenia. Twój zespół ds. obciążeń jest właścicielem testów i nie powinien polegać na innych zespołach w celu przetestowania kodu.
- Zautomatyzuj testy w jak największym stopniu. Zautomatyzowany kod zmniejsza obciążenie zespołu obsługi i wymusza spójną jakość.
Wymagaj zespołu obsługi prac, aby zrozumieć zasady zabezpieczeń związane z zapewnianiem jakości i rozwojem. Członkowie zespołu muszą przestrzegać tych praktyk bez wyjątku. Dowiedz się więcej w temacie Zalecenia dotyczące zabezpieczania cyklu życia programowania.
Ułatwienia Power Platform
Potoki mają Power Platform na celu demokratyzację zarządzania cyklem życia aplikacji (ALM) dla Power Platform klientów i klientów Dynamics 365 poprzez wprowadzenie do usługi funkcji automatyzacji ALM oraz ciągłej integracji i ciągłego dostarczania (CI/CD).
Notatki wdrożeniowe generowane przez copilot w potokach generują podsumowanie rozwiązania i wstępnie wypełniają pole uwag dotyczących wdrożenia, zapewniając każdemu, kto przegląda żądanie wdrożenia lub rejestruje wystarczający kontekst, aby zrozumieć, co robi rozwiązanie i co zawiera.
Microsoft Power Platform Narzędzia do kompilacji mogą Azure DevOps służyć do automatyzowania typowych zadań kompilacji i wdrażania związanych z aplikacjami opartymi na Power Platform bazie.
Akcje GitHub umożliwiają Power Platform deweloperom tworzenie zautomatyzowanych przepływów pracy cyklu życia tworzenia oprogramowania. Za pomocą akcji GitHub dla platformy Microsoft Power Platform można tworzyć przepływy pracy w swoim repozytorium, aby tworzyć, testować, pakowania, wydawać i wdrażać aplikacje; wykonywać automatyzację; oraz zarządzać botami i innymi składnikami zbudowanymi na platformie Power Platform.
Power Apps Internetowy interfejs API kontrolera zapewnia mechanizm uruchamiania kontroli analizy statycznej pod kątem dostosowań i rozszerzeń platformy Microsoft Dataverse .
Test Studio umożliwia tworzenie kompleksowych testów interfejsu użytkownika dla aplikacji kanwy.
Automatyzowanie testów za pomocą usługi Azure Pipelines.
Power CAT Code Review Tool umożliwia przeprowadzanie przeglądów kodu.
Power CAT Copilot Studio Kit pozwala na konfigurację copilotów i testów. Przeprowadzając indywidualne testy na interfejsach Copilot Studio API (Direct Line), odpowiedzi drugiego pilota są oceniane pod kątem oczekiwanych wyników.
Akcelerator ALM to narzędzie typu open source, które składa się z zestawu aplikacji, skryptów i potoków zaprojektowanych w celu zautomatyzowania procesu ciągłej integracji/ciągłego dostarczania.
Microsoft Power Platform CLI (PAC CLI) to narzędzie wiersza polecenia, które obsługuje importowanie i eksportowanie Power Platform rozwiązań oraz pakowanie i rozpakowywanie z Power Platform plików źródłowych rozwiązań. Interfejs wiersza polecenia PAC jest dostępny jako samodzielne narzędzie wiersza polecenia lub jako rozszerzenie kodu Visual Studio .
Inne narzędzia i usługi, które mogą pomóc w ujednolicenia praktyk programistych, obejmują:
Azure DevOps, zbiór usług, których można użyć do tworzenia wspólnych, wydajnych i spójnych praktyk programistycznych. Azure DevOps wiąże dostępne następujące rozwiązania:
- Azure Pipelines, usługa w chmurze, która udostępnia usługi kompilacji i wydania w celu obsługi ciągłej integracji/ciągłego wdrażania aplikacji.
- Azure Boards, internetowe narzędzie do zarządzania pracą, które obsługuje praktyki Agile, takie jak Scrum i Kanban.
- Azure Repos, narzędzie do kontroli wersji, które obsługuje rozproszony system kontroli wersji Git i system kontroli wersji Team Foundation.
- Azure Test Plans, oparte na przeglądarce rozwiązanie do zarządzania testami, które zapewnia możliwości wymagane do planowanego testowania ręcznego, testowania akceptacyjnego użytkowników, testowania eksploracyjnego i zbierania opinii od uczestników projektu.
GitHub Projects, narzędzie do zarządzania pracą, którego można używać do tworzenia tablic Kanban, raportów, pulpitów nawigacyjnych i innych funkcji.