Articles

Tworzenie dokumentacji wymagań oprogramowania

tworzenie oprogramowania może być ekscytującym procesem twórczego rozwiązywania problemów, projektowania i inżynierii. Ale pod błyszczącymi aplikacjami i wypolerowanymi stronami internetowymi leży mniej seksowne, ale tak ważne rusztowanie, które umożliwia dobre wyniki oprogramowania: Dokumentacja.

dokumentacja zapewnia, że zespoły i poszczególni interesariusze są na tej samej stronie, jeśli chodzi o cele, zakres, ograniczenia i wymagania funkcjonalne produktu lub aplikacji.

Niestety, proces tworzenia i dokumentowania tych wymagań może być żmudny, mylący i niechlujny.

dokumenty dotyczące wymagań oprogramowania mogą szybko stać się długimi, nieporęcznymi, pełnymi tekstu dokumentami, co czyni je szczególnie podatnymi na błędy, niespójności i błędne interpretacje. Z tego powodu pisanie i używanie tych dokumentów może być czasochłonne i prowadzić do kosztownych (i możliwych do uniknięcia) błędów projektowych.

co powinni zrobić menedżerowie produktu, zespoły programistyczne i liderzy biznesu?

chociaż nie ma jednej uniwersalnej reguły dla podejść do tworzenia oprogramowania, istnieją sposoby na redukcję błędów, oszczędność czasu i osiągnięcie skutecznych wyników.

poniżej przedstawiamy cele i korzyści płynące z dokumentów dotyczących wymagań oprogramowania oraz kilka najlepszych praktyk, które pomogą Ci opanować proces od początku do końca.

szablon dokumentu wymagań oprogramowania
zalecana Struktura dla dokumentu SRD (kliknij na obrazek, aby zmodyfikować online)

jakie są dokumenty wymagań oprogramowania?

dokument wymagań oprogramowania (zwany także specyfikacją wymagań oprogramowania) to dokument lub zestaw dokumentacji, który określa funkcje i zamierzone zachowanie aplikacji.

innymi słowy, dokument wymagań oprogramowania (SRD) opisuje zrozumienie przez firmę lub organizację potrzeb i zależności użytkownika końcowego (zazwyczaj klienta), a także wszelkie ograniczenia systemu.

co zawiera SRD?

podczas gdy SRD funkcjonuje jako plan zarządzania zakresem projektu, ostatecznie definiuje tylko funkcjonalne i niefunkcjonalne wymagania dla systemu. Dokument nie zawiera opisu rozwiązań projektowych ani technologicznych. Decyzje te są podejmowane później przez deweloperów.

dobrze napisany SRD powinien:

  • rozbić problem na łatwe do opanowania części.
  • służy jako punkt odniesienia do testowania i walidacji.
  • informuje o specyfikacjach projektowych (tj. SRD musi zawierać wystarczające informacje na temat wymagań oprogramowania, aby uzyskać efektywny projekt).
  • Przekaż opinię klientowi (użytkownikowi końcowemu).

SRD pokazuje klientowi, że Twoja organizacja rozumie problem, który chce rozwiązać i jak rozwiązać te problemy za pomocą rozwiązań programowych. Ponieważ klienci są często bezpośrednimi interesariuszami, szczególnie ważne jest, aby przygotować dokumentację jasno w kategoriach laików (unikając żargonu technicznego).

ponownie, sposób pisania SRD będzie zależał od podejścia i metodologii, którą subskrybuje Twój zespół lub organizacja. Jednak organizacja standardów IEEE zaleca, aby typowe SRD obejmowały następujące tematy:

  • Interfejsy
  • możliwości funkcjonalne
  • poziomy wydajności
  • struktury/elementy danych
  • bezpieczeństwo
  • niezawodność
  • Bezpieczeństwo/Prywatność
  • jakość
  • ograniczenia i ograniczenia

Jeśli każdy z tych tematów jest wyraźnie omówiony i opisany w dokumentacji, będziesz miał pełniejszy obraz informacji niezbędnych do opracowania aplikacji.

How to doing your software requirements document

niezależnie od podejścia do dokumentacji, postępuj zgodnie z tymi najlepszymi praktykami, aby stworzyć skuteczny i wydajny SRD.

utrzymuj porządek

nazwa gry to organizacja. Zanim zaczniesz faktycznie dokumentować, zacznij od strategii organizacji dla wszystkich dokumentów, w tym miejsca przechowywania dokumentów, sposobu zapewnienia spójności oraz sposobu, w jaki współpracownicy i współpracownicy mogą łatwo aktualizować dokumenty. Aby był skuteczny, dokument wymagań oprogramowania powinien być zorganizowany i przejrzysty. Wiele organizacji polega na szablonach domów, aby zachować spójność między projektami. Szablony to świetny sposób na zaoszczędzenie czasu (wystarczy wypełnić wstępnie zorganizowane sekcje) i zachować spójność w procesie dokumentacji.

jednak szablony dokumentów często wzmacniają problem długich, pełnych tekstu wymagań. Aby uniknąć utknięcia na stronach tekstu, rozważ uzupełnienie procesu dokumentacji danymi wizualnymi.

przykład dokumentacji Lucidchart
zobacz, jak zespół Lucidchart wykorzystał schematy blokowe do Dokumentacji Oprogramowania!

upewnij się, że wymagania są kompletne

aby wymóg był „kompletny”, powinien zawierać wszystkie niezbędne informacje do wdrożenia wymogu. Oznacza to, że kiedy projektanci i Programiści idą budować funkcję, nie są pozostawione przy podejmowaniu założeń lub domysłów na temat wymogu.

na przykład, załóżmy, że tworzysz stronę internetową. Jednym z przedstawionych wymagań jest to, co powinno się zdarzyć w przypadku błędu. Niekompletny wymóg może powiedzieć coś w stylu ” w przypadku błędu system powinien wyjść płynnie.”

w tym przypadku „płynnie” nie jest zdefiniowane i pozostaje do interpretacji. Ta dwuznaczność może prowadzić do błędnej interpretacji pożądanych rezultatów(i więcej pracy, aby wrócić i naprawić).

aby tego uniknąć, napisz pełne wymaganie, które określa, jak pomyślna funkcja wygląda:

„w przypadku błędu system musi wyświetlić stronę błędu z następującym komunikatem:

Uh-oh! Wygląda na to, że coś poszło nie tak. Spróbuj ponownie za kilka minut. Jeśli problem nadal występuje, skontaktuj się z naszym zespołem pomocy technicznej pod adresem [email protected]. ”

definiując kompletny wymóg, jest mniej niejasności i jasny wynik dla zespołu programistów do pracy.

spraw, aby wymagania były testowalne

jest to dość wszechobecny standard, jednak zbyt często organizacje nie piszą wymagań, które w pełni spełniają tę zasadę.

wymagania muszą być weryfikowalne. W przeciwnym razie nie ma obiektywnego sposobu, aby dowiedzieć się, czy wymóg został wdrożony w sposób zadowalający.

dla każdego wymagania, które piszesz, upewnij się, że jest on sprawdzany za pomocą jednego lub kilku następujących sposobów:

  • inspekcja
  • demonstracja
  • przejście przez
  • testowanie

wymagania wysokiego poziomu często podlegają kontroli lub testom użytkowników, więc zazwyczaj opierają się na bardziej ogólnych specyfikacjach. Jednak wymagania niższego poziomu, które przechodzą testowanie oprogramowania, będą prawdopodobnie wymagały bardziej szczegółowych specyfikacji.

Zastosuj neutralne dla implementacji wymagania funkcjonalne

jak zauważyliśmy wcześniej, SRD nie jest dokumentem projektowym. Nie określa i nie powinien określać, w jaki sposób wymagania funkcjonalne muszą być realizowane z punktu widzenia projektu.

dlatego wszystkie wymagania funkcjonalne powinny być neutralne pod względem implementacji. Innymi słowy, wymagania powinny określać, co system powinien zrobić, ale nie jak powinien to zrobić.

istnieje kilka zalet wdrożenia-neutralne wymagania, w tym:

  • wydajniejszy proces projektowania
  • modyfikowanie wymagań, które nie są zależne od konkretnego projektu implementacyjnego
  • mniejszy konflikt między wymaganiami wynikający z przeciwstawnych szczegółów implementacji

wszelkie ograniczenia implementacji powinny być zarezerwowane dla niefunkcjonalnych wymagań systemu.

Oceń dokumentację z interesariuszami

gdy wszystkie wymagania dotyczące oprogramowania zostały udokumentowane, niech wszystkie zainteresowane strony ocenią ostateczną dokumentację przed rozpoczęciem prac rozwojowych.

interesariuszami powinni być projektanci i Programiści, testerzy, którzy zweryfikują wymagania, inżynierowie, przedstawiciele użytkowników końcowych i klient.

zlecając wszystkim interesariuszom przegląd i zatwierdzenie dokumentacji przed rozpoczęciem prac rozwojowych, zwiększasz satysfakcję zespołów i zwiększasz prawdopodobieństwo, że wymagania spełnią ich potrzeby.

pomóż programistom i ich zespołom być na bieżąco dzięki schematom blokowym, które sprawnie i elegancko odwzorowują specyfikacje wymagań oprogramowania. Poszukaj rozwiązania do tworzenia diagramów, które może Ci pomóc:

  • Zorganizuj swoje wymagania w SCHEMAT BLOKOWY, aby zachować odrębność komponentów, jasne zależności i widoczność interesariuszy.
  • użyj swimlanes, aby wizualnie opisać, które zespoły są odpowiedzialne za każdy zestaw wymagań.
  • szybko Modyfikuj wymagania lub inne dane w miarę rozwoju potrzeb projektu.
  • Połącz dane (w tym dodatkowe dokumenty), aby wspierać i informować o trwającym projekcie.
  • Udostępnij dokumentację (i wszelkie zmiany) natychmiast odpowiednim interesariuszom.

dokumentacja nie musi być obowiązkowa. Dzięki Lucidchart możesz łatwo dokumentować procesy, historie użytkowników i wymagania programowe w jednym miejscu. Wizualnie definiując specyfikacje wymagań, ty i twój zespół będziecie mogli szybko znaleźć informacje i działać na ich podstawie, zmniejszając jednocześnie możliwości wystąpienia błędów, niespójności i błędnych interpretacji.

rozpocznij dokumentowanie

uzyskaj wgląd w istniejące systemy techniczne dzięki Lucidchart już dziś.

Dowiedz się jak