Agile Data Science - koncepcje metodologiczne
W tym rozdziale skupimy się na koncepcjach cyklu życia oprogramowania zwanego „zwinnym”. Metodologia tworzenia oprogramowania Agile pomaga w tworzeniu oprogramowania poprzez sesje inkrementacyjne w krótkich iteracjach od 1 do 4 tygodni, tak aby rozwój był dostosowany do zmieniających się wymagań biznesowych.
Istnieje 12 zasad, które szczegółowo opisują metodologię Agile -
Zadowolenie klientów
Najwyższy priorytet mają klienci, którzy koncentrują się na wymaganiach poprzez wczesne i ciągłe dostarczanie wartościowego oprogramowania.
Powitanie nowych zmian
Zmiany są dopuszczalne podczas tworzenia oprogramowania. Zwinne procesy są zaprojektowane tak, aby odpowiadały przewadze konkurencyjnej klienta.
Dostawa
Dostawa działającego oprogramowania jest przekazywana klientom w okresie od jednego do czterech tygodni.
Współpraca
Analitycy biznesowi, analitycy jakości i programiści muszą współpracować podczas całego cyklu życia projektu.
Motywacja
Projekty powinny być projektowane z klanem zmotywowanych osób. Zapewnia środowisko do wspierania poszczególnych członków zespołu.
Osobista rozmowa
Rozmowa twarzą w twarz to najskuteczniejsza i najskuteczniejsza metoda przesyłania informacji do zespołu programistów i wewnątrz niego.
Mierzenie postępu
Mierzenie postępu jest kluczem, który pomaga w definiowaniu postępów w tworzeniu projektów i oprogramowania.
Utrzymywanie stałego tempa
Zwinny proces koncentruje się na zrównoważonym rozwoju. Biznes, programiści i użytkownicy powinni być w stanie utrzymać stałe tempo projektu.
Monitorowanie
Konieczne jest regularne zwracanie uwagi na doskonałość techniczną i dobry projekt, aby zwiększyć funkcjonalność zwinną.
Prostota
Proces zwinny sprawia, że wszystko jest proste i używa prostych terminów do pomiaru pracy, która nie została ukończona.
Terminy zorganizowane samodzielnie
Zwinny zespół powinien być samoorganizujący się, niezależny i mieć najlepszą architekturę; wymagania i projekty wyłaniają się z samoorganizujących się zespołów.
Przejrzyj pracę
Ważne jest, aby przeglądać pracę w regularnych odstępach czasu, aby zespół mógł zastanowić się, jak postępuje praca. Terminowe przeglądanie modułu poprawi wydajność.
Codzienne wstawanie
Codzienna stand-up odnosi się do codziennych spotkań członków zespołu. Zapewnia aktualizacje związane z rozwojem oprogramowania. Odnosi się również do usuwania przeszkód w rozwoju projektów.
Codzienny stand-up jest obowiązkową praktyką, bez względu na sposób tworzenia zwinnego zespołu, niezależnie od lokalizacji biura.
Lista funkcji codziennego stand-upu jest następująca -
Czas trwania codziennego mityngu powinien wynosić około 15 minut. Nie powinien trwać dłużej.
Stand-up powinien obejmować dyskusje na temat aktualizacji statusu.
Uczestnicy tego spotkania zwykle wstają z zamiarem szybkiego zakończenia spotkania.
Historia użytkownika
Historia jest zwykle wymaganiem, które jest sformułowane w kilku zdaniach prostym językiem i powinno być uzupełnione w ramach iteracji. Historia użytkownika powinna zawierać następujące cechy -
Cały powiązany kod powinien mieć powiązane check-iny.
Jednostkowe przypadki testowe dla określonej iteracji.
Należy zdefiniować wszystkie przypadki testów akceptacyjnych.
Akceptacja od właściciela produktu podczas definiowania historii.
Co to jest Scrum?
Scrum można uznać za podzbiór zwinnej metodologii. Jest to lekki proces i obejmuje następujące funkcje -
Jest to ramy procesu, które obejmuje zestaw praktyk, których należy przestrzegać w spójnej kolejności. Najlepszą ilustracją Scruma jest wykonywanie iteracji lub sprintów.
Jest to „lekki” proces, co oznacza, że proces jest tak mały, jak to tylko możliwe, aby zmaksymalizować wydajność produkcyjną w określonym, określonym czasie.
Proces Scrum jest znany ze swojego wyróżniającego się procesu w porównaniu z innymi metodologiami tradycyjnego podejścia zwinnego. Jest podzielony na następujące trzy kategorie -
Roles
Artifacts
Time Boxes
Role określają członków zespołu i ich role w całym procesie. Zespół Scrumowy składa się z następujących trzech ról -
Scrum Master
Właściciel Produktu
Team
Artefakty Scruma dostarczają kluczowych informacji, o których każdy członek powinien wiedzieć. Informacje obejmują szczegóły produktu, planowanych działań i wykonanych czynności. Artefakty zdefiniowane w Scrumie są następujące -
Rejestr produktów
Backlog sprintu
Wykres spalania
Increment
Ramki czasowe to historyjki użytkownika, które są planowane dla każdej iteracji. Te historie użytkownika pomagają opisać cechy produktu, które stanowią część artefaktów Scruma. Backlog produktu to lista historii użytkowników. Te historie użytkowników są traktowane priorytetowo i przekazywane na spotkania użytkowników, aby zdecydować, którą z nich należy podjąć.
Dlaczego Scrum Master?
Scrum Master współdziała z każdym członkiem zespołu. Przyjrzyjmy się teraz interakcji Scrum Mastera z innymi zespołami i zasobami.
Właściciel Produktu
Scrum Master współdziała z właścicielem produktu w następujący sposób -
Znajdowanie technik umożliwiających osiągnięcie efektywnego rejestru historii użytkowników i zarządzanie nimi.
Pomaganie zespołowi w zrozumieniu potrzeb w zakresie jasnych i zwięzłych elementów rejestru produktu.
Planowanie produktu w określonym środowisku.
Zapewnienie, że właściciel produktu wie, jak zwiększyć wartość produktu.
Ułatwianie wydarzeń Scrumowych w razie potrzeby.
Zespół Scrumowy
Scrum Master współdziała z zespołem na kilka sposobów -
Coaching organizacji w zakresie przyjęcia Scruma.
Planowanie wdrożeń Scruma do konkretnej organizacji.
Pomaganie pracownikom i interesariuszom w zrozumieniu wymagań i faz rozwoju produktu.
Współpraca z Scrum Mastersami innych zespołów w celu zwiększenia efektywności stosowania Scruma danego zespołu.
Organizacja
Scrum Master oddziałuje z organizacją na kilka sposobów. Kilka z nich jest wymienionych poniżej -
Coaching i zespół scrumowy współdziałają z samoorganizacją i obejmują funkcję crossfunkcji.
Coaching organizacji i zespołów w takich obszarach, w których Scrum nie jest jeszcze w pełni zaadaptowany lub nie jest akceptowany.
Korzyści ze Scruma
Scrum pomaga klientom, członkom zespołu i interesariuszom we współpracy. Obejmuje podejście ograniczone czasowo i ciągłe informacje zwrotne od właściciela produktu, zapewniające, że produkt jest w dobrym stanie. Scrum zapewnia korzyści dla różnych ról w projekcie.
Klient
Sprinty lub iteracje są rozważane przez krótszy czas, a historyjki użytkownika są projektowane zgodnie z priorytetami i są uwzględniane podczas planowania sprintu. Zapewnia, że każda dostawa sprinterska spełnia wymagania klienta. Jeśli nie, wymagania są zapisywane, planowane i przyjmowane do sprintu.
Organizacja
Organizacja z pomocą mistrzów Scruma i Scruma może skupić się na wysiłkach wymaganych do tworzenia historyjek użytkownika, zmniejszając w ten sposób obciążenie pracą i unikając ewentualnych przeróbek. Pomaga to również w utrzymaniu zwiększonej wydajności zespołu programistów i satysfakcji klienta. Takie podejście pomaga również w zwiększaniu potencjału rynku.
Menedżerowie produktu
Głównym obowiązkiem menedżerów produktu jest zapewnienie utrzymania jakości produktu. Z pomocą Scrum Masters, ułatwienie pracy, zebranie szybkich odpowiedzi i przyswojenie ewentualnych zmian staje się łatwe. Menedżerowie produktu weryfikują również, czy projektowany produkt jest dostosowany do wymagań klienta w każdym sprincie.
Zespół deweloperski
Przy ograniczonym czasie i utrzymywaniu sprintów przez krótszy czas, zespół programistów z entuzjazmem zauważa, że praca jest odzwierciedlona i wykonana prawidłowo. Działający produkt zwiększa każdy poziom po każdej iteracji lub raczej możemy je nazwać „sprintem”. Historie użytkowników, które są zaprojektowane dla każdego sprintu, stają się priorytetem klienta, dodając większą wartość do iteracji.
Wniosek
Scrum to wydajna struktura, w ramach której możesz tworzyć oprogramowanie w pracy zespołowej. Jest całkowicie zaprojektowany na zasadach zwinności. ScrumMaster jest po to, aby pomagać i współpracować z zespołem Scruma na każdy możliwy sposób. Działa jak osobisty trener, który pomaga ci trzymać się zaplanowanego planu i wykonywać wszystkie czynności zgodnie z planem. Autorytet ScrumMastera nigdy nie powinien wykraczać poza sam proces. Powinien być w stanie poradzić sobie w każdej sytuacji.