Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Ile kosztuje napisanie programu ?

18 Sty 2008 10:38 14183 23
  • #1 18 Sty 2008 10:38
    Anonymous
    Użytkownik usunął konto  
  • #2 18 Sty 2008 11:26
    _Matik_
    Poziom 19  

    Moim zdaniem trzeba szacowac ile czasu zajmie dany projekt. Jeszcze niedawno myslalem o kwotach rzedu 15 zl za godzine, ale obecnie nie wzialbym mniej niz 30-35 zl za godzine pracy z tego prostego wzgledu ze okolo 20 zl mam za srednio precyzyjne chalupnictwo elektroniczne.

    W praktyce uwazam ze problem jest duzo bardziej skomplikowany bo zawsze wyskakuje jakies "ale" podczas realizacji, czesto z powodu niedokladnie sprecyzowanych wymagan potencjalnego klienta.

    Jakbym nie liczyl, to zawsze wychodzi mi ze lepiej siedziec w robocie 8 godzin a potem odpoczywac bo dorabianie po godzinach na realizacji projektow jest nierentowne. Zeby miec pewnosc ze wyjdzie sie na swoje, trzeba zawolac tyle ze potencjalny klient lapie sie za glowe i mowi ze jakis glupi studencik (bez urazy, sam nim niedawno bylem) zrobi mu to za 1/4 kwoty.
    Przyznam ze dotychczas nie mialem kontaktu z jakims bardzo powaznym klientem ale powazne firmy maja chyba swoich ludzi do realizacji projektow.

    Gdybym mial udokumentowane doswiadczenie (kilka powaznych projektow komercyjnych, bo niekomercyjne to mam) to nie schodzilbym ponizej 50-100zl za godzine.

    0
  • #3 18 Sty 2008 11:31
    seba_x
    Poziom 31  

    jeśli masówka to możesz negocjować % od sprzedaży (tylko nie przesadź) a prog. napisać gratis

    zorientuj (wyszpieguj) się na allegro , jest dużo ofert pisania programów , ja za prostą bazę danych (całość około 900kb) zapłaciłem 3 stówki .

    0
  • #4 18 Sty 2008 11:42
    Anonymous
    Użytkownik usunął konto  
  • #5 18 Sty 2008 11:49
    Ch.M.
    Poziom 27  

    Witaj
    Jeśli chodzi o samo pisanie programu to cena 30zł/h myślę, że jest odpowiednia przy prostych projektach, a juz coś bardziej skomplikowanego nie da się wycenić, bo od programu do uruchomienia często jest bardzo długa droga. O wiele szybciej wyjdzie zaprojektowanie układu, napisanie programu i uruchamianie sprzętu, ale sądzę że za taką kompleksowa obsługę to już poniżej 100zł/h to nie warto siadać
    Pozdrawiam

    1
  • #6 18 Sty 2008 11:50
    asembler
    Poziom 32  

    Srednio napisanie i przetestowanie (to gorsze) programu zajmuje 2-4 tygodni po 8 godz dziennie a jeśli jest coś skomplikowanego to myśli sie nad tym 24/24. Programy 8kB na Atmega. Oczywiscie wszystko zalezy od programu. Niekiedy trafi sie ze poskladasz podprogramy skopilujesz i w godzinke masz 300 stówy. Teraz biorąc ze na miesiac powinienes miec 2000 min wystarczy wyliczyc ile to bedzie kosztowało. Licząc stawkę godzinową np 50zł jak tu ktoś sugerował to wychodzą straszne sumy. Da ktoś 3000 za program?

    0
  • #7 18 Sty 2008 15:21
    marek_Łódź
    Poziom 36  

    asembler napisał:
    Srednio napisanie i przetestowanie (to gorsze) programu zajmuje 2-4 tygodni po 8 godz dziennie a jeśli jest coś skomplikowanego to myśli sie nad tym 24/24. Programy 8kB na Atmega. Oczywiscie wszystko zalezy od programu. Niekiedy trafi sie ze poskladasz podprogramy skopilujesz i w godzinke masz 300 stówy. Teraz biorąc ze na miesiac powinienes miec 2000 min wystarczy wyliczyc ile to bedzie kosztowało. Licząc stawkę godzinową np 50zł jak tu ktoś sugerował to wychodzą straszne sumy. Da ktoś 3000 za program?
    50x150 godz/mc daje 7500. Nie jest to jakaś zabójcza kwota. Oczywiście mówimy o pracy, a nie o symulacji. Biorąc pod uwagę fakt, że na etacie znaczna część czasu idzie na rozkurz, tam mamy podobne stawki.

    0
  • #8 18 Sty 2008 19:19
    adamusx
    Poziom 27  

    Sprawa nie jest taka prosta. Z reguły trzeba na początlku ustalić jakąs konkretną kwotę która potem ewentualnie klient może negocjowac. Wiec ustalamy, że bierzemy za program 2k ,a może sie okazac ze siedzenia i dłubania wychodzi znacznie wiecej niz sie zakładało... a czasami jest wręcz odwrotnie.
    Poza tym liczenie sobie godzinowek wg jest smieszne. Klient zleca program, a wykonawca mowi ze godzina jego pracy kopsztuje 40zł i zajme mu to 50h. Inny programista napisze ten sam program w 20h. Wszystko zalezy od doswiadczenia. No ale oczywicie trzeba cenić swoje umiejetnosci i na początek rzucać zawyżone kwoty :)

    0
  • #9 18 Sty 2008 20:37
    marek_Łódź
    Poziom 36  

    Najprostszym sposobem wycenienia każdej pracy-zlecenia (również programu) jest oszacowanie pracochłonności (np. w godzinach) i pomnożenie tego przez stawkę godzinową. Oczywiście można cenę odczytać z sufitu czy z garnituru klienta lub wyznaczyć ją w dowolny inny sposób, ale ten pierwszy sposób jest najbardziej przejrzysty.

    0
  • #10 18 Sty 2008 20:40
    prokopcio
    Poziom 29  

    Witam. Zgodzę się w pełni z adamusx'em. Ustalanie z klientem stawek godzinowych jest po prostu śmieszne (patrząc od strony klienta). Jestem producentem co prawda gotowych urządzeń a nie jedynie programu i oczywiście trzeba sobie jasno powiedzieć ile chcemy na tym zarobić i ile czasu nam to zajmie - tutaj chyba najważniejsza uwaga !!! NALEŻY ZAWSZE USTALIĆ JAK NAJWIĘCEJ SZCZEGÓŁÓW Z KLIENTEM. Później SOBIE rozpisujesz mniej więcej ile może to potrwać czasu powiedzmy 4 dni i dodajesz ze dwa dni na nieprzewidziane sytuacje i ustalasz ile chcesz na tym zarobić (czyli za 6 dni roboty) powiedzmy 2000zł i taką kwotę podajesz klientowi ( jako firma muszę niestety doliczyć klientowi sporo kosztów żeby zarobić tyle co zasugerowałem ) - Podkreślasz klientowi wyraźnie podczas ustalania szczegółów, że cenę wyliczysz dla tych ustaleń i każda zmiana będzie kosztować i zwiększy się termin realizacji. W ten sposób zmusisz klienta do dokładnego zastanowienia się czego naprawdę potrzebuje i nie będzie kłopotu. Jeśli klient nie zmieni założeń w trakcie roboty to Ty również nie zmieniaj ceny i nie oddawaj projektu przed terminem (przeważnie przed terminem i tak nie jest gotowe ;-) ). Godzinówki nie wchodzą w grę bo nawet gotowy (Swój) program możesz sprzedać w cenie takiej jakbyś każdemu go pisał od nowa.

    Tyle z mojej strony.
    pozdrawiam.

    0
  • #11 18 Sty 2008 20:48
    kamyczek
    Poziom 34  

    Nigdy nie liczyłem programów na godziny, kilobajty,słowa Bo jest to głupota . Ja pisze program w 3 godziny inny w 3 dni a jeszcze inny w 3 lata tego nie napisze a program ten sam . Ktoś napisze w C 2KB kodu ja napisze to samo w asemblerze w 1K mam wziąć 2 razy mniej ?. Ja musze dostać zagadnienie zastanawiam sie jak je rozwiązać . Potem proponuje cenę jednostkową za mikroprocesor zaprogramowany przy ilości sztuk nie mniej niż ... Jeśli pasi ok . Jeśli klient woli kod to na bank chce coś robić w sporej ilości i za plik bin,hex śpiewam grubo . A jak chce jeszcze listing to cena ścina z nóg.

    0
  • #12 18 Sty 2008 21:04
    _Matik_
    Poziom 19  

    Oczywiste jest ze z klientem nie ustala sie jawnie stawki godzinowej, ale przeciez jakos trzeba szacowac koszt czasowy swojej pracy. Nie zgadzam sie z porownaniami ze jedna osoba zrobi cos w 3 godziny, a inna w 3 dni bo to oznacza ze ta druga osoba nie powinna brac sie za zlecenia. Sory batory. Nie ma tak ze jeden dobry elektronik/programista zrobi cos w czasie kilkukrotnie krotszym od innego. No chyba ze ktos ma juz gotowe podprogramy ale to wtedy tez trzeba jakos przeliczyc.

    0
  • #13 18 Sty 2008 21:26
    asembler
    Poziom 32  

    Nie spotkałem jeszcze klienta żeby wiedział w szczegółach czego chce.
    Raczej odwrotnie rzuca tylko niejasno o co mu chodzi i czeka na gotowe rozwiazanie a na pytania konkretne odpowiada przeciez pan jest od tego nie ja:) Jeżeli ktoś miał inaczej to pogratulować. I w tym jest cała trudność bo pierwsze ustalenia potem drugie i tak dalej

    0
  • #14 18 Sty 2008 21:37
    prokopcio
    Poziom 29  

    niezrozumiałeś mnie z tym ustaleniem szczegółów.... po prost trzeba zmusić klienta do myślenia przed a nie po ....

    0
  • #15 18 Sty 2008 22:32
    marek_Łódź
    Poziom 36  

    prokopcio napisał:
    Później SOBIE rozpisujesz mniej więcej ile może to potrwać czasu powiedzmy 4 dni i dodajesz ze dwa dni na nieprzewidziane sytuacje i ustalasz ile chcesz na tym zarobić (czyli za 6 dni roboty) powiedzmy 2000zł i taką kwotę podajesz klientowi
    I to według was nie jest kosztorys wynikający z pracochłonności (roboczogodzin) ;)

    Przygotowując projekt i rozpisując go na ludzi muszę w miarę dokładnie oszacować pracochłonność w godzinach, bo inaczej nie będę mógł określić terminu realizacji ani kosztów. Oczywiście można te koszty odczytać z sufitu, ale lepiej mieć je wyliczone, nieprawdaż?
    Prowadzenie firmy, w której się nie da w miarę precyzyjnie wyliczyć kosztów jest delikatnie mówiąc bez sensu. Różnice umiejętności i różna wydajność programistów nie ma tu nic do rzeczy, podobnie jak różne umiejętności np. rzemieślników układających kafelki, czy projektantów budowlanych. Po prostu ten wydajniejszy jest lepiej opłacany albo połowę czasu dłubie w nosie.

    ps Jeżdżąc do dużego koncernu na serwis oprogramowania (zmiany, rozszerzenia czy pisanie nowych programów, + grzebanie w sprzęcie) umawiam się WYŁĄCZNIE na rozliczenia godzinowe (po 60 zł za godzinę+koszty delegacji). Ten sposób pozwala mi uniknąć sytuacji, które miałem wcześniej, kiedy to klient niemiłosiernie wykorzystywał wszelkie luki w ustaleniach wstępnych. Zresztą podobnie rozliczała się z nimi firma angielska, robiąca mniej więcej to samo (urządzenia pomiarowe+soft), tyle że stawki były w funtach (67 funtów za godzinę).

    0
  • #16 18 Sty 2008 22:54
    prokopcio
    Poziom 29  

    Oczywiście, że trzeba dokładnie rosliczyć i dodać spory zapas, ale klientowi należy powiedzić kwotę za całość usugi bo w moim odczuciu klienci nie przepadają za godzinówkami bo nie wiedzą tak naprawdę, co robisz, ile powinno zająć czasu, patrzą na ręce i na zegarek (co jest gorsze) i mogą sobie myśleć, że ich naciągasz i do końca nie wiedzą ile tak naprawdę zapłacą. Robiliśmy kiedyś na godziny... Nie wiem, może u mnie jest inaczej bo programy piszę do swoich urządzeń, ale całość jest wysyłna na drugi koniec polski i bardzo żadko się zdarza, żeby urządzenie trzeba było przeprogramować. Często są natomiast naprawdę "kosmetyczne zabiegi" wykonywane za darmo i naprawdę nie mam w związku z tym żadnego najmniejszego żalu do klienta mimo, że potrafią mocno wydziwiać. Takie rzeczy trzeba też przewidzieć (w granicach rozsądku).

    0
  • #17 18 Sty 2008 23:00
    Pijopic
    Poziom 16  

    _Matik_ napisał:
    Nie zgadzam sie z porownaniami ze jedna osoba zrobi cos w 3 godziny, a inna w 3 dni bo to oznacza ze ta druga osoba nie powinna brac sie za zlecenia. Sory batory. Nie ma tak ze jeden dobry elektronik/programista zrobi cos w czasie kilkukrotnie krotszym od innego. No chyba ze ktos ma juz gotowe podprogramy ale to wtedy tez trzeba jakos przeliczyc.


    Sorki ale chyba zapomniales o jednej sprawie jaka jest doswiadczenie w danym temacie, np jedna osoba pisze duzo aplikacji jednego typu a inne sporadycznie, druga pisze duzo innego typu aplikacji niz pierwsza i tak jak pierwsza sporadycznie inne. Obie osoby maja taki sam poziom wiedzy wydawaloby sie, a jednak ten sam projekt moga zrobic w zgola odmiennym czasie. To tylko przyklad ale obrazuje jak podejscie godzinowe moze odbiegac od rzeczywistosci i faktycznych kosztow, ktos policzy 5k bo nigdy czegos nie robil, drugi skasuje 2k bo dla niego to poprostu dostosowanie tego co juz ma gotowe, a ze stopnia zlozonosci aplikacji wynikalo by ze koszt powinien wyniesc 3,5k :)

    0
  • #18 18 Sty 2008 23:08
    prokopcio
    Poziom 29  

    Bardzo ciekawy przykład, który również udawadnia, że może być taniej i lepiej ponieważ ten drugi gościu zrobi to najprawdopodobniej lepiej... Również przykład daje do myślenia, że stawki godzinowe odpadają dla roboty robionej pierwszy raz - robisz ostrożniej, napewno dłużej ale raczej branie pieniędzy x 3 nie wchodzi w grę.
    Bardzo dobrze, że wspomniałeś Pijopic o właśnie robotach robionych sporadycznie/pierwszy raz...

    0
  • #19 19 Sty 2008 12:15
    atom1477
    Poziom 43  

    To ja muszę koniecznie dodać coś od siebie:
    Po pierwsze ze stopnia zaawansowania programisty i stawek godzinnych wychodzi że ten mniej zaawansowany weźmie więcej. A tak nie powinno być na moje oko.
    Po drugie stawki godzinowe są według mnie dobre, ale trzeba wprowadzić pewną korektę. To znaczy gdy coś robimy pierwszy raz to trzeba jakoś intuicyjnie wyliczyć, ile czasu by nam to zajęło gdybyśmy to robili już kiedyś wcześniej. Sam kiedyś robiłem taki projekt, dość duży zresztą. Wziąłem ze 300zł. No ze 400 bo jeszcze potem coś dodawałem do tego. To było takie urządzenie elektroniczne sterowane z komputera. Program w assemblerze ’51, programowe sterowanie PWM, kontrola poprawności transmisji. Bardzo dużo problemów z uruchomieniem toru radiowego (moduły Telecontrolli).
    Jak zaczynałem to robić to czułem że ta praca dużo kosztuje, ale policzyłem koszt części i wyszło ze 200zł i głupio mi było brać za to dużo kasy. Zresztą wtedy jeszcze nie wiedziałem jak cenny może być czas i praca. To było gdzieś jeszcze w liceum.
    Od tamtej pory minęło ze 4 lata. Kilka tygodni temu zrobiłem kolejny podobny projekt. Też sterowanie z kompa, CRC takie tam. Ale tym razem to było łatwe. Chociaż wszystko napisałem od nowa, i w dodatku inaczej, to już nie w asmie, tylko w BASCOMIE. W dodatku na ATMega8. Z torem radiowym nie miąłem problemów bo od tamtej pory wiedziałem żeby nie męczyć się z Telecontrolli. Zrobiłem to na 27,145MHZ. Po 4 latach w końcu uruchomiłem działający nadajnik i odbiornik. 4 lata temu też chciałem tak zrobić ale nigdzie nie mogłem dostać rezonatora 26,69MHz (27,145MHz – 455kHz). Ale znalazłem filtr 550kHz i do heterodyny nadal się rezonator 26,601712MHz, który miałem.
    Koszt nadajnika i odbiornika z 10zł (razem!). Zasięg ze 200m z 1m anteną (z 10m z bardzo krótką anteną 10cm.) . 128000baud. Niestety selektywność mała i w Warszawie gdzie oddawałem urządzenie zbierał wszelkie śmieci i zasięg spadł do max 5m. Klienci niezbyt zadowoleni (a raczej zdziwieni), no ale to moja wina była. Ale 5m im i tak wystarczyło.
    AVR – pisanie z wysokim poziomie, sprzętowe PWM, osobne bufory na odbieranie i nadawanie UART, więcej niezależnych przerwań. Jednym słowem mało roboty. Chociaż było trochę bo były problemy bo wcześniej męczyłem się żeby zrobić sterowanie na podczerwień. No i sterowanie bardzo nietypowymi elementami mechanicznymi było. Też 400zł.
    A gdybym teraz wziął po duwagę pracę którą w to włożyłęm to pierwszy koszkował by ze 2...3kzł a drugi gdzieś ze 200zł (tym razem liczę bez kosztów części, bo tym razem były dużo mniejsze).
    Program wyszedł dłuższy (chodzi o pik Hex) no ale mniej było przy tym roboty. Więc ocena pracy po długości kodu to na moje oko przegięcie. Ktoś kto się więcej narobi i zrobi krótszy kod wziął by przecież mniej.

    Ale się rozpisałem. Ale chodzi mi o to że jak nad czymś się męczymy to od razu nie trzeba brać dużo kasy. Za drugim razem się zwróci bo będzie tylko kopiuj-wklej. Ale bez przesady. Jak by każdy brał mało bo wcześniej to robił to nikt nic by nie zarobił.
    Nie należy schodzić poniżej pewnej średniej.
    Moja propozycja to branie tyle kasy ile wynika ze średniego czasu roboty DWÓCH urządzeń:
    -urządzenie (program) łatwy: pierwszy raz – wyjdzie mały czas. Drugi raz – też. Średnia – podobna do obydwu czasów.
    - urządzenie średnie – 1 raz – duży czas, drugi raz – mały czas. Średnia gdzieś po środku.
    -i trudne – 1 raz – bardzo duży czas. 2 raz – mały czas – średnia też wyjdzie w miarę przyzwoita.
    Oczywiście jak urządzenie robimy 2 raz ale z dużymi modyfikacjami to liczymy je jako nowe urządzeni robione pierwszy raz.

    Taki system jest już lepszy od normalnego bo po pierwsze za dużo nie weźmiemy od pierwszego klienta i go nie odstraszymy. Od drugiego tyle samo i miej więcej się nam wyrówna za robotę. Trzeci i następni zapłacą tyle samo, czyli na nich już zarobimy więcej. No i nie zejdziemy z ceną. To chyba sprawiedliwe dla klientów, a dla nas w miarę przyzwoite pieniądze za pracę.
    I najważniejsza cecha tego systemu. Cena musi być taka żeby i za pierwszym razem też zarobić, a nie stracić. Bo jak cały czas będziemy robili inne urządznia (programy) to nic nie zarobimy. Na kolejnych bardzo podobnych projektach będziemy już zarabiali nieprzyzwoicie wysoko, ale to i tak bardziej sprawiedliwe dla klientów niż system: „Kto ostatni ten lepszy”.


    Czasami mam do zrobienia jakieś nietypowe urządznie albo program. Nawet niekoniecznie trudne ale nietypowe. Cena części nieżadko poniżej 20..30zł. No ale jest siedzenia, szczególnie jak klient co raz zmienia zdanie albo sam nie wiem co to ma być za urządzenie (program) i co ma robić. No i musowo posiedziec z 10godzin a więc i wziąść te kilka stów.


    Czekam na opinie.

    0
  • #20 19 Sty 2008 13:12
    marek_Łódź
    Poziom 36  

    Patrząc na to z drugiej strony, jeśli przychodzi do mnie klient i przedstawia cenę za program, bez kalkulacji godzinowej to bardzo prawdopodobna jest jedna z dwóch poniższych sytuacji:

    albo
    1. Przeszacował i zgarnie więcej niż powinien
    albo
    2. Niedoszacował i pogubi terminy, albo co gorsza będzie kończył na chybcika

    Nie twierdzę, że każdy klient musi dostać do ręki taką kalkulację, natomiast całkowity brak takowej niezbyt dobrze świadczy o świadomości wykonawcy ;) , który w tym przypadku koszty i terminy odczytuje z sufitu. Programowanie to robota jak każda inna i zasady kosztorysowania również.

    Cytat:
    Więc ocena pracy po długości kodu to na moje oko przegięcie. Ktoś kto się więcej narobi i zrobi krótszy kod wziął by przecież mniej.

    Oczywiście nie weźmie mniej, bo ma wyższą stawkę godzinową i co więcej nie jest to proporcjonalne, bo jest jeszcze szereg innych czynników (chociażby to, że na ogół ten szybszy ma szersze spojrzenie). Chociażby dlatego w tych firmach, które widziałem jest bardzo szeroki wachlarz stawek dla programistów i przeważnie płace są utajnione, żeby nie wywoływać konfliktów i zawiści. W podobny sposób wolnych strzelców wyselekcjonuje wolny rynek i ci słabsi zostaną w niszach, albo będą musieli obniżać ceny.

    Warto też pamiętać o tym, że w przypadku poważnych klientów czasem opłaca się dołożyć do pierwszych prac, dla uzyskania stałej współpracy.

    0
  • #21 19 Sty 2008 13:31
    atom1477
    Poziom 43  

    Zapomniałem dodać że te ceny które podałem dotyczą pracy dla indywidualnych klientów, którzy i tak robią wielkie oczy jak słyszą tak "wysoką" cenę.

    Gdy mówię że przy czymś jest dużo roboty, to boli mnie to jak ktoś mi wypomina, że "Wprawny programista zrobił by to w kilka godzin...".
    To dlaczego do niego nie pujdzie?!! (Bo on ma kilka krotnie większą stawkę godzinową i u mnie i tak wyjdzie taniej).

    0
  • #22 19 Sty 2008 13:46
    marek_Łódź
    Poziom 36  

    Miałem taką historię w czasach hohoho. Chodziło o tzw bezosobowy fundusz płac (baza, wyliczenia, raporty itp) robiony w DataFlexie (taka baza). W trakcie negocjacji cenowych kient mi melduje, że gdyby miał chwilę czasu, to sam by to zrobił w BASICu. Odpowiedź jest prosta "to rób". W efekcie został (symbolicznie) ukarany finansowo za arogancję. To jest jeszcze jeden argument za precyzyjną kalkulacją godzinową. Jeśli jesteś przekonany, że jest to właśnie tak, a klient zaczyna wybrzydzać, łatwo możesz ocenić czy i ile mu możesz spuścić, czy tez od razu z niego zrezygnować.

    0
  • #23 19 Sty 2008 13:56
    atom1477
    Poziom 43  

    Do Marek_Łódz: Trochę nie rozumiem. Kogo Ty nazywasz klientem? Bo ja tego który zleca napisanie programu, a nie programistę.

    0
  • #24 19 Sty 2008 15:11
    marek_Łódź
    Poziom 36  

    W ostatnim poście tak, jak Ty (nie widać?). A wcześniej rozważałem punkt widzenia pracodawcy lub/i zlecającego. Jestem w tej komfortowej sytuacji, że piszę, a czasem zlecam napisanie, wiec łatwiej mi ocenić kto i dlaczego próbuje mnie rżnąć na kasie.

    0