Ja nic nie wiem, ja tu tylko programuję...
Po ponad 8 latach pracy zawodowej z systemami o zbliżonym i względnie ograniczonym zakresie biznesowym, dokonałem ostatnio całkowitej zmiany branży... Stąd narasta we mnie od jakiegoś czasu pytanie, którego nie miałem potrzeby zadawać właściwie nigdy wcześniej: na ile ważne jest zrozumienie procesu biznesowego klienta i sposobu w jaki używa on naszego oprogramowania?
Odpowiedź zależy prawdopodobnie od rodzaju oprogramowania. Wyróżniłbym tutaj co najmniej trzy kategorie:
- programy małe i trywialne lub przeznaczone dla szerokiego grona przypadkowych użytkowników „z ulicy”,
- programy specjalistyczne, prawdopodobnie względnie duże i całkiem skomplikowane, przeznaczone dla wielu użytkowników, jednak będących specjalistami w konkretnej dziedzinie,
- programy specyficzne, produkowane na konkretne zamówienie, bardzo specjalistyczne, niejednokrotnie ogromne i w praktyce jednorazowe.
Może to się wydawać w pierwszej chwili dziwne, ale dochodzę do wniosku, że znajomość procesu biznesowego, w jaki ma się wpasować produkowane oprogramowanie, jest najbardziej istotna i zarazem najtrudniejsza w przypadku systemów kategorii 2.
przypadki w gruncie rzeczy proste
Kategoria 1. to klasyczne masowe POTS-y, najczęściej nie związane w ogóle z żadnym szczególnym procesem biznesowym i należące raczej do kategorii programów użytkowych lub narzędziowych. Ich sposób wykorzystania jest możliwy do ogarnięcia dla każdego w miarę rozgarniętego użytkownika komputera. Krytyczne oko specjalisty od ergonomii i użyteczności oprogramowania powinno umożliwić powstanie programu zadowalającego rzesze użytkowników. Reszta to sprawny marketing...
Kategoria 3. rządzi się swoimi prawami w każdym możliwym zakresie — funkcjonalność, ergonomia i sposób wykorzystania są całkowicie podporządkowane zamawiającemu, marketing nie ma wiele wspólnego z wolnym rynkiem, jest raczej polityką w swej czystej, brudnej postaci. Takimi właśnie systemami zajmowałem się przez te lata (choć ostatnio usiłowano mi sugerować wbrew rozsądkowi, że system wyraźnie należący do klasy 3. jest niby systemem klasy 2., sztuczka, która prawie nigdy się nie udaje) i praktycznie nie zdarzyło mi się pracować nad takim, którego rzeczywiste zastosowanie byłoby mi w jakikolwiek sposób bliskie. A w każdym razie żaden z nich nie byłby mi osobiście do niczego przydatny i nie miałbym żadnego powodu go używać. Nawet gdyby było to technicznie możliwe, a często zwyczajnie nie było. Tego typu systemy najbardziej uzasadniają słowo „grzęzawisko” w podtytule tego bloga...
przypadki zadziwiająco trudne
Kategoria 2. jest trudna właśnie dlatego, że leży po środku. Nie są to systemy na tyle banalne, że każdy jest w stanie sobie wyobrazić sposób ich prawidłowego użycia — do ich używania wymagana jest pewna wiedza branżowa, często dostępna jedynie dla stosunkowo wąskiego grona specjalistów. Z drugiej strony nie są to systemy pisane na jednostkowe zamówienie jak w przypadku kategorii 3., więc nie ma jednoznacznie określonego klienta, którego można by uczynić odpowiedzialnym za specyfikację funkcjonalną i którego można by obciążyć kosztami wszelkich niepowodzeń.
Stawia to producentów oprogramowania w sytuacji, która jest bardzo trudna, ale równocześnie najbardziej uczciwa ze wszystkich postaw, jakie obserwowałem w tej branży. Klient mówi tak: „kupię ten program, jeżeli mi się przyda, jeżeli nadaje się do prowadzenia mojego biznesu i jest lepszy od innych narzędzi”. Klient ten nie podpisał żadnego kontraktu omamiony kłamstwami handlowców (jak to robią klienci systemów kategorii 3.), więc jeszcze nie ma wobec nas żadnych zobowiązań. Równocześnie jednak ma wymagania, które nie każdy jest w stanie spełnić; wie o tym, że system nie jest banalny jak w przypadku kategorii 1. i jest gotów sprawdzić czy nasz produkt potrafi przejść wszystkie wredne testy, jakie dla niego przygotował. Ponieważ kupuje produkt gotowy, a nie zamawia całkiem nowy, ten system musi już istnieć w takiej postaci, która zadowoli klienta i (tutaj główna trudność) będzie od razu spełniała jego potrzeby.
Choć trudno mi to przechodzi przez gardło, wygląda na to, że nawet handlowcy w takiej sytuacji chcąc nie chcąc stają się bardziej uczciwi. Trudniej jest powiedzieć i pokazać, że system posiada funkcjonalność, której nie posiada, niż obiecywać, że zgodnie z zamówieniem będzie umiał robić coś, czego nikt nigdy nie zamierza napisać.
doświadczenie w cenie
Powyższa sytuacja jest trudna nie tylko dlatego, że (dosyć niespodziewanie w tej branży) wymaga stosunkowo uczciwego i trzeźwego podejścia do własnych produktów. Przede wszystkim dlatego, że autentycznie wymaga dogłębnego poznania biznesu klienta, a nie ma nikogo, kogo można by zmusić do sprzedania tej wiedzy. Powoli (bardzo powoli, bo jestem za stary na gwałtowne ekscytacje) zaczynam doceniać doświadczenie branżowe ludzi, których komentarze w kodzie, nad którym dzisiaj siedzę, są datowane na wczesne lata 90. zeszłego wieku...
2007.02.12 | 1 komentarz |
tagi » inżynieria?, soft
Komentarze
Uwaga: Ze względu na bardzo intensywną działalność spambotów komentowanie zostało wyłączone po 60 dniach od opublikowania wpisu. Jeżeli faktycznie chcesz jeszcze skomentować skorzystaj ze strony kontaktowej.