Nowy na zwinnym i nie jestem pewien, jak zacząć. Chodzi o to, aby tworzyć małe części projektu w sprintach. Jednak projekt, nad którym pracuję, wymaga bazy danych, która musi być prawie funkcjonalna, aby cokolwiek zrobić z tym projektem.
Jak więc radzą sobie z tym projekty Agile, czy zaczynasz od utworzenia bazy danych?
Jak byś to zrobił, na przykład używając Scruma, jak zrobiłbyś historie użytkowników i przetestowałeś db.
Wolisz robić części bazy danych w historii, która również wymaga kodu.
Powiedzmy, że masz historię, która brzmi: „Jako użytkownik musisz się zarejestrować ...” utworzyłbyś tabelę użytkowników w bazie danych jako część tej historii?
W jaki sposób zwinny może pomóc zaprojektować bazę danych?
agile
database
scrum
database-design
user-story
Ingó Vals
źródło
źródło
Odpowiedzi:
Tak, będziesz stopniowo budował bazę danych, dodając wymagane tabele i kolumny, tak jak są one wymagane w historii. Zwykle nie potrzebujesz całej bazy danych, gdy zaczynasz swoją pierwszą historię - na przykład „Jako użytkownik musisz być w stanie zarejestrować ...” najprawdopodobniej wymaga pojedynczej tabeli z dokładnie określonym zestawem kolumn.
Jeśli masz historię, która naprawdę wymaga całej bazy danych, historia jest epicka - jest po prostu zbyt duża i musi zostać podzielona.
źródło
Po przeczytaniu twojego postu myślę, że go nie rozumiesz i powinieneś zacząć od przeczytania, co naprawdę oznacza zwinność i co próbuje osiągnąć.
Blisko, ale nie wystarczająco blisko. Chodzi o to, aby dostarczyć działające oprogramowanie na końcu każdego sprintu (jedna część systemu może zmieścić się w jednym sprincie lub nie). Baza danych może być postrzegana jako działające oprogramowanie tylko wtedy, gdy baza danych jest tym, co dostarczasz klientowi.
Dlaczego musi być prawie funkcjonalny? Czy każda funkcja systemu wykorzystuje całą lub większą część zawartości bazy danych? Ponieważ jeśli nie, nie ma potrzeby wcześniejszego projektowania całej bazy danych.
Zwinny nie obsługuje projektu bazy danych ani systemu. Mówi ci, jak zarządzać swoim projektem. Mając to na uwadze, zaczynasz od zidentyfikowania wszystkich funkcji systemu i umieszczenia ich w rejestrze produktów. Następnie wraz z właścicielem produktu przypisujesz priorytety funkcjom zaległości. Po wykonaniu tej czynności zacznij pobierać funkcje z zaległości i tworzyć sprinty (zwykle trwające od 2 do 4 tygodni). Po zakończeniu sprintu powinieneś mieć nową funkcjonującą funkcję w systemie, którą można dostarczyć klientowi.
Mogę się mylić, ale nie ma sensu testować bazy danych. Możesz przetestować kod aktualizujący bazę danych. Oczywiście możesz przetestować programowalną część bazy danych, ale można to osiągnąć, testując kod, który ją wywołuje.
Tak.
Zwinność nie jest w żadnym wypadku srebrną kulą w zarządzaniu projektami i może oznaczać katastrofę, jeśli nie zostanie poprawnie zastosowana. Staraj się poświęcić trochę czasu na czytanie o tym (możesz znaleźć mnóstwo zasobów tutaj lub na przepływie stosów), być może znajdziesz kogoś, kto już zrobił zwinny i może pomóc ci przyspieszyć.
źródło
W dużej mierze fałszywe.
Tak, pusta baza danych. Następnie dodaj tabele, aby ukończyć sprint.
O co pytasz? Zwinne nie ma nic wspólnego z projektowaniem baz danych.
Ty piszesz historię.
Projektujesz rozwiązanie.
Tworzysz tabele i kod.
Testujesz kod.
Jaki jest inny wybór? Czy wszystkie DB najpierw? To niemożliwe.
Po pierwsze, to bezużyteczna historia, ponieważ rejestracja nie ma żadnej wartości. To tylko przeszkoda techniczna, którą użytkownicy są zmuszeni przejść.
Po drugie, utworzyłbyś wystarczającą liczbę tabel, aby zaimplementować historię.
O co pytasz?
Agile to zarządzanie projektami. To nie pomaga w żadnym projekcie.
Pomaga jedynie rozbić wielką robotę na małe kawałki.
źródło
Najpierw zastosuj podejście przyrostowe: wybierz moduł, zdefiniuj jego wymagania, wykreśl funkcjonalność, wybierz obszar funkcjonalny, a następnie modelowanie, projekt db, algos, kody, a następnie przetestuj i powtórz proces.
źródło
Twoje pytanie krzyczy na temat anty-wzorca rozwoju AgileFall .
Co to jest? Zazwyczaj jest to organizacja, która tradycyjnie opracowywała oprogramowanie metodą wodospadu, ale ponieważ zdają sobie sprawę, że to nie działa, wewnętrznie walczą o zastosowanie technik zwinnych. Wynikający z tego „brak gazu” zwykle występuje, ponieważ prawdziwe zwinne WYMAGANIA są fundamentalnym wstrząsem organizacyjnym od sposobu, w jaki zbudowano wiele uznanych sklepów Waterfall. I oczywiście będą mieli taką strukturę, ponieważ wielu silnych i wytrwałych ludzi czuje, że muszą się zaangażować w ten proces, gdy Agile pokazuje, jak bezużyteczni są oni dla rozwoju oprogramowania.
Musisz uciec od tego, że w jakiś sposób zaczniesz od dołu, zaprojektujesz i zbudujesz bazę danych, a następnie przejdziesz na środkową warstwę i już nigdy nie będziesz musiał dotykać bazy danych. Jest to zły sposób, aby to zrobić w Agile.
Zacznij od modelu domeny dla historii użytkownika i przejdź do bazy danych, a następnie w dół do warstwy środkowej i prezentacji.
źródło