środa, 21 września 2011

Specyfikacja

Po wakacjach wyraźnie wzrosła liczba zapytań kierowanych w różny sposób przez potencjalnych klientów, dotyczących projektów jakie zamierzają zrealizować. Pozwala to dostrzec pewne elementy, które ułatwiają wybór klienta, ponieważ mam wrażenie, że przy obecnej liczbie potencjalnych klientów sztuką jest odpowiedni dobór, a nie samo pozyskanie klienta.
Pojęciem które zwykle wiąże się z przygotowaniem projektu jest specyfikacja, która to trafia do nas najczęściej w załączniku, lub po wcześniejszym zapytaniu o samą chęć podjęcia współpracy, bywa też tak genialna (zdaniem wysyłającego), że jest tajna i może być przesłana dopiero po podpisaniu umowy o poufności.
Wśród specyfikacji wyróżniłbym następujące typy:

Specyfikacja wirtualna

Jest to specyfikacja, która nie istnieje. Zwykle pojawia się kiedy ktoś ma jakąś wizję i jest napalony żeby jak najszybciej ją zrealizować, często jest gotowy uprościć ją do minimum byleby zacząć, a potem nie da już spokoju odkrywając przed nami coraz głębsze i co raz bardziej nietrzymające się kupy jej elementy. Wirtualna napisałem dlatego, żeby odróżnić ją od kolejnej sytuacji kiedy również nie ma specyfikacji, ale klient nie twierdzi że ma i nie twierdzi że wie :)

Brak specyfikacji

Mam na myśli sytuację kiedy klient ma jakiś ogólny pomysł, a może nawet częściej potrzebę, ale nie zna się lub nie ma zamiaru narzucać szczegółów rozwiązania. Chociaż na pierwszy rzut oka mogłoby się wydawać, że to źle, to z moich doświadczeń wynika, że szczególnie przy małych i średnich projektach jest to najlepsze co może być. Narzucamy wtedy swoje rozwiązania o których mamy pojęcie i tłumaczymy mu tylko co i jak. Jeśli klient jest kumaty, to wszystko idzie sprawnie :) Piszę "kumaty", bo chodzi o to żeby łatwo rozumiał co mu mówimy i logicznie formułował swoje pomysły, a nie o to żeby znał się na komputerach...

Specyfikacja baaaardzo szczegółowa

Chyba jako człowiek leniwy szczególnie takich nie lubię. Wygląda to zwykle tak, że ktoś opisuje bardzo szczegółowo oczywiste funkcje, a w skrajnych przypadkach powtarza te opisy dla każdego elementu np opisuje każdą podstronę która różni się tylko treścią i jeszcze robi do tego makiety najlepiej w jakimś programie, który do tego nie służy. W takiej specyfikacji autor objaśni nam, że jak w wyszukiwarce ktoś wybierze Warszawę to mają się pokazać oferty z Warszawy, a jak Gdańsk to z Gdańska. Czytanie czegoś takiego jest męką, tym bardziej, że połowę (jeśli nie całość) czyta się często nie mając nawet informacji o czym się czyta, ponieważ autor skupiony na szczegółach zapomniał wpisać tytułu, czy krótkiego wstępu. Jak się już człowiek zorientuje o co chodzi to wypada przeczytać od nowa ze zrozumieniem, a potem przed rozpoczęciem pracy wypadałoby wyłapać i wyjaśnić każdy szczegół, który:
  • powinien być zrealizowany inaczej z przyczyn obiektywnych jak np: są gotowe rozwiązania działające trochę inaczej (czasem lepiej), więc np ze względu na koszty i czas lepiej wziąć gotowiec
  • jest niemożliwy do zrealizowania - kiedyś mi klient napisał że strona ma mieć ekran pożegnalny, który jak potem nieszczęsny zrozumiałem miał się pokazywać po jej zamknięciu :)
  • wydaje się dziwny, niepotrzebny, wynikający z niewiedzy...
Jeżeli tego nie przemielimy i nie wyjaśnimy narażamy się na ryzyko, że potem ktoś będzie nam mógł wypunktować niezgodności ze specyfikacją, a za analizę specyfikacji nikt nam nie płaci, więc szczególnie jeśli ich dużo nie możemy poświęcać na nie za wiele czasu. Osobiście mnie takie projekty trochę odstraszają - zamiast specyfikacją kieruję się opinią o kliencie - zarówno o firmie jak i osobie kontaktowej. Problem osoby kontaktowej jest dość ważny - większe firmy mają pracownika, który podczas realizacji projektu będzie nam ułatwiał pracę, a nawet wykonywał jej część, lub zatruwał życie debilnymi pomysłami. Źle jeśli jest to osoba, która dużo wymyśla, ale o wszystko musi pytać szefa, ponieważ najpierw coś wymyśla i pyta nas (boi się że szef uzna pomysł za głupi) my wyjaśniamy, wtedy jest mądrzejsza i albo pyta szefa albo nie, a potem szef albo się zgadza albo nie. Stajemy się więc trochę takim korepetytorem ;) Dobrze jak jest to osoba komunikatywna, decyzyjna, inteligentna i sympatyczna.

Specyfikacja "taka jak" oraz specyfikacja "taka jak sprzeczna"

Specyfikacja "taka jak" to krótkie pytanie w stylu: Ile kosztowałaby u pana strona taka jak allegro/maxmodels/grupon/facebook. W sumie należałoby do tego opatentować typ odpowiedzi "tyle co". I odpowiadać tyle co allegro/maxmodels/grupon/facebook. Nie są to takie złe tematy jeśli mamy na oku jakiegoś gotowca działającego podobnie, zwykle prostszego. Posyłamy linka do dema i jeśli klientowi to odpowiada to jest git... Jeżeli nie ma gotowca to pewnie jest to za duży projekt do realizacji przez freelancera.
Specyfikacja "taka jak sprzeczna" to pytanie typu: chciałbym stronę coś jak nk.pl, lub wp.pl gdzie nie dostrzegamy żadnego podobieństwa poza dwuliterową domeną ;] W tej sytuacji proponuję poprosić klienta o przesłanie specyfikacji ;)

Specyfikacja marzeniowa

Widać, że autor specyfikacji siedzi w temacie i pomyślał o wszystkim. Pisze o systemie który ma wszystkie funkcje o jakich można zamarzyć, może być rozbudowywany na wszelakie sposoby, komunikuje się z innymi dzięki funkcjonalnemu api, może zmieścić nieograniczone ilości danych działając przy tym szybko i bez zakłóceń. Jest to połączenie najlepszych wzorców, funkcje są jakby zbitką najlepszych haseł wziętych z opisów różnych dużych CMSów, czy sklepów, które nawet w nich nie koniecznie w praktyce sprawdzają się tak dobrze. Dzisiaj miałem zapytanie w którym sklep miał obsługiwać 7 systemów płatności wymienionych z nazwy i oczywiście mieć możliwość łatwego dodania kolejnych - nie wiem komu jest potrzebne 7 systemów płatności w 1 sklepie? Co zrobić z takim zapytaniem? wpadłem na to klepiąc ten wpis - należy polecić firmę która specjalizuje się w obiecywaniu cudów, a potem instaluje gotowca i zmienia CSS, lub podzleca to zadanie. Ktoś jednak musi napompować tą realizację by jej wyjątkowość odpowiadała oczekiwaniom zleceniodawcy :)

ps. obiecuję że się wezmę i napiszę coś przydatnego następnym razem

środa, 17 sierpnia 2011

As we notified you earlier, this feature is temporarily unavailable because you've been making spammy and irrelevant posts on Facebook Pages.

Do niedawna facebook był miejscem w którym wstawienie linku było prostsze niż gdziekolwiek indziej. W dodatku przy dobrym ustawieniu strony (meta tagi dla FB) były to linki wzbogacone w grafikę. Wystarczyło kliknąć "Lubię to!" na jakiejkolwiek tablicy strony (najlepiej jakiejś popularnej) i wkleić link. Wydaje mi się, że jeszcze miesiąc temu nie było w tym zakresie żadnych ograniczeń. Sam akurat rozkręcałem portal, który doskonale nadawał się do popularyzowania na FB. Wrzucałem więc bardzo dużo linków na popularnych tablicach (np lady gagi ;]). Potem moja aktywność opadła. Ostatnio wrzuciłem kilka linków (jak się nie mylę to 3 razy ten sam link na różnych tablicach) i dostałem komunikat:

As we notified you earlier, this feature is temporarily unavailable because you've been making spammy and irrelevant posts on Facebook Pages.

Co dla nieznających angielskiego (komunikatu nie raczyli/zdążyli przetłumaczyć co też by wskazywało na to, że to nowość) w moim genialnym tłumaczeniu oznacza:

Ta funkcja jest chwilowo niedostępna (o czym już Cię informowaliśmy), ponieważ wrzucałeś spamerskie i nieodpowiednie posty na strony facebookowe.

Akurat co do nieodpowiedniości tych postów miałbym wątpliwości, ponieważ nie są to posty typu: "Franek jest dzisiaj seksowny na 67%", tylko linki do video, lub artykułów związanych ze stroną danego artysty, które bardzo często są jeszcze likeowane przez użytkowników FB, lub samego właściciela strony. Nie da się wykluczyć zgłoszenia przez kogoś jako spam, ale stawiałbym na zwykłe wyliczenie - wrzuciłeś X razy ten sam link na różne tablice to spamujesz... ciekawe, czy jest ktoś w stanie to potwierdzić??

Niezależnie od tego jak to działa to wydaje mi się, że działa niedoskonale, ponieważ nie wiadomo dlaczego zostaliśmy zablokowani. Nie ma informacji kto i co zgłosił jako spam? albo chociaż ile było zgłoszeń. Moim zdaniem idealną funkcją ograniczającą zjawisko spamowania byłoby blokowanie użytkowników - po kliknięciu w krzyżyk obok posta oprócz opcji usuń/zgłoś spam dodatkowo - blokuj posty od tego użytkownika... ale pewnie nikt z facebooka nie czyta mojego cudownego bloga, który z bloga o programowaniu staje się chyba blogiem o marudzeniu...