Elegancja oprogramowania

Badania opinii publicznej pokazują, że wizerunek osób publicznych w 56% jest kształtowany przez ich wygląd i sposób ubierania, w 36% przez barwę głosu i styl mówienia, a tylko w 8% przez treść ich wypowiedzi. Czy podobnie jest w przypadku naszych "spotkań" z oprogramowaniem?

Badania opinii publicznej pokazują, że wizerunek osób publicznych w 56% jest kształtowany przez ich wygląd i sposób ubierania, w 36% przez barwę głosu i styl mówienia, a tylko w 8% przez treść ich wypowiedzi. Czy podobnie jest w przypadku naszych "spotkań" z oprogramowaniem?

W dalekiej Japonii przed rozpoczęciem pracy płatnerz musiał najpierw oczyścić swoją duszę, modląc się o przychylność bogów. Potem cierpliwie i z namaszczeniem skuwał ze sobą dwa kawałki stali. Następnie je zginał i dalej skuwał, powtarzając tę czynność dwa miliony razy. Miecz, który stworzył, nie miał sobie równych. Był twardy jak skała i elastyczny jak trzcina. Był piękny i jasny jak przeglądający się w nim promień słońca. Była w nim dumna elegancja, duch bogów towarzyszących jego powstaniu...

Jak cię widzą, tak cię piszą

Badania opinii publicznej dowodzą, że wizerunek osób publicznych w 56% kształtuje ich wygląd i sposób ubierania, w 36% - barwa głosu i styl mówienia, a tylko w 8% treść ich wypowiedzi. Głębsza interpretacja tych faktów może być niebezpieczna, warto jednak zastanowić się, co z nich wynika. Psychologowie twierdzą, że w procesie kształtowania opinii o człowieku decydują pierwsze minuty. Powstające wtedy stereotypowe wzorce zachowania i działania w odniesieniu do danej osoby trudno potem zmienić i człowiek, który wydał się niemiły, zawsze będzie tak odbierany.

Oczywiste jest, że kilka minut jest czasem zbyt krótkim, aby poddać właś-ciwej ocenie większość aspektów osobowości, szczególnie tych skrywanych najgłębiej, a odpowiedzialnych za rzeczy najważniejsze, np. zdolność do poświęceń, miłości itd. Kilka sekund wystarczy jednak, aby ocenić wygląd zewnętrzny, sposób ubierania, wysławiania, gestykulację, sposób poruszania, aby... już wszystko wiedzieć. Sądzimy po pozorach, ale już taka nasza ludzka natura. Często przy tym się mylimy, krzywdząc innych, kiedy przypisujemy im pochopnie różne nieprawdziwe cechy. Często jednak "trafiamy" z naszymi ocenami, co upewnia nas, że taki sposób "poznawania świata" jest właściwy.

Co zrobić, aby odnieść sukces na pierwszej randce, na spotkaniu z pracodawcą, wynegocjować większy upust? Jak wydać się miłym, ciekawym, inteligentnym? Czy wystarczy "zainwestować" w te pierwsze 5 minut i wykosztować się na modne i/lub drogie stroje, aby mieć zapewniony sukces i akceptację otoczenia? Czyż nie tym - co zjednuje nam otoczenie - jest nasz wygląd zewnętrzny i ugrzecznione zachowanie?

Sprawa nie jest jednak taka oczywista. Zwróćmy uwagę, że nasze zachowanie pełne jest różnych sygnałów werbalnych i niewerbalnych, świadomych i nieświadomych. W nich wyraża się nasza osobowość. Na to, jak wyglądamy i jak się zachowujemy, pracowaliśmy przez całe lata. Dobrze wiedzą o tym projektanci mody. Ich największe kreacje wzbudzają zainteresowanie nie dlatego iż są piękne, ale dlatego że tworzą jedność estetyczną z osobą, która je nosi. Są dobrane do jej charakteru i stylu. Prawdziwa elegancja to nie modne ubranie, droga biżuteria i ekskluzywne perfumy. Elegancja to zgodny z osobowością, nie narzucający się ubiór, odpowiednio dobrane dodatki, dyskretny zapach. Elegancja jest przedłużeniem naszej indywidualności, tym co objawia wewnętrzną jedność ducha i ciała, jedność tego, co w nas statyczne i dynamiczne. Jest zatem kategorią estetyczną i moralną. Na innych oddziałujemy przez piękno naszego wyglądu, ale także przez zachowania i określone postawy wobec pewnych sytuacji życiowych. Człowiek elegancki nie tylko wygląda, ale także zachowuje się w określony sposób, wszystko to jest bowiem wyrazem jego kultury, która go kształtowała.

Opisany mechanizm tworzenia postaw i zachowań wobec otaczającego nas świata jest uniwersalny i dotyczy nie tylko naszych relacji do drugiego człowieka, ale praktycznie do każdego produktu ludzkiej cywilizacji czy nawet otaczającej przyrody. Możemy przecież mówić o elegancji i dostojeństwie słonia kroczącego przez sawannę, o elegancji przęsła mostu Golden Gate czy o elegancji "perełek oprogramowania".

W naszych dalszych rozważaniach będziemy zatem elegancję rozumieć jako pewien atrybut produktu, który odnosi się do ogółu cech i charakterystyk, pozwalających wartościować dany produkt nie tylko w kategoriach jakościowych i technicznych, lecz także w kategoriach piękna.

Podaruj sobie odrobinę elegancji

Oto kilka próbek tekstów reklamowych, odnoszących się do różnych produktów: "nowoczesność, perfekcja i elegancja", "łatwość instalacji, funkcjonalność i elegancja", "automatyczna praca, wysoki standard, niezawodność i elegancja", "wytrzymałość, żywotność, elegancja". Elegancja jawi się tutaj jako kategoria jakościowa. Jest jednym z tych atrybutów produktu, które mają wpływ na końcową jego ocenę, na równi z funkcjonalnością, niezawodnością, efektywnością.

Elegancja jest jednak atrybutem o nieco innym charakterze. Po pierwsze, zwróćmy uwagę na zestawienia, w których występuje. Każda z cech reklamowanych produktów da się zweryfikować, odnosi się bowiem do technicznych aspektów obietnicy reklamowej. Elegancja nie da się zweryfikować, bo odnosi się do piękna, czyli kategorii subiektywnej. Po drugie, elegancja rzadko jest wymieniana na liście wymagań projektowanego systemu. W takim kontekście będzie najczęściej postrzegana jako zbędna zabawa, marnotrawienie zasobów i w ogóle coś niepoważnego, czym nie warto się zajmować, gdyż klient za to nie płaci. System ma działać i robić co należy. Człowiek jednak szuka w życiu nie tylko kolejnych celów do osiągnięcia, problemów do rozwiązania, funkcji do zaimplementowania, ale przede wszystkim podąża za wartościami, szczególnie tymi wyższymi, wśród których na pewno jest piękno.

Na tych niespełnionych tęsknotach bazuje przekaz reklamowy. Mówić wprost o pięknie oprogramowania jest niezręcznie, dlatego reklama odwołuje się do mniej oczywistego stereotypu elegancji jako nośnika tradycyjnych wartości piękna, harmonii, dobrego gustu, smaku, wysokiej jakości, rzetelności i prawdy, akceptacji i przynależności do tych, "na których patrzą" inni.

Jak dobrze być sobą

Co się dzieje, gdy klient/użytkownik spotyka się oko w oko z naszym oprogramowaniem? Podobnie jak w wypadku kontaktów międzyludzkich, o wszystkim decydują pierwsze minuty. Wszystko może mieć znaczenie: program instalacyjny i jego "bezobsługowość", sposób uruchamiania aplikacji, jej interfejs, sposób komunikowania się z użytkownikiem, stylistyka i logika menu, efektywność przetwarzania danych itd. Satysfakcja użytkownika jest tym, o co wszyscy walczą, lecz jest to wartość nieprzewidywalna, bo subiektywna i oparta na niemożliwych do poznania przesłankach. Na szczęście, podobnie jak w świecie mody, tak i tutaj dysponujemy kilkoma mechanizmami skutecznie ograniczającymi pole manewru klienta.

Podatność na sugestię i wpływ autorytetów czynią większość ludzi bezbronnymi wobec autorytarnych stwierdzeń wielkich kreatorów mody. Skoro wszyscy chodzą w butach ze ściętym czubem, to i ja muszę. Jest to modne, eleganckie i "jest to mój wybór". Podobnie z oprogramowaniem. Stosowanie Windows jest modne, aplikacje są eleganckie i "jest to mój styl", którego jestem wart. Gwarantuje to już nie tyle twórca aplikacji, ile ogólnoświatowy standard, z którego korzysta. Twórca nie musi nic udowadniać, o nic się starać, wystarczy, że jego produkt jest zgodny ze standardem. Naśladowanie największych stylistów aplikacji Windows, korzystających ze standardowych bibliotek, gwarantuje sukces. Produkt taki zawsze będzie modny.

W zasadzie na każdej platformie aplikacyjnej obowiązuje pewien style guide - standard, który reguluje i normalizuje sposób interakcji z aplikacją. Środowisko graficzne dodaje elegancji, pozwalając rozbudowywać aplikacje o różnego rodzaju efekty, ikony, obrazki, filmy itd. Trzeba przyznać uczciwie, że popularyzacja interfejsów graficznych przyniosła olbrzymi postęp w zakresie interakcji z systemem informatycznym, szczególnie w przypadku użytkownika nieprofesjonalnego. Intuicyjność i prostota różnego rodzaju systemów "okienkowych" wyraźnie obniżyła poprzeczkę kwalifikacji niezbędnych do korzystania z komputera. Często jednak, szczególnie młodzi ludzie (wiem to z doświadczenia), przesadzają ze stosowaniem elementów składowych nowoczesnego środowiska graficznego. Przepełnienie treścią, tzw. bajerami, nie tylko rozprasza "pamięć krótkotrwałą" użytkownika, lecz odciąga programistów od implementacji właściwej funkcjonalności aplikacji.

Pamiętam, kiedyś przyszedł do mnie student, który miał wykonać projekt prostego sortowania bąbelkowego. Po miesiącu przyniósł interakcyjny program napisany w wersji Turbo Pascala, z pokaźnym menu i wieloma okienkami, z tym że sortowanie jeszcze nie działało! Nie chcę powiedzieć, że nowoczesność i atrakcyjność wizualna programów jest naganna. Postuluję elegancję oprogramowania, tzn. przemyślaną harmonię i wyważone proporcje między interfejsem a funkcjonalnością aplikacji. Bezmyślność naśladowania "dojrzałych" aplikacji przez niedoświadczonych programistów jest często oznaką braku pewności siebie, poczucia własnej wartości, a czasem po prostu brakiem odpowiedniego warsztatu.

Mimo iż często szybkie rzucenie przyszłego użytkownika na kolana przed instalującą się aplikacją gwarantuje sukces na rynku, nie jest właściwą strategią działania. Oszukany użytkownik, który zawiódł się na perfekcyjnym makijażu, pod którym nie ma nic wartoś-ciowego, nie da się oszukać drugi raz. Negatywnego stereotypu nie można łatwo odbudować. Psychologiczne prawo pierwszego wrażenia, swoista "pamięć złych zdarzeń" w przypadku jednego użytkownika obraca się tylko przeciwko niemu, w przypadku tysięcy prowadzi do zniknięcia firmy z rynku.

Dzieło naszych stylistów

W wielu innych gałęziach przemysłowych funkcjonują styliści odpowiedzialni za kształtowanie nie tylko walorów użytkowych produktów, lecz także wartości estetycznych. Stylizacja samochodów, wzornictwo sprzętu AGD i AV są warunkami koniecznymi sukcesu rynkowego tych produktów. Są to przedmioty powszechnego użytku, których używamy codziennie, liczy się więc przemyślana wygoda i przyjemność korzystania z nich. Wygląd splata się tu z funkcjonalnością. Styl interfejsu ze stylem działania. Tak samo powinno być z oprogramowaniem.

Styl działania programu objawia się w różny sposób: w ciągu kolejnych działań użytkownika, w integracji z innym oprogramowaniem i w obsłudze sytuacji wyjątkowych, komunikatach na ekranie, dostępnej podręcznej pomocy itd. Elegancki program, tak jak człowiek, mówi: proszę, przepraszam, dziękuję. Grzecznie informuje: "Przykro mi, ale pan się myli", "Niestety, ale drukarka jest zajęta, proszę spróbować później". Elegancki program nigdy nie znika z ekranu bez słowa pożegnania i nie ma "ogólnych problemów z protekcją". Niedawno słyszałem, że podczas testów jakiegoś oprogramowania jednemu z jego twórców program "rzucił w twarz" komunikat o błędzie następującej treści: "Błąd!" Czy było to zachowanie nieeleganckie, czy wręcz...

Unikalna jakość opracowana w naszych laboratoriach

Zachowanie programu, o którym mówimy, nie bierze się znikąd. Oprogramowanie jest wypadkową ludzkiej pracy, procesów wytwórczych i narzędzi, których użyto. Jeśli rozpoznajemy w nim znamiona elegancji, to dlatego że ktoś ją w nie wbudował, zaprogramował. W działającym programie jak na dłoni widać wszelkie niedociągnięcia, problemy z kontrolą jakości, brak czasu, swąd spalenizny po gaszeniu kolejnych pożarów w projekcie. Elegancja programu jest bardzo czułym wskaźnikiem harmonii i kultury procesów, które doprowadziły do jego powstania. To tak jakby szyć jednorzędowy garnitur zamówiony na wczoraj, zwymiarowany calówką, wykrojony przez różnych krawców z wzorników do garnituru dwurzędowego z materiału zniszczonego i zaplamionego. Mimo iż jest to także garnitur i jakoś spełnia swoje zadanie, pozostaje wrażenie niedosytu. Czy na pewno wyglądamy w nim elegancko?

Kontrola jakości, która w większości przypadków bada zgodność ze specyfikacją, wyda pozytywną opinię o takim produkcie. Przecież kryteria techniczne są spełnione, nie ma więc podstaw, by użytkownik programu nie zaakceptował. Pozostaje tylko do rozstrzygnięcia problem "na kogo padnie tym razem", aby osoba ta pojechała do klienta i przekonała go, że ten niemodny i nieelegancki garnitur z oberwanym rękawem, kilkoma plamami itd. jest tym, za co zapłacił ciężkie pieniądze. Co gorsza wiem, że są ludzie, którzy to robią codziennie i nie zadają trudnych pytań. Tym, co mnie intryguje, jest proces zobojętnienia producentów oprogramowania na negatywne opinie użytkowników, brak refleksji nad tym, co i jak się robi.

Myślę, że winę za to ponosi chaos panujący w procesach wytwórczych większości przedsięwzięć informatycznych, który nie pozwala zastanawiać się nad alternatywami rozwiązaniami, w szczególności nad wybieraniem tych bardziej eleganckich. Zwykle wdrażamy pierwsze skuteczne rozwiązanie, pozostawiając prowizorkę do poprawy w przyszłości. Praktycznie na zawsze. Tchnięcie w produkt wyższych wartości wymaga jednak zastanowienia, chwili refleksji, zgody na cyzelowanie drobnych szczegółów, nie zwiększających funkcjonalności, ale poprawiających jakość produktu, wygodę użytkowania, wygląd interfejsu i elegancję działania. Na ile wymienione cechy będą widoczne w programie, na tyle widoczna będzie wysoka kultura projektowania producenta: "Pokaż mi jak elegancki jest twój produkt, a powiem ci, jakie są twoje procesy wytwórcze". Michał Anioł mówił: "Nie lekceważcie detali, bo z nich składa się życie, a życie to nie detal".

Kultura projektowania powinna opierać się na trwałych wartościach. Wśród nich obowiązkowo powinny się znaleźć: satysfakcja klienta, rzetelność, uczciwość, profesjonalizm, efektywność, użyteczność, itp. Są to atrybuty firmy, która działa zgodnie z regułami sztuki inżynierskiej, korzystając ze zdobyczy naukowych, inżynierii oprogramowania. Pragmatyzm, który obecnie jest modny i bardzo "pragmatyczny", nie wyklucza wcale działań projektowych, ukierunkowanych na dodatkowe kryteria projektowe. Trzeba tylko od początku postawić elegancję projektu i oprogramowania na równi z jakością. Należy w harmonogramie zarezerwować czas na generowanie alternatywnych koncepcji i wygładzanie już istniejących. Trzeba wreszcie budować kulturę projektowania, która ukierunkowana jest na jeden z najważniejszych składników satysfakcji klienta - elegancję systemu, produktu, programu, usługi.

Testowanie miecza

Stary mistrz wziął z sobą ucznia i obaj udali się nad rzekę. Tam wbili swoje miecze w dno rzeki i obserwowali spływające liście. Te, które dotykały miecza ucznia, omijały go, dotykając zaledwie przez chwilę. Te, które dotknęły miecza mistrza, omijały go, ale rozcięte na dwie części...

Prawdziwa elegancja oznacza także skuteczność. Kosztuje, ale przede wszystkim wymaga chęci, wysiłku i pracy nad sobą. Nie można mieć wyników bez zaangażowania. A zacząć trzeba od małych kroków, rzeczy niewielkich, drobnych usprawnień. Czasem trzeba pozwolić projektantom na chwilę szaleństwa i pofantazjowanie. Rzeczy, które wtedy powstaną, mogą mieć większą wartość dla nas i dla klienta, nawet jeśli projekt zakończy się trzy miesiące później.

Za tydzień na temat elegancji oprogramowania opublikujemy artykuł Jarosława Badurka, za dwa tygodnie Przemysława Gamdzyka.

Czekamy też na Państwa opinie.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200