fbpx

Jak urodziny Gustave Eiffel przypominają o wymaganiach niefunkcjonalnych?

Created with Sketch.

Jak urodziny Gustave Eiffel przypominają o wymaganiach niefunkcjonalnych?

Obchodzimy dziś urodziny Gustave Eiffel (15 grudnia 1832), francuskiego inżyniera, którego większość kojarzy z jego najdostojniejszego projektu, czyli Wieży Eiffla w Paryżu. Dlaczego wspominam o Gustave, skoro nie jest on w żaden sposób związany z wytwarzaniem oprogramowania? 

W tym roku udało mi się wyrwać na krótki urlop do Porto w Portugalii. Most, który widzicie na fotografii poniżej to Ponte Dom Luís I, poza winem Porto to jeden z najbardziej rozpoznawalnych symboli tego miasta. Jaka historia stoi za budową tego obiektu?

W 1879 Gustave Eiffel zaprezentował projekt mostu nad rzeką Douro, który miał ułatwić komunikację w mieście. Projekt Gustave został odrzucony. Ze względu na szybki wzrost populacji miasta projekt mostu z jednym podkładem, nie był w stanie zapewnić odpowiedniej przepustowości.

W listopadzie 1880 konkurs na projekt mostu, który przeprawi mieszkańców na drugą stronę rzeki, został wznowiony. Gustave złożył swoją propozycję po raz drugi, jednak to nie on został zwycięzcą. Zmiana wymagań, otworzyła furtkę do sukcesu dla Théophile Seyrig, ucznia Gustave. Nic więc dziwnego, że budowla mocno kojarzy się ze stylem Eiffel’a, przekazał on swoją szkołę młodszemu koledze.

W pierwszym projekcie Gustave spełnił wszystkie wymagania funkcjonalne, natomiast przy drugim Théophile dał mieszkańcom miasta rozszerzony projekt o możliwość wygodnego korzystania z niego przy dużej liczbie uczestników ruchu. Wymagania funkcjonalne to nie wszystko, to właśnie wymagania niefunkcjonalne zazwyczaj mówią najwięcej o jakości rozwiązania i dotyczą komfortu użytkowania odbiorcy końcowego.

Jeżeli pomyślimy o wymaganiach niefunkcjonalnych w kontekście wytwarzania oprogramowania performance, security, usability, accessibility to kwestie, o których większość inżynierów pamięta, jednak to nie jest nawet połowa listy. Jak znaleźć kompletną listę? Na dobry początek wystarczy zestawienie wymagań niefunkcjonalnych, które znajdziecie na angielskiej wikipedii

Czy wszystkie z nich należy uwzględnić dla każdego projektu? Oczywiście, że nie, sama traktuję taką listę jak checklistę – warto ją sprawdzać raz na jakiś czas i przeanalizować czy w aktualnym stanie projektu, któreś z wymagań niefunkcjonalnych powinno zostać dodatkowo uwzględnione lub powinniśmy lepiej dbać o ten aspekt (np. zmiany prawne mogą wpłynąć na prowadzenie dokumentacji).

Taka „ściąga” jest szalenie ważna, bo tak jak w historii z mostem w Porto – nawet bardzo doświadczeni inżynierowie zapominają często o wymaganiach niefunkcjonalnych. Jednak, w tej historii jest jeszcze jeden pozytywny aspekt za który, w szczególności Portugalczycy, powinni być wdzięczni Gustave – świetnie wykształcił swojego ucznia, który mądrze rozszerzył projekt, uwzględniając wymagania niefunkcjonalne.

Gustave najlepszego! Wznoszę “kieliszek” Porto z okazji Twoich urodzin.