Programowanie Ekstremalne – wprowadzenie

reklamy

Ten rozdział zawiera przegląd programowania ekstremalnego.

Co To jest Agile?

słowo „zwinny” oznacza −

  • zdolny do szybkiego i łatwego poruszania ciałem.

  • potrafi myśleć szybko i jasno.,

w biznesie, „zwinny” jest używany do opisywania sposobów planowania i wykonywania pracy, w którym rozumie się, że wprowadzanie zmian w razie potrzeby jest ważną częścią pracy. Biznes „agililty” oznacza, że firma jest zawsze w stanie uwzględnić zmiany rynkowe.

Ref: Cambridge słowniki online.

w tworzeniu oprogramowania termin „zwinny” jest dostosowany do ” zdolności reagowania na zmiany − zmiany związane z wymaganiami, technologią i ludźmi.,”

Manifest Agile

w 2001 roku zespół programistów opublikował Manifest Agile, podkreślający znaczenie zespołu programistów, uwzględniający zmieniające się wymagania i zaangażowanie klientów.

Manifest Agile stwierdza, że −

odkrywamy lepsze sposoby tworzenia oprogramowania, robiąc to i pomagając innym. Dzięki tej pracy osiągnęliśmy wartość –

  • jednostki i interakcje nad procesami i narzędziami.

  • oprogramowanie pracujące nad obszerną dokumentacją.,

  • współpraca z klientem przy negocjowaniu umów.

oznacza to, że o ile w elementach po prawej stronie znajduje się wartość, to wartościujemy elementy po lewej stronie bardziej.

charakterystyka zwinności

poniżej przedstawiono charakterystykę zwinności −

  • zwinność w tworzeniu zwinnego oprogramowania koncentruje się na kulturze całego zespołu z Wielobranżowymi, wielofunkcyjnymi zespołami, które są wzmocnione i samozorganizowane.

  • sprzyja współodpowiedzialności i odpowiedzialności.,

  • ułatwia skuteczną komunikację i ciągłą współpracę.

  • podejście całego zespołu pozwala uniknąć opóźnień i czasu oczekiwania.

  • częste i ciągłe dostawy zapewniają szybką informację zwrotną, która z kolei umożliwia zespołowi dostosowanie się do wymagań.

  • Współpraca ułatwia łączenie różnych perspektyw w czasie wdrażania, naprawianie usterek i dostosowywanie zmian.

  • postęp jest stały, trwały i przewidywalny.,

Trendy Inżynierii Oprogramowania

w inżynierii oprogramowania obserwuje się następujące trendy −

  • gromadzą wymagania przed rozpoczęciem rozwoju. Jeśli jednak wymagania mają zostać zmienione później, to zwykle obserwuje się następujące −

    • odporność na zmiany na późniejszym etapie rozwoju.

    • istnieje wymóg rygorystycznego procesu zmian, który obejmuje tablicę kontrolną zmian, która może nawet przesunąć zmiany do późniejszych wydań.,

    • dostawa produktu o przestarzałych wymaganiach, nie spełniającego oczekiwań klienta.

  • wykrywanie i eliminowanie wad na wczesnym etapie cyklu rozwoju, aby obniżyć koszty naprawy usterek.

    • testowanie rozpoczyna się dopiero po zakończeniu kodowania, a testowanie jest uważane za odpowiedzialność testera, chociaż tester nie jest zaangażowany w rozwój.

    • Zmierz i śledź sam proces., Staje się to kosztowne z powodu −

    • monitorowania i śledzenia na poziomie zadań i zasobów.

    • Definiowanie pomiarów kierujących rozwojem i mierzenie każdej aktywności w rozwoju.

    • interwencja zarządcza.

  • opracowuj, analizuj i weryfikuj modele przed ich rozwojem.

    • model ma być używany jako framework. Jednak skupienie się na modelu, a nie na rozwoju, który jest kluczowy, nie przyniesie oczekiwanych rezultatów.,

  • kodowanie, które jest sercem rozwoju, nie jest wystarczająco podkreślone. Powody są takie-

    • deweloperzy, którzy są odpowiedzialni za produkcję, zazwyczaj nie są w ciągłej komunikacji z klientami.

    • kodowanie jest postrzegane jako tłumaczenie projektu, a skuteczna implementacja w kodzie prawie nigdy nie jest zapętlona z powrotem do projektu.

  • testowanie jest uważane za bramę do sprawdzenia wad przed dostawą.,

    • powoduje to przekroczenie kosztów naprawy wad po dostawie.

    • testerzy są odpowiedzialni I odpowiedzialni za jakość produktu, chociaż nie byli zaangażowani w cały proces rozwoju.

  • ograniczanie zasobów (głównie zespołu) w celu dostosowania budżetu prowadzi do −

    • zasobów nad alokacją

    • wypalenie zespołu.,

    • utrata efektywnego wykorzystania kompetencji zespołu.

  • Programowanie Ekstremalne − sposób radzenia sobie z powszechnymi niedociągnięciami

    Inżynieria oprogramowania obejmuje −

    • kreatywność

    • Nauka i doskonalenie poprzez próby i błędy

    • iteracje

    Programowanie Ekstremalne opiera się na tych czynnościach i kodowaniu. Jest to Szczegółowe (nie jedyne) działanie projektowe z wieloma ciasnymi pętlami sprzężenia zwrotnego poprzez skuteczne wdrażanie, Testowanie i refaktoryzację w sposób ciągły.,

    Programowanie Ekstremalne opiera się na następujących wartościach −

    • Komunikacja

    • prostota

    • Feedback

    • Odwaga

    • szacunek

    Co to jest programowanie Ekstremalne?

    XP to lekki, wydajny, mało ryzykowny, elastyczny, przewidywalny, naukowy i zabawny sposób tworzenia oprogramowania.

    eXtreme Programming (XP) zostało stworzone i opracowane, aby sprostać specyficznym potrzebom tworzenia oprogramowania przez małe zespoły w obliczu niejasnych i zmieniających się wymagań.,

    Extreme Programming jest jedną z metod programowania zwinnego. Zapewnia wartości i zasady, które kierują zachowaniem zespołu. Zespół ma się samoorganizować. Programowanie ekstremalne dostarcza konkretnych podstawowych praktyk, w których −

    • każda praktyka jest prosta i samo-kompletna.

    • połączenie praktyk powoduje bardziej złożone i wschodzące zachowanie.

    Zmiana

    kluczowym założeniem programowania ekstremalnego jest to, że koszt zmiany programu może być utrzymywany głównie na stałym poziomie w czasie.,>Można to osiągnąć dzięki −

    • nacisk na ciągłe informacje zwrotne od klienta

    • krótkie iteracje

    • Projektowanie i redesign

    • częste kodowanie i testowanie

    • wczesne eliminowanie defektów, co zmniejsza koszty

    • utrzymywanie zaangażowania klienta w całym procesie rozwoju

      p>

    • dostarczenie działającego produktu do klienta

    programowanie ekstremalne w skrócie

    programowanie ekstremalne polega na −

    • pisaniu testów jednostkowych przed zaprogramowaniem i utrzymywaniu wszystkich testów przez cały czas., Testy jednostkowe są zautomatyzowane i wcześnie eliminują usterki, zmniejszając w ten sposób koszty.

    • zaczynając od prostego projektu, wystarczającego do zakodowania dostępnych funkcji i przeprojektowania w razie potrzeby.

    • Programowanie w parach (zwane programowaniem w parach), z dwoma programistami na jednym ekranie, na zmianę używającymi klawiatury. Podczas gdy jeden z nich jest przy klawiaturze, drugi stale przegląda i dostarcza dane wejściowe.

    • integrowanie i testowanie całego systemu kilka razy dziennie.,

    • wprowadzenie minimalnego systemu roboczego do produkcji szybko i modernizacja go w razie potrzeby.

    • ciągłe angażowanie klienta i uzyskiwanie stałej informacji zwrotnej.

    iteracja ułatwia dostosowywanie zmian w miarę rozwoju oprogramowania wraz ze zmieniającymi się wymaganiami.

    dlaczego nazywa się „Extreme?”

    Programowanie Ekstremalne przenosi skuteczne zasady i praktyki na ekstremalne poziomy.

    • recenzje kodu są skuteczne, ponieważ kod jest sprawdzany przez cały czas.,

    • testowanie jest skuteczne, ponieważ istnieje ciągła regresja i testowanie.

    • projektowanie jest skuteczne, ponieważ każdy musi codziennie wykonywać refaktoryzację.

    • testowanie integracji jest ważne, ponieważ integruje się i testuje kilka razy dziennie.

    • krótkie iteracje są skuteczne jako gra planowa do planowania wydań i planowania iteracji.

    Historia programowania ekstremalnego

    Kent Beck, Ward Cunningham i Ron Jeffries sformułowali programowanie ekstremalne w 1999 roku. Pozostali współpracownicy to Robert Martin i Martin Fowler.,

    W połowie lat 80.Kent Beck i Ward Cunningham rozpoczęli Programowanie par w Tektronix. W latach 80. i 90. Kultura Smalltalk produkowała Refaktoryzację, ciągłą integrację, ciągłe testowanie i bliskie zaangażowanie klientów. Kultura ta została później uogólniona na inne środowiska.

    na początku lat 90.Podstawowe wartości zostały opracowane w ramach społeczności Patterns, Hillside Group. W 1995 roku Kent podsumował je w Smalltalk Best Practices, a w 1996 roku Ward podsumował je w odcinkach.

    w 1996 roku Kent dodał testy jednostkowe i metafory w Hewitt., W 1996 roku Kent przejął projekt Chryslera C3, do którego jako trener dołączył Ron Jeffries. Praktyki zostały dopracowane na C3 i opublikowane na Wiki.

    praktyki Scrum zostały włączone i zaadaptowane jako gra planszowa. W 1999 roku Kent opublikował swoją książkę „Extreme Programming Explained”. W tym samym roku Fowler opublikował swoją książkę refaktoring.

    Programowanie Ekstremalne ewoluuje od tego czasu, a ewolucja trwa do dziś.

    sukces w branży

    sukces projektów, które podążają za ekstremalnymi praktykami programistycznymi, zawdzięczamy −

    • szybkiemu rozwojowi.,

    • natychmiastowa reakcja na zmieniające się wymagania klienta.

    • System zwracający klientowi stałą i spójną wartość.

    • wysokie zadowolenie klienta.

    • obniżone koszty.

    • spójność zespołu i zadowolenie pracowników.

    Extreme Programming Advantages

    Extreme Programming rozwiązuje następujące problemy często napotykane w projektach programistycznych −

    • poślizg harmonogramów − a osiągalne cykle programistyczne zapewniają terminowość dostaw.,

    • anulowane projekty − skupienie się na ciągłym zaangażowaniu klienta zapewnia przejrzystość z klientem i natychmiastowe rozwiązywanie wszelkich problemów.

    • koszty związane ze zmianami − rozbudowane i trwające testy sprawiają, że zmiany nie łamią istniejącej funkcjonalności. Działający system zawsze zapewnia wystarczającą ilość czasu na dostosowanie zmian, tak aby nie wpływały na bieżące operacje.

    • wady produkcyjne i po dostawie: nacisk kładziony jest na-testy jednostkowe, aby wcześnie wykryć i naprawić wady.,

    • zmiany w biznesie-zmiany są uważane za nieuniknione i są uwzględniane w dowolnym momencie.

    • rotacja pracowników − intensywna współpraca w zespole zapewnia entuzjazm i dobrą wolę. Spójność wielobranżowych dyscyplin sprzyja zespołowemu duchowi.

    Dodaj komentarz

    Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *