W pierwszej części tej serii omówiliśmy, w jaki sposób możemy stać się w niezdrowy sposób uzależnieni od naszego dostawcy, a przede wszystkim, jakie problemy może to spowodować dla naszej firmy.
Dzisiaj przyjrzymy się, co możemy zrobić, aby uniknąć takiej zależności.
1. Zachować prawa własności do wiedzy specjalistycznej dotyczącej procesów i systemów oraz planów ich rozwoju
Jeśli zdecydujesz, że nie chcesz zajmować O nas i przekażesz swojemu dostawcy usług IT jedynie ogólne wytyczne, to zmierzasz prosto w kierunku uzależnienia. Zaskakujące może być to, że takie podejście często powoduje problemy u samego dostawcy, ponieważ po pewnym czasie wymagania klienta zaczynają się nakładać i splatać, a sprostanie nowym wymaganiom staje się dla dostawcy poważnym wyzwaniem.
Dla firmy, która chce pozostać konkurencyjna, ważne jest, aby postrzegać IT jako narzędzie służące do wspierania, usprawniania i mierzenia jej procesów. Nie jest trudno ustalić, jak to zrobić, ponieważ obecnie dysponujemy wystarczającą liczbą metodologii i standardów, które pozwalają nam zachować przegląd procesów i skutecznie je planować:
- Architektura korporacyjna – sposób opisania celów organizacji; metod realizacji tych celów za pomocą procesów biznesowych; oraz sposobów, w jakie technologie mogą wspierać te procesy. Więcej informacji można znaleźć w artykule „Nie daj się zniechęcić” autorstwa Poor Enterprise Architecture. Dwa najbardziej znane podejścia do architektury korporacyjnej można znaleźć na stronach internetowych The Open Group i Zachmann.
- Opis procesów – najbardziej znane i najczęściej stosowane standardy opracowuje organizacja Open Management Group (www.omg.org). Opisywanie procesów zgodnie ze specyfikacją BPMN (Business Process Model and Notation) pozwala kierownictwu firmy w łatwy sposób zapoznać się z procesami zachodzącymi w przedsiębiorstwie oraz je dokumentować.
- Dokumentacja użytkownika – nie musi to być dokument sporządzony przez dostawcę i schowany w szufladzie, gdzie pokrywa się kurzem. Dobrym rozwiązaniem jest nagranie filmów pokazujących użytkownikom, jak korzystać z aplikacji w codziennej pracy; w ten sposób upraszcza się obsługę produktu i szkolenie nowych użytkowników. Filmy te trwają często zaledwie kilka minut i opisują wszystko, co trzeba wiedzieć, aby efektywnie korzystać z systemu. Na przykład: zapoznaj się z przewodnikiem po korzystaniu z Yammer w projekcie badawczym; lub przewodnikiem dotyczącym zamawiania towarów w sklepie internetowym.
Wszystkim standardom i metodologiom towarzyszy obszerna dokumentacja oraz materiały szkoleniowe, które szczegółowo opisują każdy obszar. Z mojego doświadczenia wynika, że warto zatrudnić specjalistę, który dobierze te elementy metodologii, które najlepiej sprawdzają się w konkretnej firmie.
Jeśli uporządkujesz swoją wiedzę w standardowej formie, zyskasz nie tylko narzędzie do omawiania kwestii, które przyczyniają się do rozwoju firmy, ale także pewność, że znajdziesz wspólny język z zdecydowaną większością obecnych i potencjalnych dostawców.
Jeśli chcesz wprowadzić zmiany w swoich procesach i przepływie informacji, zacznij od zmian w organizacji pracy – czy to na poziomie modelu, czy w ramach eksperymentu pilotażowego – i sprawdź, czy zmiana przyniesie oczekiwane korzyści. Następnie oblicz korzyści płynące ze zmiany oraz koszty jej wdrożenia. Jeśli wszystko jest tak, jak powinno, zacznij modyfikować systemy, a jeśli nie, możesz bez problemu wstrzymać działanie. Kiedy całkowicie powierzasz to zadanie zewnętrznemu dostawcy, mało kto ma odwagę wstrzymać projekt, w który zainwestowaliśmy już zasoby.
2. Dane muszą w każdym przypadku należeć do Ciebie
Dane są przechowywane u naszego dostawcy; doszło jednak między nami do sporu, a oni poinformowali nas, że dane należą do nich... Niestety, sytuacja ta nie jest tak rzadka, jak mogłoby się wydawać. Nie zdarza się to często w przypadku dostawców usług w chmurze i hostingu, jak się powszechnie uważa, ale najczęściej ma miejsce w przypadku systemów tworzonych na zamówienie, gdzie dane są przechowywane w „czarnej skrzynce” całkowicie kontrolowanej przez dostawcę.
Jest to tradycyjny sposób utrzymywania kontroli nad klientem przez dostawcę. Problem ten można zasadniczo rozwiązać na dwa sposoby – poprzez bezpośrednią kontrolę nad danymi lub poprzez zapewnienie niezawodnego sposobu ich pozyskiwania w formacie nadającym się do wykorzystania.
Na przykład: usługa służąca do zarządzania kontaktami e-mailowymi, które uzyskujemy poprzez rejestrację na stronie internetowej naszego dostawcy. Pierwszym rozwiązaniem jest zapewnienie, by dane były replikowane w naszych własnych systemach; drugim zaś jest regularne pobieranie informacji przechowywanych w systemach dostawcy i przechowywanie ich u nas „na wszelki wypadek”.
Nawet w naszym własnym systemie, gdzie proces przechowywania danych jest dobrze udokumentowany, ustalenie procedur eksportowania danych do standardowej tabeli, bazy danych lub pliku XML może znacznie ułatwić integrację nowego systemu. Ważne jest ustalenie procedur ekstrakcji danych, weryfikacji, czy eksport działa, oraz czy format jest dobrze udokumentowany, ponieważ krytyczny moment, w którym musimy odzyskać dane, jest dokładnie najgorszym momentem na odkrycie, że eksport nie działa lub że idealnie wyeksportowane dane są zakodowane w formacie, z którym nie możemy pracować.
Wymagania te należy sprawdzić przy przyjmowaniu od dostawcy wszelkich nowych funkcji lub zmian w systemach.
3. Zachowanie praw własności intelektualnej do aplikacji
Własność aplikacji obejmuje prawo własności do kodu źródłowego lub projektu aplikacji. Jeśli nie mamy kontroli nad kodem źródłowym, narażamy się na ryzyko, że w momencie, gdy zechcemy zmienić dostawcę, okaże się, iż dotychczasowy dostawca jest właścicielem kluczowej części kodu i nie będzie skłonny udostępnić jej bezpłatnie. Możemy tego uniknąć, jasno definiując własność w umowie, stwierdzając, że kod opracowany w wyniku żądanych zmian jest wyłącznie naszą własnością lub że zmiany te są tworzone na licencji, która pozwala nam na ich bezpłatne użytkowanie i rozpowszechnianie.
Nawet jeśli na mocy umowy zapewniliśmy sobie prawa własności, nie oznacza to, że dostawca, z którym O nas umowę O nas udzieli nam dostępu do kodu. Z tego powodu zdecydowanie zaleca się, aby system kontroli wersji, wiki i inne dokumenty były przechowywane u podmiotu zewnętrznego, a partner był zobowiązany do przechowywania danych w określonym miejscu i w określonym czasie, tak abyśmy mieli dostęp do aktualnych wersji.
4. Integracja systemów zamiast rozszerzania funkcjonalności
Interfejsy API usług internetowych (Application Programming Interfaces) są obecnie powszechną cechą wielu aplikacji komercyjnych i open source. Oznacza to, że wszystkie funkcje dostępne dla użytkowników aplikacji mogą być również wykorzystywane w komunikacji między różnymi systemami i aplikacjami.
Dzięki wykorzystaniu protokołów i standardów do zdefiniowania tego interfejsu usługi te stanowią ujednolicony środek komunikacji i platformę; aplikacja napisana w jednym języku lub na jednym systemie operacyjnym jest dostępna dla systemów napisanych w zupełnie inny sposób. Dane są przesyłane we wspólnym formacie, takim jak XML lub JSON, a kody źródłowe obu systemów pozostają całkowicie Niezależny.
W dzisiejszych czasach każdy użytkownik może sobie wyobrazić, na czym polega integracja systemów. W końcu wszyscy korzystamy z usług aplikacji internetowych, które są ze sobą zintegrowane – na przykład Kalendarz Google z Kontaktami Google i Gmailem. Jeśli zdecydujemy się zacząć korzystać z innego kalendarza zamiast dotychczasowego, wystarczy tylko połączyć go z istniejącymi danymi. Taka metoda zmiany systemów nie jest możliwa, jeśli posiadamy własny system, który pierwotnie zakupiliśmy wyłącznie do celów księgowych, a następnie stopniowo zlecaliśmy dostawcy opracowanie modułu CRM, modułu serwisowego itp.
Ta sama logika dotyczy integracji z systemami udostępnianymi jako usługa przez dostawców usług w chmurze (SaaS – Software as a Service). Wykorzystanie usług internetowych oddziela poszczególne aplikacje od siebie, dzięki czemu cały system staje się bardziej elastyczny i Przejrzysty / Transparentny Natomiast sztywne powiązania między różnymi modułami ułatwiają dostawcy zwiększanie naszej zależności od niego, podnoszą złożoność kodu, a elastyczność systemu jest ograniczona do poziomu jego najmniej elastycznego elementu.
5. Staraj się ograniczyć do minimum zmiany w standardowym systemie
Postaraj się wdrożyć wymagany system, wprowadzając jak najmniej zmian w stosunku do standardowej implementacji. Zazwyczaj nie jesteś pierwszym klientem dostawcy. Podczas wdrażania postaraj się jak najlepiej wykorzystać doświadczenie dostawcy zdobyte podczas współpracy z innymi klientami. Prawdopodobnie będziesz zaskoczony, o ile skuteczniej można zrealizować niektóre procesy lub że pewne dane, które wcześniej pomijaliśmy, staną się naszą przewagą konkurencyjną.
Jeśli będziemy musieli wprowadzić poważne zmiany w funkcjonalności aplikacji, może to znacznie skomplikować przejście na nowe wersje w przyszłości, a każda taka zmiana będzie stanowić wyzwanie zarówno pod względem programowania, jak i wdrożenia.
6. Korzystaj z usług wielu dostawców
Postaraj się samodzielnie zarządzać całym procesem projektowania, tworzenia, wdrażania i eksploatacji systemu, nie pozostawiając tego dostawcy. Dobrym pomysłem jest na przykład oddzielenie analityków biznesowych od programistów. Warto również zlecić testowanie systemu testerom spoza zespołu programistów. Wykonają oni swoją pracę bardziej efektywnie, a prawdopodobieństwo otrzymania produktu wolnego od błędów będzie znacznie większe. Jeśli za eksploatację odpowiada inna strona (np. dostawca usług w chmurze), upewnij się, że będzie ona naciskać na programistów, aby dostarczyli produkt, który zminimalizuje problemy z działaniem systemu.
7. Należy określić w umowie warunki rozwiązania umowy, w tym kary dla dostawcy
Jak w umowie określono warunki rozwiązania współpracy? Trzymiesięczny okres wypowiedzenia, po upływie którego przestajesz płacić, a dostawca zaprzestaje świadczenia usług? To zdecydowanie za mało.
Konieczne jest określenie, jaką dokumentację i w jakim zakresie dostawca musi dostarczyć Państwu lub bezpośrednio nowemu dostawcy w okresie wypowiedzenia. Jeśli zabezpieczyli Państwo prawa własności intelektualnej do projektu, kodu źródłowego i innych części dokumentacji wymienionych w punkcie 3, tym lepiej. Przy zawieraniu umowy z dostawcą warto zapytać firmy, które zajęły 2. i 3. miejsce, czego będą potrzebowały, aby przejąć prace rozwojowe i konserwację od zwycięzcy.
8. Poinformować dostawców o planach rozwoju na przyszłość
Należy dążyć do nawiązania długoterminowej współpracy z dostawcami. Jeśli regularnie omawiasz z nimi swoje plany rozwoju i kwestie strategiczne – a nie tylko bieżące zmiany w funkcjonalności – dostawca może przedstawić propozycje, które pozwolą stworzyć architekturę systemu stabilną, wydajną i opłacalną nie tylko w kontekście obecnych, ale także przyszłych wymagań. Aby jasno określić swoje wymagania, można skorzystać na przykład z metody MuSCoW, która dzieli wymagania na następujące kategorie:
- Koniecznie trzeba mieć – koniecznie trzeba mieć
- Powinno być – powinno być
- „Mogłoby być” – „Byłoby miło, gdyby było”
- Nie będę tego miał tym razem – nie muszę tego mieć w tej chwili
9. Zbierz pomysły i opinie od innych osób
Nie utknij w jednym miejscu; śledź trendy; szukaj najlepszych rozwiązań i praktyk; i miej wszystko na oku. Zatrudnij firmę, aby uzyskać opinię z zewnątrz – oceni ona Twoje decyzje zarówno z technicznego, jak i strategicznego punktu widzenia. Nie musi to być kosztowne. A takie konsultacje są opłacalne, ponieważ pomogą Ci uniknąć błędów. Z własnego doświadczenia znam przypadek, w którym dostawca zmusił klienta do zainwestowania kilku milionów koron w rozwiązanie problemu, który sam spowodował, a konsultant stwierdził, że inwestycja w ogóle nie rozwiąże problemu, ponieważ przyczyna leżała gdzie indziej.
Konsultant może pomóc Ci w opracowaniu strategii, wygenerowaniu popytu, ocenie dostępnych opcji oraz spojrzeniu na sprawę z nieoczekiwanej perspektywy. Może również pomóc w przeprowadzeniu audytu dostawców i zapewnieniu Ci jak najlepszych wyników. Konsultant powinien zawsze pamiętać, że zależy Ci na Niezależny konkretnego dostawcy oraz że doceniasz wartość swojej wiedzy specjalistycznej jako przewagi konkurencyjnej.
Właściwy wybór dostawców to zarządzanie O nas
Wierzę, że po przeczytaniu tego artykułu mają Państwo jaśniejsze wyobrażenie o tym, jak sprawić, by dostawcy stali się partnerami w Państwa sukcesie, a nie by Państwo stali się ich wasalami. Zapobieganie nieprzyjemnym sytuacjom polega O nas zarządzaniu ryzykiem oraz wyborze rozwiązań, które zapewniają równowagę między bieżącymi wymaganiami a przyszłą elastycznością. Przestrzegając powyższych zasad, zapewnią Państwo właściwy wybór dostawców i nowych systemów.




























































































