You are on page 1of 40

TWOJA ENERGIA

PWC Case Study


Cele projektu
Firma Twoja Energia instalująca panele
fotowoltaiczne poszukuje firmy do wdrożenia
systemu CRM. Cele:
● Integracja SAP (faktury/zamówienia) z CRM.
● Integracja Workday ( informacje o
pracownikach) z systemem CRM.
● Ewentualne dodatkowe integracje jeśli
wymagania klienta się zmienią.
Zespół po stronie klienta
Pan Marian Zespół 5 osób
Szef IT (zajęty) Utrzymanie SAP I Workday

Product Owner Pani Kasia / Pan Rafał


PO SAP Key acc. Manager I acc.
Manager

Product Owner Justyna


PO Workday CEO
Zaproponowane ROLE
Client Project Manager Reprezentacja firmy Szef IT (Marian)
Osoba odpowiedzialna za takie jak Kasia - Key Account Szef IT, zależnie od dostępności
koordynację działań po stronie Manager, Rafał - Account i złożoności projektu mógłby

Mamy już
klienta, akceptację Manager, Justyna - CEO, będą zostać Client Project Managerem
dostarczanych rozwiązań i uczestniczyć w procesie zbierania lub wyznaczyć na tą pozycję
dbanie o zgodność z celami wymagań i akceptacji końcowych kogoś innego.
biznesowymi. rozwiązań.
*** Solution Architect lub
Enterprise Architect Product Ownerzy i
Business Area Manager (opcjonalnie) utrzymanie (5 osób)
Osoba z odpowiednim osoba która scali I zaplanuje Product Ownerzy: 2 osoby
doświadczeniem w dziedzinie wszystkie element wymagające odpowiedzialne za systemy
fotowoltaiki, która będzie wdrożenia I synchronizację SAP i Workday oraz 5 osób
przedstawicielem interesów oprogramowań SAP/Workday i odpowiedzialnych za ich
biznesowych firmy i wskaże CRM, określi wymagania i utrzymanie.
kluczowe wymagania systemu potrzeby klienta w tym zakresie.
CRM.
Potrzeba zatrudnienia
dodatkowych osób?

• Według mnie Nie ma wyraźnej potrzeby zatrudnienia


nowej osoby po stronie klienta na tym etapie (chyba że
Solution Architect jeśli projekt jest złożony). Firma posiada
już osoby odpowiedzialne za kluczowe systemy oraz
kluczowych przedstawicieli biznesowych.

• Warto zadbać o to, aby osoby te miały odpowiednią


dostępność czasową i były zaangażowane w projekcie na
odpowiednim poziomie.

• Ostateczna decyzja o potrzebie zatrudnienia nowej osoby


powinna być podjęta po dokładnym przeanalizowaniu
zasobów i wymagań projektu.
Sposoby zbierania wymagań
Analiza dokumentów I
Warsztaty wymagań procesów
Spotkanie z udziałem kluczowych Przegląd istniejących dokumentów i
przedstawicieli klienta i interesariuszy analiza obecnych procesów biznesowych,
biznesowych, takich jak Kasia - Key które zostaną objęte wdrożeniem CRM co
Account Manager, Pan Rafał - Account pozwoli na identyfikację szczegółowych
Manager, Justyna - CEO oraz z osobami wymagań dotyczących integracji,
odpowiedzialnymi za systemy. funkcjonalności i interfejsu systemu.

Wywiady z interesariuszami Ankiety I Konsultacje


Przeprowadzenie indywidualnych Rozważenie przeprowadzenia ankiety
wywiadów z kluczowymi osobami, wśród użytkowników, aby uzyskać ich
takimi jak Pani Kasia, Pan Rafał i Pani opinie i sugestie dotyczące funkcji,
Justyna, aby lepiej zrozumieć ich których oczekują w nowym systemie.
indywidualne potrzeby i oczekiwania
wobec nowego systemu CRM.
Sposoby zbierania wymagań
Prototypowanie Analiza Konkurencji
Tworzenie prototypów funkcjonalności Przeglądanie rozwiązań CRM
kluczowych obszarów systemu CRM i oferowanych przez konkurencyjne firmy w
prezentacja ich przedstawicielom branży fotowoltaicznej może dostarczyć
biznesowym, co umożliwi szybkie cennych wskazówek dotyczących funkcji i
zrozumienie, czy system spełnia ich rozwiązań, które warto uwzględnić w
oczekiwania i potrzeby. projekcie.

Wymagania oparte o User Kreatywne techniki


Story Zastosowanie różnorodnych technik,
takich jak burza mózgów, mind
Wykorzystanie techniki user story, która mapping, czy story mapping, może
opisuje wymaganie w kontekście pomóc w identyfikacji ukrytych
użytkownika i jego celów biznesowych. wymagań i oczekiwań klienta .
Należy pamiętać
Zbieranie wymagań to proces ciągły i
interakcyjny.

Warto zaangażować klienta i interesariuszy


biznesowych na każdym etapie projektu,
aby upewnić się, że wszystkie potrzeby i
wymagania zostaną odpowiednio
zidentyfikowane i uwzględnione w
systemie CRM.
Flow historyjek
Historyjka użytkownika: funkcjonalność, ogólne objaśnienie
funkcji oprogramowania napisane z perspektywy użytkownika
końcowego.
Cel: Objaśnienie w jaki sposób dana funkcja oprogramowania
przyniesie klientowi korzyści.

Flow historyjek w JIRA to sposób zarządzania i śledzenia pracy


nad różnymi zadaniami, w tym nad wymaganiami, zadaniami
programistycznymi, testami itp. W przypadku wdrożenia
systemu CRM dla Firmy Twoja Energia, można wykorzystać
JIRA do monitorowania postępu realizacji historyjek
użytkownika (User Stories) i innych zadań związanych z
projektem.
Flow historyjek
1. Draft (szkic) (główni zaangażowani Product Ownerzy):
• Kierownik Projektu It: Monitoruje proces tworzenia szkiców

DRAFT •
historyjek i zapewnia, że są one odpowiednio zrozumiane
przez zespół wdrożeniowy.
Na tym etapie zespoły analizują i definiują wymagania
dotyczące systemu CRM.
• Historyjki użytkownika są tworzone jako szkice (drafts), ale
jeszcze nie są zaakceptowane przez zespół wdrożeniowy.
• Product Ownerzy oraz przedstawiciele biznesowi uczestniczą
w tworzeniu i dostarczaniu historyjek jako szkiców.
Flow historyjek
2. To Do (główni zaangażowani Product Ownerzy):
• Historyjki, które zostały zaakceptowane przez zespół

TO DO •
wdrożeniowy jako potencjalne do realizacji, przechodzą do
etapu "To Do".
W tym etapie zespołowi programistycznemu i testerom
przypisywane są zadania do realizacji.
• Product Ownerzy nadzorują i planują, które historyjki zostaną
przeniesione do realizacji.
• Dodatkowo Product Ownerzy Przenoszą zaakceptowane
szkice historyjek do etapu "To Do", aby zespół
programistyczny mógł je zrealizować.
• Zespół programistyczny: Zadania programistyczne związane z
historyjkami są przydzielane i przenoszone do etapu "In
Progress".
Flow historyjek
3. In Progress (w trakcie realizacji) – zespół deweloperski:
• Zespół programistyczny: Realizuje zadania programistyczne

IN PROGRESS związane z historyjkami, implementuje funkcjonalności


systemu CRM.

• Testerzy: Przeprowadzają testy jednostkowe (sprawdzają


pojedyncze części kodów) i/lub testy integracyjne, aby
zweryfikować poprawność zaimplementowanych rozwiązań.
Flow historyjek
4. In Review (do przeglądu) (główni zaangażowani Product
Ownerzy):

IN REVIEW • Po zakończeniu prac programistycznych i testów, historyjki


przechodzą do etapu "In Review".

• Product Ownerzy ze strony klienta oraz Product Ownerzy


zespołu wdrożeniowego przeglądają zrealizowane historyjki
w celu zaakceptowania albo zgłaszania uwag.
Flow historyjek
5. Done (zakończone):
• Kierownik Projektu IT: Nadzoruje zakończone historyjki i

DONE •
sprawdza, czy są gotowe do wdrożenia.
Po zaakceptowaniu przez klienta i zespół wdrożeniowy,
historyjki przechodzą do etapu "Done".
• Historyjki w tym etapie są w pełni zaimplementowane,
przetestowane i gotowe do wdrożenia w środowisku
produkcyjnym.
• Zespół programistyczny i testerzy: Historyjki są uznawane za
zakończone, jeśli zostały zaakceptowane przez klienta i zespół
wdrożeniowy.
Flow historyjek
6. Rejected (odrzucone):
• Jeśli historyjka zostaje odrzucona przez klienta lub zespół

REJECTED •
wdrożeniowy, przechodzi do etapu "Rejected".
Powód odrzucenia jest opisany, a historyjka może zostać
ponownie dostosowana i wrócić do etapu "Draft" lub może
zostać całkowicie odrzucona.
• Product Ownerzy ze strony klienta: Decydują o odrzuceniu
historyjki, jeśli nie spełnia ona oczekiwań lub potrzeb klienta.
• Product Ownerzy zespołu wdrożeniowego: Mogą również
odrzucić historyjkę, jeśli uzna się, że nie jest możliwe jej
zaimplementowanie zgodnie z wymaganiami.
Flow historyjek

W JIRA, każdą historyjkę użytkownika powinno być łatwo


śledzić, jej status, historię zmian, komentarze i osoby
odpowiedzialne za daną historyjkę. Dzięki temu można w
pełni kontrolować postęp pracy nad projektem i zapewnić
przejrzystość w całym procesie realizacji wdrożenia systemu
CRM.

Żeby historyjki były zatwierdzone to Product Owner musi je odebrać.


Eventy I skład osobowy
Sprint Planning
i. Kierownik Projektu IT : Prowadzi
ceremonię i zapewnia zgodność z Daily Scrum
celami projektu.
ii. Product Ownerzy ze strony klienta:
Przedstawiają priorytety historyjek I. Kierownik Projektu IT:
użytkownika do realizacji. Nadzoruje spotkanie i zapewnia
iii. Zespół programistyczny i testerzy: przestrzeganie ustalonych zasad.
Oceniają, ile zadań i historyjek II. Zespół programistyczny i
mogą zostać zrealizowanych w testerzy: Raportują postępy i
danym sprincie. ewentualne bariery w pracy.
Eventy I skład osobowy
Sprint Review Sprint Retrospective
I. Kierownik Projektu IT: Prowadzi I. Kierownik Projektu IT: Prowadzi
przegląd sprintu i zapewnia, że retrospective i pomaga w
cele zostały spełnione. identyfikacji obszarów do poprawy.
II. Product Ownerzy ze strony klienta: II. Zespół programistyczny i testerzy:
Odbierają prezentację Współuczestniczą w dyskusji i
zrealizowanych funkcjonalności i dzielą się swoimi obserwacjami.
decydują, czy zaakceptować je w III. Product Ownerzy ze strony klienta:
ich obecnej formie lub zgłosić Uczestniczą w retrospekcji i mogą
uwagi do dalszej poprawki. przedstawiać swoje uwagi i
III. Zespół programistyczny i testerzy: sugestie.
Prezentują zrealizowane
funkcjonalności.
Eventy I skład osobowy
Sprint Demo
 Opis: Ceremonia, która odbywa się
Skład osobowy na ceremoniach
na końcu sprintu, podczas której
może być dostosowany w zależności
zespół prezentuje działający system
od wielkości zespołu i projektu
CRM klientowi i interesariuszom.
oraz zaleceń Agile.
I. Kierownik Projektu IT: Prowadzi
demo systemu i zapewnia, że
wszystkie funkcjonalności są
Regularne ceremonie (eventy) 
odpowiednio przedstawione.
efektywna współpraca i komunikacja
II. Product Ownerzy ze strony klienta:
między zespołem wdrożeniowym a
Odbierają prezentację i dają swoje
klientem.
opinie i uwagi odnośnie
działającego systemu.
III. Zespół programistyczny i testerzy:
Prezentują działający system i
odpowiadają na pytania.
Zestaw środowisk
Staging (przed prod.)
Deweloperskie
Opis: Środowisko, które jest odwzorowaniem
Opis: Środowisko dla zespołu środowiska produkcyjnego i służy do
developerskiego do tworzenia i finalnego testowania i akceptacji przez
testowania nowych funkcji i zmian. klienta.
Co będzie na nim realizowane: Co będzie na nim realizowane:
Programiści będą rozwijać Przedstawiciele klienta i interesariusze będą
funkcjonalności systemu CRM, testować przeprowadzać testy akceptacyjne, aby
kod i dostosowywać go do wymagań upewnić się, że system działa zgodnie z
projektu. oczekiwaniami i wymaganiami.

Testowe (QA/Test) Produkcyjne


Opis: Środowisko, które służy do Opis: Ostateczne środowisko, na którym
przeprowadzania testów np. integracyjnych, zostanie uruchomiony system CRM po
testów jednostkowych, testów wydajności. pomyślnym przejściu testów akceptacyjnych.
Co będzie na nim realizowane: Zespół Co będzie na nim realizowane: System CRM
testerów będzie przeprowadzał różnego będzie działał na tym środowisku i będzie
rodzaju testy, aby zweryfikować, czy system dostępny dla użytkowników w celu
CRM spełnia określone wymagania i działa prowadzenia codziennej działalności firmy.
poprawnie.
Integracje
CRM-SAP
aby możliwe było wspólne korzystanie z danych dotyczących
zamówień i faktur.

CRM-Workday
aby umożliwić zarządzanie danymi dotyczącymi zatrudniania
pracowników i czasu pracy.

CRM- Inne Systemy


W zależności od istniejących rozwiązań, może być konieczne
przeprowadzenie integracji z innymi systemami
wykorzystywanymi w firmie, aby zapewnić spójność i wymianę
danych między nimi.
Testy I quality gates

Wprowadzenie quality gate'ów pozwoli na


skuteczne monitorowanie jakości
systemu na różnych etapach projektu i
zapewni, że tylko systemy spełniające
określone kryteria przechodzą do
kolejnych faz projektu lub zostaną
wdrożone w środowisku produkcyjnym.
Testy jednostkowe
• Opis: Testy jednostkowe są przeprowadzane na poziomie
pojedynczych komponentów (np. funkcji, klas) i służą do
weryfikacji, czy poszczególne części systemu działają
poprawnie.

• Skład osobowy: Programiści są odpowiedzialni za tworzenie i


wykonywanie testów jednostkowych.

Quality gate po testach jednostkowych:

• Kryterium: Wszystkie testy jednostkowe muszą zostać


pomyślnie zakończone bez żadnych błędów.

• Skład osobowy: Programiści, zespół testerów i Product


Ownerzy zespołu wdrożeniowego.
Testy integracyjne
• Opis: Testy integracyjne koncentrują się na weryfikacji
poprawności działania interfejsów i integracji między różnymi
modułami systemu oraz z systemami zewnętrznymi (np. SAP,
Workday).

• Skład osobowy: Zespół testerów i programistów pracują


wspólnie nad przeprowadzeniem testów integracyjnych.

Quality gate po testach integracyjnych:

• Kryterium: Wszystkie testy integracyjne muszą być


zakończone pomyślnie, a integracje między modułami i
systemami zewnętrznymi muszą działać poprawnie.

• Skład osobowy: Programiści, zespół testerów i Product


Ownerzy zespołu wdrożeniowego.
Testy funkcjonalne
• Opis: Testy funkcjonalne sprawdzają, czy system spełnia
określone wymagania i czy funkcje działają zgodnie z
oczekiwaniami klienta.
• Skład osobowy: Zespół testerów przeprowadza testy
funkcjonalne, a Product Ownerzy ze strony klienta
uczestniczą w akceptacji wyników testów.

Quality gate po testach funkcjonalnych:

 Kryterium: Wszystkie testy funkcjonalne muszą zostać


zakończone pomyślnie, a system musi spełniać określone
wymagania biznesowe.

 Skład osobowy: Zespół testerów, Product Ownerzy zespołu


wdrożeniowego i przedstawiciele klienta.
Testy wydajności
• Opis: Testy wydajności oceniają, jak system zachowuje się
pod obciążeniem, w szczególności w przypadku dużej liczby
użytkowników lub transakcji.
• Skład osobowy: Zespół testerów specjalizujących się w
testach wydajności przeprowadza te testy.

Quality gate po testach wydajności:

 Kryterium: System musi wykazać odpowiednią wydajność i nie


wykazywać krytycznych problemów podczas testów
obciążeniowych.
 Skład osobowy: Zespół testerów specjalizujących się w testach
wydajności, programiści i przedstawiciele klienta.
Testy akceptacyjne

• Opis: Testy akceptacyjne są przeprowadzane przez


przedstawicieli klienta, aby upewnić się, że system
spełnia założone wymagania biznesowe i jest gotowy do
wdrożenia w produkcji.

• Skład osobowy: Przedstawiciele klienta (np. Kasia, Rafał,


Justyna) współpracują z zespołem testerów w celu
przeprowadzenia testów akceptacyjnych.
Potencjalne ryzyka
Harmonogram Jakościowe Finansowe
Opóźnienia w realizacji projektu z Błędy i wady w systemie CRM, Przekroczenie budżetu projektu z
powodu trudności w integracji które mogą wpływać na jego powodu niespodziewanych kosztów
różnych systemów. funkcjonalność i użyteczność. lub zwiększenia zasięgu projektu.
Niedostateczne zasoby ludzkie lub Wymagania biznesowe nie są Koszty szkoleń i wdrożenia mogą
techniczne mogą prowadzić do odpowiednio zrozumiane i nie być wyższe niż początkowo
opóźnień. spełniają rzeczywistych potrzeb zakładano.
klienta.

Techniczne Akceptacja Szkoleniowe


Problemy związane z integracją systemu Odmowa zaakceptowania systemu Pracownicy Firmy Twoja Energia mogą
CRM z istniejącymi systemami SAP i CRM przez przedstawicieli klienta na napotkać trudności w opanowaniu
Workday. etapie testów akceptacyjnych. nowego systemu CRM.
Konieczność dostosowania systemu CRM Brak aktywnego zaangażowania Brak odpowiedniego szkolenia i
do specyficznych wymagań i procesów przedstawicieli klienta w procesie wsparcia dla użytkowników może
firmy, co może być technicznie wdrożenia, co może utrudnić uzyskanie wpłynąć na efektywność i efektywność
wymagające – Solution Architect. pełnej akceptacji. korzystania z systemu.
Potencjalne ryzyka
Jak skutecznie zarządzać ryzykiem?
• Dokładnie zbadać i zrozumieć potrzeby klienta.
• Ustalić plan działań na wypadek wystąpienia ryzyk.

Zmiana wymagań • Zapewnić regularne monitorowanie i komunikację w celu wczesnego


wykrywania potencjalnych problemów.
Wymagania klienta mogą ulec zmianie
• Angażować kluczowych interesariuszy, w tym użytkowników, w proces
w trakcie realizacji projektu, co może
wpływać na harmonogram i koszty. wdrożenia.
Brak odpowiedniego zarządzania
• Realizować testy weryfikacyjne i walidacyjne, aby upewnić się, że
zmianami może prowadzić do
chaotycznych zmian w projekcie. system CRM spełnia wymagania i oczekiwania klienta.
• Posiadać elastyczny i adaptacyjny plan, aby dostosować się do
zmieniających się warunków i wymagań.
Harmonogram projektu
Agile
Harmonogram uwzględnia niektóre zasady Scrum, takie jak
pracę w sprintach i iteracyjny rozwój, ale jednocześnie zapewnia
Hybryda wyraźnie zdefiniowane fazy i terminy (bardziej tradycyjne
podejście do zarządzania projektami).

Ważna jest elastyczność projektu i gotowość do dostosowywania


się do zmian, a jednocześnie spełnić oczekiwania co do
określonych etapów projektu.

*** Scrum jest metodyką, która nie definiuje określonego


harmonogramu z góry, a raczej dostosowuje się do potrzeb
projektu podczas trwania prac. Scrum promuje elastyczność i
dostosowywanie się do zmian, co oznacza, że nie można z góry
ustalić, ile dokładnie czasu zajmie każda faza projektu.
Harmonogram projektu
Inicjacja (2 tygodnie)

Faza • Przygotowanie i zatwierdzenie projektu, w tym


ustalenie celów i zaakceptowanie zakresu projektu.

• Ustalenie ról i odpowiedzialności w zespole


1 projektowym.
Harmonogram projektu
Planowanie I zbieranie wymagań
(3 tygodnie)
Faza • Określenie wymagań projektu w oparciu o
spotkania z interesariuszami (KAM, account
2 manager, CEO).

• Przygotowanie backlogu produktu i sprecyzowanie


epik oraz user stories.

• Określenie harmonogramu projektu i alokacja


zasobów.
Harmonogram projektu
Implementacja I testy
8 tygodni (4 sprinty po 2 tygodnie)
Faza • Realizacja sprintów, w których rozwijane są kolejne
funkcje systemu CRM.

3 • Testy jednostkowe i integracyjne.

• Ocena jakości i dostarczonych funkcji na każdym


zakończonym sprincie.
Harmonogram projektu
Integracja i Akceptacja
4 tygodnie
Faza • Przygotowanie i testy integracji systemu CRM z
SAPem i Workday.

4 • Przegląd systemu z klientem (KAM, CEO) i


dostosowania.

• Testy akceptacyjne i poprawki.


Harmonogram projektu
Wdrożenie i Szkolenie
3 tygodnie
Faza • Przygotowanie środowiska produkcyjnego.
• Wdrożenie systemu CRM w środowisku
produkcyjnym.
5 • Przeszkolenie użytkowników systemu CRM.
• Przygotowanie dokumentacji.
Harmonogram projektu
Odbiór końcowy i zamknięcie projektu

Faza 2 tygodnie

• Przegląd końcowy z klientem i zespołem.


• Ostateczne dostosowania i poprawki.
6 • Ocena projektu i retrospektywa.
• Przekazanie projektu do utrzymania i wsparcia
(Product Ownerzy).
Harmonogram projektu

To ogólny harmonogram, który zakłada, że każdy sprint


trwa 2 tygodnie. Można dostosować liczbę sprintów w
Agile zależności od potrzeb i tempa pracy zespołu.

Ważne jest, aby stale komunikować się z klientem i


dostosowywać harmonogram do jego oczekiwań i
zmieniających się priorytetów.
Pojęcia
Klasa Interface
W kontekście programowania, Interface to kontrakt, który Atrybuty Klasy I Metody
klasa jest szablonem, który definiuje zestaw metod, które klasa Atrybuty to metadane, które
definiuje cechy i zachowanie musi dostarczyć. dostarczają informacje o klasie lub
obiektów. metodzie.

Metoda Unit Test Konstruktor


Metoda to funkcja lub procedura, która Test jednostkowy to testowanie Kto specjalna metoda, która inicjalizuje
wykonuje określone działania dla danej pojedynczych komponentów (np. Klas, nowo utworzony obiekt.
klasy. metod) w izolacji, aby sprawdzić, czy
działają poprawnie.
Ciekawostki Szwajcaria
Opis 1. `import random`: Importuje moduł
`random` do generowania losowych liczb
Ten prosty program Python to i wyboru losowych elementów z listy.
kalkulator, który losowo wybiera i 2.`facts`: Lista ciekawostek o Szwajcarii,
wyświetla ciekawostki o Szwajcarii. gdzie każdy element to ciąg znaków z
Program jest napisany w języku Python jedną ciekawostką (klasa).
3.`random_fact`: Zmienna
i umożliwia użytkownikowi pozyskanie
przechowująca losową ciekawostkę
ciekawych informacji o tym kraju. wybraną z listy `facts` za pomocą funkcji
`random.choice` (metoda).
4. `print ("Ciekawostka o Szwajcarii:")`:
Jak używać? Wyświetla komunikat informujący o
wyświetleniu ciekawostki o Szwajcarii.
• Uruchom plik ciekawostki.py w 5. `print(random_fact)`: Wyświetla
swoim środowisku Python. wybraną losowo ciekawostkę o Szwajcarii
• Program losowo wybierze jedną z na ekranie.
ciekawostek o Szwajcarii.
• Wyświetli wybraną ciekawostkę na
ekranie. Download Repozytorium
Review kodu
1. Ogólny Cel:
Kod spełnia swoje podstawowe zadanie - wybiera losową ciekawostkę z dostępnej listy i wyświetla ją na ekranie. Jest to proste i
zrozumiałe zadanie.
2. Czytelność i Konwencje:
Kod jest napisany w sposób czytelny i przestrzega konwencji nazewniczych. Wcięcia i formatowanie są poprawne, co ułatwia
zrozumienie kodu.
3. Brak Dokumentacji:
Jednym z obszarów, który wymaga uwagi, jest brak dokumentacji w kodzie. Brakuje komentarzy lub docstringów, które
opisywałyby działanie kodu i jego składniki. Dodanie dokumentacji znacznie ułatwiłoby zrozumienie kodu dla innych
programistów.
4. Testy Jednostkowe:
W kodzie brakuje testów jednostkowych. Dodanie testów byłoby korzystne, aby sprawdzić, czy funkcje działają zgodnie z
oczekiwaniami. Testy pomogłyby również w zachowaniu jakości kodu podczas ewentualnych zmian.
5. Elastyczność i Rozwój:
Kod jest prosty i spełnia obecne wymagania, ale warto rozważyć, jak można go rozwinąć w przyszłości. Na przykład, można by
dodać funkcje do dodawania nowych ciekawostek do listy lub udostępniania ciekawostek w inny sposób.
Podsumowanie:
Ten kod stanowi solidną podstawę do prezentacji ciekawostek o Szwajcarii. Jest czytelny i spełnia swoje podstawowe zadanie.
Warto dodać dokumentację oraz napisać testy jednostkowe, co zwiększy jakość kodu. To także dobry punkt wyjścia do
ewentualnych rozszerzeń i rozwinięć w przyszłości.

You might also like