Przekonać kienta do Ruby/Ror - jak tego dokonać?

Witam.
Prosta sprawa, chyba dość popularna.

Klient chce projekt www, nie zna się na technologiach - z jego punktu serwis ma działać poprawnie i szybko.
Coś poczytał, sprawdził koszty hostingu etc - chcę aby to koniecznie było wykonane w PHP (bo tanie, bo każdy zna, bo wszędzie tego pełno).

I jak go teraz przekonać aby nie szedł to drogą i dał się namówić na Ruby/RoR?
Jakich argumentów z reguły używacie?
Oczywiście ważne jest aby nie stracić klienta.

Pozdr.

  • czas wykonania aplikacji?
  • cena (w akcie desperacji)

ale w sumie nie ma nic gorszego niż przemądrzały klient ;] skoro jest taki dobry to czemu sam sobie nie napisze? ;]

Argumenty sevos’a są najważniejsze.
Dodałbym jeszcze bezpieczeństwo (rzuć coś o SQL Injection), o krótszym czasie naprawy ew. bugów i o skalowalności (jeśli będzie to miało znaczenie).

Ehh znam to, ale nie oszukujmy się nie zawsze RoR jest lepszy, wydaje mi się (a przynajmniej w moim przypadku) że często niechęć do PHP i lenistwo są największym argumentem za RoR :slight_smile:
Czasem dla klienta PHP jest lepszy (ceny hostingu, dostępność, jaśniejsza przyszłość przy zmianie wykonawcy).

Jednakże, ja bym użył argumentu pt. jeśli zechce Pan coś zmienić w przyszłości, np. funkcjonalność, rozszerzyć możliwości i zakres artykułów, RoR będzie tańsze, szybsze i bardziej niezawodne. Jeśli chce Pan w sumie za każdym razem robić serwis od nowa płacąc przy tym krocie, polecam PHP.

Zakładam, że dobrze znasz Railsy skoro się przy nich upierasz. Wobec czego:

To są najpoważniejsze argumenty za ROR.

To są kiepskie argumenty przeciw ROR.

Moim zdaniem technologia ma najmniejszy wpływa na jakość aplikacji. Znajomość technologi przez dewelopera i jego fachowość już oczywiście jak najbardziej.
Ja osobiście wychodzę z założenia, że technologia powinna być PRAWIE zawsze wyborem po stronie wykonawcy. To on jest specjalistą, zna swoje możliwości i posiada swoje narzędzia i związane z nimi umiejętności - czyli wie co jest najlepsze dla klienta :wink:
Myślę, że odpowiednio dobre portfolio, czy też jakakolwiek inna preferowana metoda prezentacji swoich umiejętności, powinno zepchnąć rozważania na temat technologii na 2. plan. Klienta chyba raczej zdobywa się przekonując go do siebie jako do fachowca, a nie do technologi.

Ceny hostingu nie są obecnie aż tak wysokie i moim zdaniem to nie powinien być problem dla poważnego zleceniodawcy, któremu zależy na jakości serwisu i którego działalność przynosi wymierne zyski. Koszty miesięczny hostingu znajduje się obecnie w okolicach stawki godzinnej specjalisty zajmującego się utrzymaniem/rozbudową serwisu (oczywiście zależy od hostingu i specjalisty ale w przybliżeniu tak właśnie chyba jest).

A tak w ogóle to awanturującego się klienta należy ubrać w krawat, a jak to nie pomoże to oddać konkurencji;)

To nie jest takie oczywiste. Jeśli robisz zlecenie dla innej firmy informatycznej, to dla nich bardzo istotne będzie, czy znajdą potem innych developerów, którzy pociągną dalej projekt. Nie jest to bez znaczenia również dla zwykłych klientów, choć Ci drudzy są tego mniej świadomi.

Mówiąc krótko - programistę Javy/PHP znajdziesz zawsze, a z programistą RoR może być znacznie większy problem (oczywiście ten drugi będzie znacznie lepszy :wink: )

Ktoś ma do odrobienia podstawy negocjacji i rozmów z klientem :wink:
W dużym skrócie: technologia powinna być ZAWSZE wyborem klienta, dla którego projekt jest wykonywany. Natomiast wykonawca powinien ZAWSZE tak klienta urobić, żeby – pomimo teoretycznie klienta wyboru – najlepszym wyborem klienta była technologia preferowana przez wykonawcę :wink:

i to prawda, jeden marudzący klient = 2 klientów straconych (chociażby czas który spędzisz przy nim). I wiem jedno, nie ma ważnych klientów, którym się robi specjalnie: tanio, inaczej, po nocach. Taki klient i tak Cię może olać, a tylko uczysz go złych manier pozwalając mu na marudzenie. Ja mam takie stereotypy klienta:

  1. wie czego chce, ale wierzy w Ciebie jako specjalistę - ideał
  2. wie czego chce i jak, płaci odpowiednio dużo, żebyś nie był stratny na tym (wtedy to nawet można się Javy uczyć - jak kto nie umie a klient chce)
  3. nie wie czego chce, nie ufa Ci, kolega jego kolegi powiedział koledze że dobry jest Basic… chce wszystko w basicu, okraszone flashem, z filmikami, ale całość ma się szybko ładować i hosting ma być za darmo (no przecież widział że jest hosting za darmo to po co płacić)!

Wszyscy piszą bo szybsze, bezpieczniejsze etc.
A macie może jakieś w miarę wiarygodne materiały online które prezentują cyferki.
Np. Na stronie xyz.com jest opis, wykres - widać ze serwisy w RoR są 30% wydajniejsze, ich rozbudowana trwa 10% krócej itp.

Chodzi mi o to aby nie przedrzeźniać się z klientem sloganami tylko zaprezentować wiarygodne liczby/porównania.
Klient musi na końcu być przekonany że zyska $$ na przejściu z PHP do RoR.

Może to by było najlepsze wyjście?

Ja bym się zastanowił czy na pewno warto temu klientowi pisać projekt w RoR (wiem, że napisałeś, że nie chcesz klienta stracić, ale lepiej jest stracić na etapie wyboru niż po projekcie, z którego klient nie będzie zadowolony).

Imho:

  • zastanów się czy klient ma odpowiedni budżet. Jeżeli nie ma odpowiedniej kwoty i wystarczy mu na szybkie zbootstrapowanie aplikacji bez żadnego otestowania, to może lepiej niech rzeczywiście wynajmie jakichś tańszych coderów PHP - bardzo prawdopodobne, że projekt upadnie, ale przynajmniej nie padnie na RoR i nie z Tobą w roli wykonawcy :wink:
  • spróbuj oszacować ile będzie kosztował hosting i od razu powiedz to klientowi, nie będzie niedomówień. Bo później może być tak, że projekt skończony, można odpalić, a klient marudzi “czemu to tak drogo kosztuje? na hostingu x biorą 20zł rocznie”

Być może okaże się, że wcale nie chcesz robić tego projektu :wink:

Jeśli wykonawcą jest Agencją mająca w zasobach pracowników piszących w różnych językach to zrozumiałe, że ma większy portfel usług, możliwości i co za tym idzie łatwiej różnych Klientów podejmie.

Natomiast jeśli jesteś jednostką wykonawczą i decydującą to musisz się zastanowić co potrafisz i czego tak naprawdę chcesz.
Mając praktyczne doświadczenie w róznych językach możesz podjąć różnych Klientów, no może nie tak jak Agencja ale zawsze masz możliwości działać podobnie tylko w mniejszym zakresie.

Wybierając jeden język np. Ruby, technologie i rozwiązania z nim powiązane, wykonawca może stać się jednostką silnie rozwijającą się i praktycznie umacniającą się w jednym temacie ale z dużym zakresem możliwości. Skupiając się np. na Railsach spędzasz cały czas na douczaniu się, uczesniczeniu na konferencjach, wykładach, forach, ciągle starasz się być na topie tematu. Z czasem to wypiszesz na swojej stronie informacje, że aktywnie i praktycznie jesteś obecny w temacie, pokażesz też portfolio samych zleceń pisanych w Railsach. Takie informacje i portoflio za siebie będą mówić.

Możesz określić ramy wykonywania usług i powód dlaczego wybrałeś taką a nie inną technologie. Rozpisać plusy i minusy takich rozwiązań oraz Twojego podejścia. Najlepiej odesłać Klienta na swoją stronę informacyjną, albo wysłać mu rozpiskę w PDFie, gdzie nie tylko będzie zachwalanie o Ruby i Railsach. Klient chce znać jakie są jego korzyści, przecież płaci i chce wiedzieć co z tego będzie miał, to Klient ma wybrać i zdecydować. Ty masz mu podsunąć informacje, niech sobie poczyta i pozna możliwość oraz zakres usług. Unikniesz w ten sposób wstępnych i długich rozmów.

Dajesz rozpiskę usług, Klient wstępnie się decyduje, następnie specyfikacja, akcpetacja, umowa. Wynikiem czego nikt czasu nie traci.

Tak jak wcześniej napisał @Wojciech Zieliński “i to prawda, jeden marudzący klient = 2 klientów straconych (chociażby czas który spędzisz przy nim). I wiem jedno, nie ma ważnych klientów, którym się robi specjalnie: tanio, inaczej, po nocach. Taki klient i tak Cię może olać, a tylko uczysz go złych manier pozwalając mu na marudzenie.”

Dobrze napisane: +1 dla @tczubinski
Tylko chyba lepiej by było jakby te zalety RoR były sporządzone prze kogoś innego - jakaś poważna firma/strona.

[quote=gregorz]Wszyscy piszą bo szybsze, bezpieczniejsze etc.
A macie może jakieś w miarę wiarygodne materiały online które prezentują cyferki.
Np. Na stronie xyz.com jest opis, wykres - widać ze serwisy w RoR są 30% wydajniejsze, ich rozbudowana trwa 10% krócej itp.[/quote]
To jest trochę jak z sondażami poparcia dla partii politycznych. W zależności od tego kto będzie prezentował wyniki, będą one różne. Poza tym, wydajności zależy także od umiejętności programisty, jak w pętli będziesz wykonywać find na modelu to choćby ruby był demonem prędkości to serwis wydajniejszy nie będzie.

Co do twojego pytania zastanów się ile czasu poświeciłbyś na napisanie aplikacji w jednej i drugiej technologii i podaj odpowiednią wycenę.

pozdrawiam

Dokładnie jak piszesz. Dlatego ważne jest aby prezentowała do poważna firma/czasopismo etc.