Programowanie ekstremalne (XP) -

Umieszczone pod koniec XX wieku koncepcje rozwoju oprogramowania i programowania uległy znacznej zmianie w sposobie i podejściu do całego schematu. Rosnące i bardziej zbliżone do nas wielkości pakietów zostały zastosowane i opracowano przejrzyste, ujednolicone modele, aby wprowadzić zmiany w sposobie tworzenia oprogramowania komputerowego. Wraz ze wzrostem zapotrzebowania na wydajne systemy trzeba było zmniejszyć marnotrawstwo, a tym samym narodziła się era metodologii wydajnego tworzenia oprogramowania. Programowanie proceduralne zostało wkrótce zastąpione programowaniem obiektowym, a model wodospadu ustąpił miejsca Agile, aby przejąć inicjatywę. Japońskie ramy kontroli jakości wkrótce nabrały rozpędu, a następnie pojawiła się koncepcja czegoś, co wcześniej było używane w drobiazgach, ale które teraz było pełnowartościową metodologią rozwiązywania problemów związanych z programowaniem i programowaniem, Extreme Programming!

Co to jest programowanie ekstremalne (XP)?

Dzięki znacznej liczbie zmian, które ujrzały światło dzienne od klientów, programowanie ekstremalne (XP) przyniosło ulgę w organizowaniu projektów realizowanych przez specjalistów od oprogramowania.

Wdrożenie ekstremalnego programowania poprawiło jakość oprogramowania i bardziej efektywnie reagowało na zmieniające się wymagania biznesu, spowodowane skalowaniem przedsiębiorstw lub czynnikami zewnętrznymi.

XP to metodologia, pod parasolem Agile, która zachęca do częstych wydań wersji w krótkich cyklach programistycznych. To nieuchronnie zwiększyłoby produktywność w znacznym stopniu, a częste publikacje utorowałyby drogę do włączenia nowszych wymagań.

Extreme Programming (XP) ma „satysfakcję klienta” w sercu swojej struktury i „pracę zespołową” jako siłę mięśni. Współpraca jest niezbędna, aby programowanie ekstremalne (XP) odniosło sukces, ponieważ wykonuje iteracyjne kroki w kierunku tworzenia oprogramowania dla klientów / klientów. Nie koncentruje się na dostarczeniu całego pasa, ale sprawdza, czy potrzeby klienta są zaspokajane na każdym etapie po drodze.

Część Agile Software Development

Zwinne tworzenie oprogramowania to sposób, w jaki się go rozwija, ale co najważniejsze, większość ludzi zapomina o tym, że zespoły, czyli ludzie, muszą być zwinne, aby odniosły sukces. Wdrożenie metod i procesów zapewnia tylko, że istnieje stała struktura, w której zespoły mogą być elastyczne, skalowalne i bardziej konkretnie kreatywne.

Dzięki koncepcjom iteracji i sprintów, podobnie jak w przypadku Scruma, Agile stanowi doskonałą platformę do wprowadzania zmian i informacji zwrotnych w każdym mijającym cyklu rozwojowym.

Jeśli chodzi o programowanie ekstremalne (XP), bierze ono pod uwagę wszystkie możliwości, które mogą spowodować udoskonalenia produktu na końcu.

Tradycyjny rozwój a programowanie ekstremalne (XP)

  • Podczas gdy tradycyjny rozwój koncentruje się na procesie i bierze to pod uwagę, gdy dochodzi do zakończenia cyklu, ekstremalne programowanie koncentruje się na wymaganiach.
  • Extreme Programming (XP) wykorzystuje najlepsze praktyki zainstalowane w tradycyjnym rozwoju i doprowadza je do ekstremalnych granic. Rozciąganie przeprowadzone przy użyciu programowania ekstremalnego (XP) jest idealne dla elastycznych i elastycznych projektów.
  • Tradycyjny rozwój ma segmentację jako czynnik poprzedzający cykle tworzenia oprogramowania, podczas gdy programowanie ekstremalne (XP) zaleca współpracę między zespołami, a także zainteresowanymi stronami, za ich stałą informację zwrotną i opinie podczas iteracji i etapów planowania.

5 wartości dla udanego projektu

Programowanie ekstremalne (XP) obejmuje 5 podstawowych sposobów lub wartości zmierzających do udanego projektu oprogramowania:

  1. Komunikacja - Ta metodologia opracowywania oprogramowania zasadniczo wymaga ścisłej komunikacji między menedżerami, klientami / klientami i programistami. Ta skuteczna komunikacja jest potrzebna do sprawnego funkcjonowania projektu oprogramowania, a inne narzędzia zarządzania projektami są również wdrażane w ramach komunikacji, aby mogły ułatwić komunikację w dalszym ciągu cyklu życia projektu.
  2. Odwaga - przy dramatycznych zmianach wymagań klientów, programiści muszą odważnie podjąć wyzwania, które pojawiają się w ostatniej chwili lub zaprzeczają zmianom wprowadzonym w projekcie w dowolnym momencie.
  3. Sprzężenie zwrotne - Sprzężenie zwrotne jest wdrażane poprzez ciągłe testowanie jednostkowe, a wyniki są oceniane i odpowiednio wdrażane w ramach cykli rozwoju projektu. Klienci są trzymani w zamknięciu, a demo jest prezentowane, gdy tylko cykl rozwojowy zostanie zakończony, aby można było uwzględnić informacje zwrotne.
  4. Szacunek - Każdy cykl rozwoju przynosi sukces z nowym kamieniem milowym i stanowi jedynie przykład wkładu w podjęte cykle.
  5. Prostota - programowanie ekstremalne (XP) jest najbardziej wydajne, gdy projekt jest prosty, a wdrożenie zaplanowane w jasny i skuteczny sposób. Wiele ekstremalnych programów opiera się na prostych zasadach, które ma na swoim miejscu.

Cykle planowania i informacji zwrotnych

Współpraca w zespole i codzienne połączenie z biznesem w celu zoptymalizowania rozwoju produktu stanowią podstawę programowania ekstremalnego (XP), podczas gdy historie użytkowników stanowią podstawę planowania XP. Te historie użytkowników są zapisywane na kartach. Manipulowanie tymi kartami może ożywić zakres projektu i plan.

Te plany XP są tworzone na trzech poziomach lub poziomach.

  • Przyszłe miesiące
  • Następna iteracja
  • Aktualna iteracja

Plany są zawsze tymczasowe, a odtworzenie planów należy wykonać przed końcem ostatniego planu. Zmieniają się wraz z niewielką zmianą projektu lub harmonogramu. Iteracja rozpoczyna się w momencie napotkania zmiany. Otrzymujesz informacje zwrotne od klienta, ponownie przeglądasz swój plan. Stajesz przed lub za harmonogramem, ponownie odwiedzasz i zmieniasz swój plan.

Poprzez planowanie wchodzi w życie najodpowiedniejsze projekty dostarczanego produktu. W odniesieniu do programowania ekstremalnego (XP) do efektywnego i wydajnego projektowania stosuje się programowanie oparte na testach (TDD) i refaktoryzację.

Mając już istotę Agile, refaktoryzacja staje się ważnym i kluczowym narzędziem projektowym zaangażowanym w proces planowania. Refaktoryzacja obejmuje dokonywanie zmian projektowych i dostosowań zgodnie z potrzebami, które zostały zmienione. Wraz z refaktoryzacją pojawia się koncepcja testowania w jednolity i akceptowalny sposób.

Poniższe kroki zajmują centralne miejsce po wykonaniu pętli planowania lub sprzężenia zwrotnego. Każda akcja tutaj jest iteracyjna i może zostać wykonana kolejno po zainicjowaniu zmiany:

Każdy krok w sekwencji, która jest przeprowadzana, może mieć charakter iteracyjny i może być zapętlony, gdy inicjowana jest sekwencja zmian, a dla każdej inicjacji odtwarzany jest nowy plan. Każdy krok ma również przypisany określony czas trwania, a harmonogram dla pozostałych informacji zwrotnych dla każdego etapu produktu jest nakreślony.

  • Kodowanie do programowania w parach - sekundy
  • Programowanie parowe z testowaniem jednostkowym - minuty
  • Testy jednostkowe do negocjacji pary - godziny
  • Negocjacje parowe ze spotkaniem stand-up - jeden dzień
  • Spotkanie stand-up do testów akceptacyjnych - dni
  • Testy akceptacyjne do planowania iteracyjnego - tygodnie
  • Planowanie iteracji do wydania Planowanie - miesiące

Przy pożądanym poziomie iteracji programiści stają się obowiązkowi zapewnić i upewnić się, że kod jest dobrze posortowany i ma optymalną jakość. Zgłaszanie błędów jest absolutnym zakazem dla programistów stosujących ekstremalną metodologię programowania do tworzenia oprogramowania.

Co to jest programowanie parowe?

Ponieważ głównym źródłem metodologii programowania ekstremalnego są ludzie, a nie procesy, to ludzie kierują koncepcją programowania w parach. Zwiększanie wydajności i jakości do stołu, programowanie parami wygląda mniej więcej tak:

„Kod wysyłany do produkcji jest tworzony przez dwie osoby, które pracują razem nad tworzonym kodem, siedząc na jednym komputerze.”

Korzyści z tej koncepcji programowania par są następujące:

  • Ulepszona jakość oprogramowania - chociaż nie ma żadnej dodatkowej funkcjonalności, gdy dwie osoby siedzą razem lub osobno, koncentracja na jednym komputerze z pewnością podnosi jakość renderowanego kodu
  • Brak wpływu na czas dostarczenia - zapewnienie wygranej sytuacji dla projektu i jego interesariuszy, użycie dwóch funkcjonalnych głowic, aby uzyskać wysokiej jakości kod bez straty czasu, jest świetne do tworzenia oprogramowania
  • Oszczędności na późniejszych etapach - z już renderowanym kodem wysokiej jakości wpływ, jaki wywiera na późniejsze etapy, jest ogromny, a koszty z pewnością są oszczędzane przy każdej przeprowadzanej iteracji

Programowanie parami, ponieważ angażuje dwie odrębne osoby pracujące razem przy równych stołach, niezbędne staje się koordynowanie ich na wyższym poziomie, niezależnie od poziomu doświadczenia. Jest to umiejętność społeczna, której nauka wymaga czasu i wymaga dwóch zaangażowanych profesjonalistów, którzy chcą coś zmienić w świecie tworzenia oprogramowania.

Programowanie w parach zawsze odbywa się przez obszerną i ciągłą integrację wprowadzonych nowych funkcji, a cykl trwa.

Zasady

Chociaż wiemy, że reguły stosowane w świecie programowania ekstremalnego (XP) opierają się na zasadzie i wartości Prostoty, ważne jest, aby mieć dobry pogląd na te reguły, które stanowią doskonałą metodologię w zakresie technik tworzenia oprogramowania.

Planowanie

Podczas planowania kierownik projektu i jego zespół dokładnie sprawdzają wymagania i przestrzegają następujących zasad:

  • Historie użytkowników należy zapisać
  • Planowanie wydania powinno skutkować harmonogramem wydania
  • Projekt podzielony jest na iteracje
  • Wydania muszą być częste, ale niewielkie
  • Planowanie iteracji powinno rozpocząć iterację

Zarządzający

Zarządzanie przydzielonymi zadaniami i czasem trwania poszczególnych zadań jest rolą kierownika projektu. Ważne jest, aby kierownik projektu pamiętał o ryzyku i przestrzeganiu każdego etapu przez członków zespołu oraz odpowiednio sterował siłą roboczą i zasobami, aby zrealizować koncepcję programowania ekstremalnego (XP). Oto niektóre zasady, które muszą przejść przez PM:

  • Zespół powinien otrzymać otwarty obszar roboczy, aby rozwinąć wyobraźnię
  • Przydzielony harmonogram powinien być realistyczny i starannie przemierzany
  • Każdy dzień roboczy powinien rozpoczynać się od spotkania stand-up
  • Współpraca i praca zespołowa są głównymi elementami i wymagają najwyższej zachęty
  • Prędkość projektu należy mierzyć podczas każdej zmiany
  • Ludzie nigdy nie powinni pozostawać w stagnacji i powinni być przenoszeni
  • Sterowanie ekstremalnym programowaniem (XP) jest kwintesencją i planowanie należy inicjować przy każdej okazji do zmiany

Projektowanie

Projektowanie jest etapem, który dokładnie śledzi planowanie i określa sposób, w jaki wymagania są obsługiwane na początkowym etapie projektu. Dobry projekt odzwierciedla proces myślowy i kreatywność oraz wymaga mniejszej liczby iteracji, zapewniając w ten sposób wysoki poziom jakości na samym początku projektu. Będąc odzwierciedleniem etapu planowania, oto kilka zasad, o których należy pamiętać podczas wdrażania projektów w programowaniu ekstremalnym (XP):

  • Prostota jest kluczem
  • Żadna funkcjonalność nie powinna być wprowadzana na wczesnym etapie
  • Refaktoryzacja jest niezbędna na każdym etapie, aby zapewnić wydajne i skuteczne projekty produktów
  • Rozwiązań Spike można użyć do zmniejszenia liczby i intensywności ryzyka związanego z projektem oprogramowania

Kodowanie

Gdy projekt zostanie wdrożony, nadszedł czas, aby zebrać wszystkie ręce na pokład i dać zielone światło dla tworzenia i generowania kodu, który wejdzie do produkcji w celu przetestowania i dostarczenia. Kodowanie jest etapem, który pokazuje faktyczne funkcjonowanie metodologii projektu i zachęca do iteracji w najbardziej efektywny sposób. Oto krótkie zasady, o których należy pamiętać na etapie kodowania:

  • Klient musi być cały czas w pętli podczas wydawania produktu
  • Kod musi być zgodny ze standardami i praktykami kodowania przyjętymi na całym świecie
  • Test jednostkowy powinien być kodem na początek
  • Aby uzyskać wysoką jakość, kod produkcyjny należy poddać programowaniu parami
  • Często integruj kody i powinna być wykonywana przez jedną parę tylko w określonym czasie
  • Należy dzielić się odpowiedzialnością i promować intensywną pracę zespołową
  • Programowanie w parach powinno odbywać się na jednym komputerze
  • Preferowane miejsca siedzące pary powinny znajdować się obok siebie

Testowanie

Gdy kod jest gotowy i ciągle się rozwija, testowanie jest pieczęcią płynnego działania linii kodu. Testowanie formularzy jako pieczęć pieczęci, aby upewnić się, że oprogramowanie jest gotowe do spożycia. Oto zasady wprowadzone do testowania w ramach Extreme Programming (XP):

  • Kod powinien zawierać testy jednostkowe
  • Wersja wymagałaby kodów, aby przejść te testy jednostkowe
  • Testy powinny być tworzone po wykryciu błędów
  • Testy akceptacyjne powinny mieć wysoką częstotliwość, a wyniki powinny być publikowane
  • Użytkownicy nie powinni wykrywać żadnych błędów w kodzie

Kiedy stosować programowanie ekstremalne (XP)?

Programowanie ekstremalne narodziło się z powodu potrzeby obejścia projektu, który wprowadził wiele zmian w wielu zbiegach czasowych. Konieczne stało się, aby przyjęta metodologia była iteracyjna i prosta u podstaw. Oto sytuacje, w których można poprosić o użycie programowania ekstremalnego (XP):

  • Klienci nie mają dobrego pojęcia o funkcjonalności systemu
  • Zmiany są dynamiczne i oczekuje się ich zmiany po krótkich odstępach czasu
  • Biznes gwałtownie rośnie
  • Przydzielone zasoby są absolutnie minimalne; brak ogromnego personelu
  • Potrzebujesz znacznego wzrostu wydajności
  • Ryzyko wymaga wysokiego poziomu łagodzenia
  • Wysokie wymagania dotyczące testowania

Oto więc programowanie ekstremalne (XP) w skrócie i prostych słowach. Metodologia ta odnotowała sukces we wszystkich przedsięwzięciach programistycznych i odniosła wielki sukces w całej swojej historii wdrażania. Zrodzone z normalnych i uproszczonych wymagań programowanie ekstremalne (XP) powoli zyskuje uznanie jako metodologia, z którą należy się liczyć.

Jeśli podoba Ci się koncepcja programowania ekstremalnego (XP), daj temu kciuka do góry. Jeśli Ci się podobało, upewnij się, że dzielisz się i komentujesz swoje opinie.