• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Metody zwinne



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    Test-driven development (TDD) jest techniką tworzenia oprogramowania zaliczaną do metodyk zwinnych (Agile). Pierwotnie była częścią programowania ekstremalnego (ang. extreme programming), lecz obecnie stanowi samodzielną technikę. Polega na wielokrotnym powtarzaniu kilku kroków:Lean (Lean Software Development) – "Odchudzone" czy inaczej "wyszczuplone" zarządzanie (ang. lean management) nosi nazwę amerykańską, jednak rodowód jest w całości japoński. Odchudzone zarządzanie ma swe źródło w koncepcji odchudzonej produkcji (ang. Lean production), która została wymyślona i po raz pierwszy zastosowana w japońskim koncernie samochodowym Toyota, przez szefa produkcji tego koncernu Taiichi Ohno. Ta bardzo popularna koncepcja znalazła swoje zastosowanie także przy produkcji oprogramowania, znana jest pod nazwą Lean Software Development, a została zaadoptowana przez Mary Poppendieck i Toma Poppendiecka. W szczupłym wytwarzaniu oprogramowania wyróżnia się 7 zasad wspomaganych przez 22 narzędzia.

    Programowanie zwinne (ang. agile software development) – grupa metod wytwarzania oprogramowania opartego na programowaniu iteracyjno-przyrostowym, powstałe jako alternatywa do tradycyjnych metod typu waterfall. Najważniejszym założeniem metodyk zwinnych jest obserwacja, że wymagania odbiorcy (klienta) często ewoluują podczas trwania projektu. Oprogramowanie wytwarzane jest przy współpracy samozarządzalnych zespołów, których celem jest przeprowadzanie procesów wytwarzania oprogramowania. Pojęcie zwinnego programowania zostało zaproponowane w 2001 w Agile Manifesto.

    Scrum - iteracyjna i inkrementalna metodyka prowadzenia projektów, zaliczana do metodyk zwinnych, zgodnych z manifestem Agile. W metodyce tej rozwój produktu podzielony jest na mniejsze, trwające od tygodnia do miesiąca, iteracje zwane sprintami następującymi bezpośrednio po sobie. Po każdym sprincie zespół pracujący nad rozwojem produktu jest w stanie dostarczyć działającą wersję produktu. Scrum jest często stosowany podczas tworzenia i rozwijania oprogramowania, nie jest jednak ograniczony tylko do tej dziedziny. Ogólne założenia metodyki zostały zaprezentowane przez Hirotaka Takeuchi i Ikujiro Nonaka w artykule The New Product Development Game, opublikowanym w Harvard Business Review w styczniu 1986 roku. Pełna metodyka oraz definicja została sformalizowana przez Kena Schwabera w 1986.Model przyrostowy (realizacja przyrostowa, ang. incremental development) – jedna z technik pisania oprogramowania, stosowany w przypadkach, w których dopuszczalna jest okrojona funkcjonalność systemu.

    Generalnie grupa metodyk oparta jest na zdyscyplinowanym zarządzaniu procesem produkcji oprogramowania, które zakłada częste inspekcje wymagań i rozwiązań wraz z procesami adaptacji (zarówno specyfikacji jak i oprogramowania). Najczęściej znajdują zastosowanie w małych zespołach programistycznych, w których nie występuje problem komunikacji, przez co nie trzeba tworzyć rozbudowanej dokumentacji kodu. Kolejne etapy wytwarzania oprogramowania zamknięte są w iteracjach, w których za każdym razem przeprowadza się testowanie wytworzonego kodu, zebranie wymagań, planowanie rozwiązań itd. Nastawione są na szybkie wytwarzanie oprogramowania wysokiej jakości.

    Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców. Manifest Agile (pełna nazwa Manifest Zwinnego Wytwarzania Oprogramowania, oryginalne nazwy: Agile Manifesto, Manifesto for Agile Software Development) – deklaracja wspólnych zasad dla zwinnych metodyk tworzenia oprogramowania. Została opracowana na spotkaniu jakie miało miejsce w dniach 11-13 lutego 2001 roku w ośrodku wypoczynkowym Snowbird w USA (stan Utah). Uczestniczyli w nim reprezentanci nowych metodyk tworzenia oprogramowania będących alternatywą dla tradycyjnego podejścia opartego na modelu kaskadowym. Do wspomnianych metodyk należą: programowanie ekstremalne, scrum, Dynamic Systems Development Method, Adaptive Software Development, Crystal Clear, Feature Driven Development, Pragmatic Programming. Od nazwy manifestu metodyki te zaczęto określać mianem metodyk zwinnych (ang. agile).

    Skład zespołów jest zazwyczaj wielofunkcyjny oraz samozarządzalny, bez zastosowania jakiejkolwiek hierarchii organizacyjnej. Członkowie zespołu biorą odpowiedzialność za zadania postawione w każdej iteracji. Sami decydują jak osiągnąć postawione cele.

    Metodyki zwinne dużą wagę przywiązują do bezpośredniej komunikacji między członkami zespołu, minimalizując potrzebę tworzenia dokumentacji. Jeśli członkowie zespołu są w różnych lokalizacjach, to planuje się codzienne kontakty za pośrednictwem dostępnych kanałów komunikacji (wideokonferencja, e-mail itp.).

    Częstym błędem występującym u osób i zespołów stosujących metodykę agile jest nadinterpretacja jej założeń i całkowicie błędne pomijanie bardzo ważnych etapów projektu tj. fazy zbierania wymagań, a następnie na ich podstawie faz analizy oraz planowania.

    Biblioteka Narodowa Francji (fr. Bibliothèque nationale de France, BnF) – francuska biblioteka narodowa, znajdująca się w Paryżu. Przewidziana jest jako repozytorium dla wszystkich materiałów bibliotecznych, wydawanych we Francji. Obecnym dyrektorem Biblioteki jest Bruno Racine.Iteracyjny model kaskadowy (ang. waterfall model) – jeden z kilku rodzajów procesów tworzenia oprogramowania zdefiniowany w inżynierii oprogramowania. Jego nazwa wprowadzona została przez Winstona W. Royce w roku 1970, w artykule "Managing the Development of Large Software Systems" (zarządzanie tworzeniem dużych systemów informatycznych).

    Metodyki zwinne sprawdzają się bardzo dobrze gdy wykorzystują je osoby oraz zespoły potrafiące dobrze ustrukturyzować swoją pracę nad danym projektem oraz jego poszczególnymi zadaniami w oparciu o „etapy” programowania zwinnego. Wynika to z faktu, iż jest ona mniej sformalizowana przez co większy ciężar dbania o organizację i systematykę pracy spoczywa na osobach bezpośrednio realizujących poszczególne zadania. W przypadku osób i zespołów o „chaotycznym/niezorganizowanym” podejściu nie potrafiących ustrukturyzować swojej pracy, zalecane jest korzystanie ze sformalizowanych metod programowania. Metodyki te przejmują na siebie większy ciężar szczegółowego strukturyzowania zadań w projekcie i tym samym pozwalają zapewnić większą kontrolę nad spójną realizacją poszczególnych elementów projektu.

    SUDOC (fr. Système Universitaire de Documentation, pol. Uniwersytecki System Dokumentacji) – centralny katalog informacji bibliograficznej francuskiego szkolnictwa wyższego.Wideokonferencja – interaktywna komunikacja multimedialna, realizowana zazwyczaj za pomocą komputerów desktopowych, polegająca na przesyłaniu z dużą prędkością obrazu oraz dźwięku w czasie rzeczywistym pomiędzy odległymi lokalizacjami. Osoby posiadające sprzęt umożliwiający wykorzystywanie wideokonferencji mogą między sobą rozmawiać i jednocześnie widzieć się nawzajem.

    Etapy[ | edytuj kod]

    Przy realizacji zadań w projektach w oparciu o metodykę programowania zwinnego wyróżnia się następujące po sobie etapy:

  • plan (planowanie)
  • design (projektowanie)
  • develop (programowanie)
  • test (testowanie)
  • release (implementacja)
  • feedback (informacja zwrotna)
  • Powyższe etapy tworzą cykl powtarzany do czasu zakończenia danego zadania. Bardzo ważne jest zaznaczenie, iż kolejne cykle mają służyć ewentualnemu skorygowaniu przygotowanego zadania na bazie informacji klienta lub elastycznemu wprowadzaniu ewentualnych zmian wymagań ze strony klienta jeżeli takie się pojawiły w formie informacji zwrotnej (feedback). Kolejne cykle nie mają natomiast na celu – jak błędnie przyjmuje część „chaotycznych / niezorganizowanych” osób lub zespołów – nieskończone poprawianie błędów danego zadania wynikających z pominięcia lub niedokładnego przeprowadzenia etapu Planowania w tym zbierania i analizy wymagań od klienta.

    Feature Driven Development (FDD) to metodyka programowania należąca do grupy metodyk zwinnych inżynierii oprogramowania (z których najbardziej znaną jest Programowanie ekstremalne). Jej głównymi celami jest umożliwienie wytwarzania użytecznego oprogramowania w powtarzalny i efektywny sposób, zapewniając wiarygodne informacje o stanie projektu informatycznego do wszystkich jego uczestników, z minimalnym narzutem na pracę programistyczną.Poczta elektroniczna lub krótko e-poczta, (ang. electronic mail krótko e-mail) – usługa internetowa, w nomenklaturze prawnej określana zwrotem świadczenie usług drogą elektroniczną, służąca do przesyłania wiadomości tekstowych, tzw. listów elektronicznych – stąd zwyczajowa nazwa tej usługi.

    Poszczególne etapy można opisać następująco:

    Planowanie – zbieranie dokładnych wymagań od klienta dotyczących danego zadania, ich analiza oraz zaplanowanie kroków koniecznych do realizacji danego zadania w oparciu o pozyskane informacje. To bardzo ważny etap mający kluczowe znaczenie dla czasu i jakości realizowanego zadania dlatego nigdy nie powinien być pomijany (jak zresztą wszystkie pozostałe etapy). Etap ten wymaga bezpośredniego kontaktu z klientem, a co za tym idzie umiejętności dobrej komunikacji i zrozumienia drugiej osoby. Etap ten jest czasem pomijany przez osoby i zespoły nie posiadające umiejętności komunikacji, odczuwające niechęć do komunikacji lub obawiające się komunikacji z klientem. Takie osoby lub zespoły nie powinny korzystać z metodyki agile lecz skorzystać z bardziej sformalizowanych metod i/lub z dedykowanych do tego etapu analityków, którzy będą odpowiedzialni za dokładne zebranie wymagań i ich analizę.

    Hiszpańska Biblioteka Narodowa (Biblioteca Nacional de España) – największa biblioteka w Hiszpanii i jedną z największych na świecie. Znajduje się w Madrycie, a dokładnie przy Paseo de Recoletos. Gemeinsame Normdatei (GND) – kartoteka wzorcowa, stanowiąca element centralnego katalogu Niemieckiej Biblioteki Narodowej (DNB), utrzymywanego wspólnie przez niemieckie i austriackie sieci biblioteczne.

    Projektowanie – projektowanie wykonania danego elementu będącego celem zadania na bazie informacji zebranych na etapie planowania. Można to porównać do wykonania projektu elementu domu przez architekta przed przystąpieniem do prac nad nim przez ekipę budowlaną. Ten etap jest również czasem pomijany przez osoby lub zespoły, które mylnie rozumieją fazę projektowania jako wykonywanie dokumentacji powykonawczej, uznając ją w związku z tym za zbędną.

    Programowanie ekstremalne (ang. eXtreme Programming, XP) - to paradygmat i metodyka programowania mające na celu wydajne tworzenie małych i średnich "projektów wysokiego ryzyka", czyli takich, w których nie wiadomo do końca, co się tak naprawdę robi i jak to prawidłowo zrobić. Przyświeca temu koncepcja prowadzenia projektu informatycznego, wywodząca się z obserwacji innych projektów, które odniosły sukces.

    Programowanie – właściwy etap prac nad danym zadaniem na bazie przygotowanego projektu zadania.

    Testowanie – testowanie danego elementu będącego podmiotem zadania od strony technicznej przez osobę lub zespół wykonujący dane zadanie oraz od strony klienta (User Acceptance Test) czy dany element jest tym czego klient oczekiwał.

    Implementacja – po pozytywnych wynikach testów zarówno technicznych jak i klienckich (akceptacji przez klienta) przekazanie danego elementu projektu na „produkcję” do finalnego użytkowania przez klienta.

    Informacja zwrotna – przekazanie informacji zwrotnej przez klienta do osoby lub zespołu realizującego dane zadanie w projekcie odnośnie ewentualnych mniejszych błędów, których nie wykryto podczas testów, zgłaszanie potencjalnych usprawnień do realizacji w kolejnych cyklach lub zgłoszenie zmiany wymagań klienta. Mając na myśli zmianę wymagań mówimy o rzeczywistej zmianie wymagań - wynikłej np. ze zmiany procesów lub potrzeb klienta - nie natomiast jak zaznaczono wcześniej o zmianie wynikającej z pominięcia lub niedokładnego przeprowadzenia etapu Planowania (niepozyskanie od klienta dokładnej specyfikacji, brak zrozumienia oczekiwań klienta, praca na niepełnej informacji, brak kontaktu z klientem, budowanie zadania w oparciu o własne domysły i uznanie bez kontaktu z klientem).

    Podstrony: 1 [2] [3]




    Reklama

    Czas generowania strony: 0.016 sek.