Software as a Service (Oprogramowanie jako usługa) jest outsourcingową metodą budowy i oferowania specjalistycznych aplikacji dla przedsiębiorstw. Firmy, w ramach opłaty abonamentowej świadczonej na rzecz usługodawcy, mogą korzystać ze wszystkich właściwości danego oprogramowania, bez potrzeby zakupu licencji oraz jego instalacji na własnej platformie sprzętowej.
Istotą jest to, że model SaaS (Software-as-a-Service) pozwala organizacjom na dostęp do oprogramowania za pośrednictwem Internetu, zamiast użytkowania go lokalnie na desktopie. W tym przypadku to już nie wydajność komputera ma znaczenie a wydajność łącza internetowego. To łącze może być najsłabszym ogniwem mimo tego, że systemy przygotowane do pracy w tym trybie są optymalizowane pod kątem wysokiej skalowalności i wydajności pracy w sieci.
Wśród głównych zalet modelu SaaS eksperci wymieniają: łatwość użytkowania, szybkość wdrożenia, relatywnie niski koszt ponoszonych przez firmy inwestycji oraz minimalny stopień odpowiedzialności za działanie aplikacje. Ta ostatnia funkcjonalność, z dodatkowym zapewnieniem szyfrowanych łączy (poprzez VPN) i odpowiednim zabezpieczeniem serwera, należy do usługodawcy, który udostępnia daną aplikację.
Z mojego punktu widzenia jeśli chodzi o procesy inżynierii oprogramowania to wytwarzanie aplikacji opartych na model SaaS wpłynie znacząco na dwie fazy. Testowanie i wdrożenie. Niewątpliwie faza testowania stanie się elementem kluczowym, gdyż niewykryty w porę błąd może spowodować olbrzymie straty, u wszystkich użytkowników aplikacji. Natomiast wrożenie u tysięcy użytkowników będzie trawało ułamek sekundy przy niemalże zerowym koszcie.