Jeśli jesteś w projekcie, w którym macie na produkcji przynajmniej jedną appkę, to gratuluję – jest to już połowa sukcesu 🙂
W wielu przypadkach jest to tak na prawdę dopiero początek wyzwań, przed którymi znajduje się Twój zespół. Za chwilę będzie trzeba zadbać o wydajność, skalowalność i łatwość w utrzymaniu. Za moment prawdopodobnie przyjdzie ktoś z biznesu z prośbą o wdrożenie nowej funkcjonalności i spotka się ze zdziwieniem i rozczarowaniem, dlaczego dodawanie nowych ficzerów zajmuje tak dużo czasu. Przecież to tylko jakiś „niebieski przycisk”.
No właśnie, w pewnym momencie skończył się green field i nagle development spowolnił.
Dobrze, że chociaż mamy testy i możemy bezpiecznie rozwijać dalej projekt. Bo mamy, prawda? Przecież ich nie porzuciliśmy… A może zaczęły działać strasznie wolno i zamiast poświęcać czas na rozwijanie projektu, to musimy odblokować pipeline?
Co z reużywalnością komponentów – niby mamy jakoś to wydzielone, ale czy na pewno w sposób sensowny i optymalny? Może czas przejść na monorepo?
W appkach webowych pojawia się w pewnym momencie sporo wyzwań i decyzji, które trzeba podjąć. Spowodowane są m. in. problemami z:
- utrzymywaniem kodu
- komunikacją komponentów pomiędzy aplikacjami
- testowaniem aplikacji i długo trwającymi testami
- optymalnymi procesami CI/CD
- wydajnością
- reużywalnością komponentów
- określeniem granic komponentów
- skalowalną architekturą aplikacji
- podziałem domenowym
- zarządzaniem długiem technologicznym
- brakiem pewności, czy dalsze wykorzystywanie niektórych bibliotek w projekcie dalej ma sens
- oraz wiele, wiele innych 🙂
To tylko garstka z nich – nie sztuką jest wypuszczenie appki – sztuką jest jest dalsze rozwijanie zapewniając jednocześnie stabilność projektu.
Poza tym problemem może być dokumentacja, a raczej jej brak? Bardzo trafne spostrzeżenie na ten temat ma jeden z moich kursantów – Krzysiek:
Warto rozważyć wprowadzenie praktyk dokumentowania istotnych aspektów projektu, takich jak struktura kodu, decyzje architektoniczne, integracje zewnętrzne oraz dokumentowanie rozwiązań napotkanych problemów. To cenne źródło informacji dla zespołu, które przyspiesza adaptację nowych członków i ułatwia przyszłe prace konserwacyjne oraz rozwój aplikacji.
Co jeszcze oprócz Ciebie powoduje, że proces wytwarzania appek webowych w pewnym momencie spowalnia? Z jakimi problemami mierzy się Twój zespół każdego dnia? Jakich rzeczy można by uniknąć patrząc z perspektywy Twojego doświadczenia?
Chętnie poznam Twoją opinię na ten temat – daj znać w komentarzu
- No code, low code oraz AI w aplikacjach internetowych - 2023-05-31
- Appka na produkcji i co dalej? - 2023-05-11