COTS

Definicja
Oprogramowanie COTS (Commercial Off The Shelf) - dostarczane w formie gotowego, zamkniętego produktu, dostępnego w systemie sprzedaży hurtowej oraz detalicznej. Do tej grupy mogą należeć zarówno systemy operacyjne (popularne MS Windows ), programy narzędziowe (np. systemy antywirusowe) jak i użytkowe (zintegrowane systemy typu Office).

Wybór produktu oprogramowania COTS jest procesem wieloetapowym, uwarunkowanym złożonym zbiorem czynników. Rynek produktów COTS charakteryzuje się dużą zmiennością i różnorodnością. Wszelkie zmiany zachodzące na rynku mają bezpośredni wpływ na ewolucję produktów COTS oraz systemów CBS (COTS – Based Systems). Stąd, produkty COTS oraz systemy CBS (stanowiące rozwiązania składające się z większej liczby COTS) są kształtowane przede wszystkim poprzez uwarunkowania rynkowe, nie zaś przez wymagania stawiane przez dany system czy poszczególne przedsiębiorstwo.

Analizując rynek produktów oprogramowania można wyróżnić trzy dostępne typy aplikacji. Wskazać tutaj należy rozwiązania pisane na zamówienie, rozwiązania typu Open Source oraz produkty gotowe, określane w literaturze jako COTS.

Czynniki ryzyka
• Oprogramowanie jest pod całkowitą kontrolą producenta.

• Wszelkie negocjacje warunków dostawy oraz obsługi są bardzo trudne, o ile w ogóle możliwe.

• W wyniku transakcji „zakupu” otrzymujemy jedynie nośnik (lub kopię elektroniczną) oraz bardzo ograniczone prawo do wykorzystywania oprogramowania.

• Wsparcie techniczne nie jest zazwyczaj zawarte w cenie „Praw do wykorzystywania” – należy je zakupić osobno.

• Konfiguracja oprogramowania jest możliwa jedynie w granicach przewidzianych i dozwolonych przez producenta. Odstępstwa od tej zasady są ścigane prawnie.

• Brak możliwości analizy kodu oprogramowania ogranicza w praktyce możliwości jego audytu tylko do testów penetracyjnych typu „Black Box”.

• Występuje bardzo duże ryzyko uzależnienia się od określonego dostawcy (vendor lock-in), a tym samym znaczne ograniczenie możliwości modernizacji systemu.

• Oprogramowanie najczęściej nie posiada architektury modularnej. Uniemożliwia (lub znacznie utrudnia) to wymianę określonych funkcji systemu.

• Producenci oprogramowania starają się wprowadzać własne standardy licząc, że duża liczba użytkowników oprogramowania spowoduje uznanie ich za standardy de facto i dzięki temu uzyskają przewagę nad konkurencją. Standardy te są najczęściej nieudokumentowane lub udokumentowane jedynie częściowo.

• Wybór oprogramowania ogranicza się w praktyce jedynie do wyboru bezpośredniego dostawcy. Zamawiający nie ma wpływu na techniczne właściwości oprogramowania.

Czynniki sukcesu
• Popularność oprogramowania i powszechna umiejętność jego obsługi na podstawowym poziomie.

• Procedura instalacji i konfiguracji oprogramowania nie wymaga zaawansowanej wiedzy specjalistycznej.

• Przystosowanie oprogramowania do pracy na typowym, powszechnie dostępnym sprzęcie.

• W przypadku systemu operacyjnego dostęp do wielu (choć w większości płatnych) programów narzędziowych lub użytkowych.

• Oferowanie oprogramowania (odsprzedaż „Praw do wykorzystywania”) przez wiele podmiotów, co pozwala na wybór najkorzystniejszej oferty.

Zobacz też

 * 1) Oprogramowanie
 * 2) Web 2.0
 * 3) Aplikacja internetowa
 * 4) RIA
 * 5) AJAX