Jakie są twoje obowiązki w przypadku ładowania godzinowego w porównaniu do ładowania według projektu?
Zasadniczo to samo. Być profesjonalistą.
Jeśli zgodzisz się wziąć udział w projekcie, oszacuj z grubsza, że może to potrwać 10 dni i nalicz X funtów za godzinę - czy jesteś zobowiązany do pracy za darmo po upływie tych 10 dni i nadal nie jesteś w stanie zarządzać ukończyć swój projekt z powodu nieoczekiwanych problemów?
Nie - dopóki będzie to około 10 dni, nic ci nie będzie. Określiłbym z grubsza 10 dni jako 50–120 godzin na skrajnych krawędziach. Coś ponad 120 godzin (50% przekroczenia) jest prawie nie do zniesienia.
Chociaż „nieprzewidziane problemy” pozostawiają wiele niejasności. Doświadczeni specjaliści przewidują o wiele więcej problemów niż nowi programiści. Jeśli jednak klient wie, że jesteś nowym programistą (i wie, że dostaje z tego powodu znaczną zniżkę), jest tu trochę miejsca na wahania.
Co się stanie, jeśli dostarczyłeś projekt, ale znaleziono błędy - czy powinieneś naprawić te błędy za darmo, jeśli minęło 10 dni, czy też obciążyć klienta?
Błędy? Tak - należy naprawić je za darmo. Nie otrzymujesz zapłaty przez 10 dni za wyprodukowanie uszkodzonego kodu.
Teraz znowu „błąd” jest nieco niejasny. Występują błędy show-stopper (np. Program nie działa - oczywiście twoja wina) i błędy na krawędziach (program obcina tekst w zlokalizowanym w Turcji systemie Windows z włączonym chińskim edytorem IME - to nie jest rozsądne). Większość spada gdzieś pośrodku, ale ciężar dowodu spoczywa na tobie.
Są też błędy specyfikacji - są najcięższe. Będziesz musiał skorzystać z oceny, czy powinieneś był przewidzieć, przesłuchać lub sugerować zmianę specyfikacji. Ponownie obciążę cię ciężarem dowodu.
W przypadku 10-dniowego (80-godzinnego) projektu z zielonym deweloperem kolejne 10-15 godzin poprawek nie byłoby zbyt wielkim pytaniem. Poza tym starałbym się wypracować zapłatę - choć prawdopodobnie zwolnię kolejne 5–10 godzin przed zwolnieniem klienta.
Co więcej, w przypadku powyższego projektu, jaki powinien być wynik na początku projektu, ale po 10 dniach z jakiegokolwiek powodu musisz się poddać i powiedzieć klientowi, że nie możesz już tego zrobić? Zdaję sobie sprawę, że nie ma to wpływu na twoją reputację i relacje z klientem, ale czy jesteś zobowiązany do zwrotu wypłaconych Ci pieniędzy, czy po prostu dostarczasz do połowy / prawie ukończony kod źródłowy i pomagasz mu znaleźć kogoś, kto go uzupełni?
Zwracasz pieniądze. Jeśli nie możesz ukończyć projektu, prawdopodobnie nie możesz ocenić w połowie ukończonego projektu. Jeśli klient cię zatrudnił, jeszcze bardziej prawdopodobne jest, że nie będzie w stanie ocenić go w połowie. Jeśli możesz znaleźć kogoś, kto go dokończy, możesz mu zlecić podwykonawstwo - różnica w tym, co cię obciążają, a tym, co już osiągnąłeś, jest zyskiem (lub stratą).
W końcu często lepiej pochylić się przed klientem i zredagować go w miarę wyciągniętej lekcji. Po chwili będziesz w stanie wykryć „problematycznych klientów” i uniknąć ich (lub doładować) na początku. Nauczysz się także szacować nieco lepiej, wbudować koszty naprawy błędów w swoje ceny itp.
Jako studencki programista masz swobodę działania. Nikt prawdopodobnie nie pozwie Cię za grosze naliczone za 10-dniowy projekt. Nigdy więcej nie dostaniesz żadnego interesu od tego klienta (lub jego przyjaciół) - ale ponieważ zatrudnili studenta programistę, prawdopodobnie chcą tylko taniej siły roboczej i nie rozumieją, co tak naprawdę kosztuje zatrudnienie dobrego programisty. W przyszłości nie tracisz wiele oprócz bólów głowy - choć kosztem czystego sumienia.
Moja rada? Po prostu to zakończ - poczujesz się lepiej, klient poczuje się lepiej, a ty będziesz lepszym programistą i biznesmenem. To nie jest tak, że warto pracować przez wiele lat - a do pomocy masz wszystkich znajomych z Stackoverflow i Stackexchange. ;)