Czym jest programowanie adaptacyjne?
Adaptacyjne tworzenie oprogramowania jest zasadą projektowania do tworzenia systemów oprogramowania. Zasada koncentruje się na szybkim tworzeniu i ewolucji systemów oprogramowania. Nigdy nie ma okresu, w którym oprogramowanie jest gotowe; między nowymi wydaniami są tylko stabilne okresy. Adaptacyjne tworzenie oprogramowania wyrosło z metody szybkiego tworzenia aplikacji. Te dwie metody mają podobną strukturę, ale szybki rozwój aplikacji pozwala na zakończenie projektu, podczas gdy adaptacyjne tworzenie oprogramowania nie.
Rozwój adaptacyjnego oprogramowania koncentruje się na kodzie komputerowym. Zamiast planować oprogramowanie wcześniej, programiści mają w głowie podstawowy pomysł i idą do pracy. Gdy elementy wymagają zmiany lub dostosowania do nowego systemu, kodery po prostu to robią. Jeśli program potrzebuje łatki, ktoś ją po prostu robi.
Ogólnie rzecz biorąc, brak czynności wstępnego planowania pozwala programistom na bardzo szybkie tworzenie oprogramowania. Chociaż czasami skutkuje to powstaniem oprogramowania, które nie wykonuje dokładnie wymaganych funkcji, ogólnie nie stanowi to problemu. Cykl rozwojowy tego procesu jest tak krótki, że nowa wersja z dodatkowymi funkcjami może wyjść bardzo szybko. Ten proces lub szybkie prototypowanie jest podstawą zarówno adaptacyjnego tworzenia oprogramowania, jak i szybkiego tworzenia aplikacji.
Miejsce, w którym dwie metody się różnią, znajduje się w docelowym punkcie końcowym. W przypadku adaptacyjnego tworzenia oprogramowania nie ma rzeczywistego punktu końcowego, tylko czas, gdy oprogramowanie nie jest już potrzebne lub kod jest przenoszony do aplikacji wyższej generacji. Z drugiej strony szybki rozwój aplikacji pozwala na zakończenie projektu, czas, w którym oprogramowanie jest wolne od błędów i spełnia wymagania nabywcy.
Adaptacyjne tworzenie oprogramowania składa się z trzech etapów, z których każdy obraca się wokół kodowania programu. Pierwszym krokiem są spekulacje. W tej fazie koderzy próbują zrozumieć dokładny charakter oprogramowania i wymagania użytkowników. Ta faza opiera się na raportach o błędach i użytkownikach, które pomagają w prowadzeniu projektu. W braku raportów programiści stosują podstawowe wymagania określone przez nabywcę.
Faza współpracy ma miejsce, gdy poszczególni programiści utrwalają to, co robią i jak łączyć swoje części. Ta faza jest zasadniczo całkowicie na miejscu. Programiści nie potrzebują żadnych dodatkowych informacji ani danych zewnętrznych do zarządzania tą częścią oprogramowania.
Ostatnim krokiem jest nauka. Podczas fazy nauki najnowsza wersja oprogramowania jest udostępniana użytkownikom. Generuje to raporty o błędach i użytkowników używane podczas pierwszej fazy projektu, a cykl się powtarza.