Jak mam kontrolować zdalnego freelancera? [Zamknięte]

11

Zatrudniam kilku programistów z różnych miejsc na całym świecie. Wszystko idzie dobrze, ale widzę, że niektórzy z nich nadużywają mojej uprzejmości zbyt wcześnie przeoczając.

Wszyscy są zatrudnieni na cały dzień. Widzę jednak, że po 5 godzinach dziennie niewiele zrobiono.

Zastanawiam się nad stworzeniem oprogramowania, które będzie wykonywać zrzut ekranu ekranu komputera co 1-5 minut i przesyłać je do mojego systemu. To jednak prowadzi do skrajności.

Jak ludzie zwykle zarządzają zdalnymi programistami?

Gajus
źródło
61
Rozważ zapłacenie im za rozwiązanie problemów zamiast pracy przez X godzin.
5
Zobacz także: programmers.stackexchange.com/q/110487/6605
Arseni Mourzenko
@MainMa, która podnosi prawidłowy punkt.
Gajus
2
Jak możesz upoważnić programistów do uruchamiania Twojego domowego oprogramowania do ingerowania w zrzuty ekranu? O ile nie zostało to wcześniej zawarte w umowie lub nie dostarczysz sprzętu programistom, jest to poważne naruszenie prywatności. Kto powiedział, że ich maszyna deweloperska nie działa podwójnie jak maszyna do przeglądania domu? Lub w jaki sposób możesz zagwarantować, że nie będziesz robić zrzutów ekranu w czasie wolnym? Ale jeśli wybierzesz tę drogę, zainstaluj oprogramowanie rejestrujące klucze, aby uzyskać cały pakiet.
Dylan Yaga,
@Guy Powinieneś zmienić swoje pytanie, aby zawierało wymagany standard kodowania (zgodnie z komentarzem do PaulTomblin). Wygląda na to, że chcesz kombinacji dostarczonych wyników + wyników zakodowanych zgodnie ze standardem. Musisz dodać to do opisu umowy / stanowiska, że ​​wyniki + spełnione standardy = wynagrodzenie. Dodaj odliczenia / premię za naprawdę złe / dobre wyniki, IMO.
WernerCD,

Odpowiedzi:

45

Zatrudniasz uczciwych programistów i (w porozumieniu z nimi i być może innymi uczciwymi programistami jako sprawdzianem rzeczywistości) wyznaczasz rozsądne cele w krótkich terminach. Jeśli nie osiągną celów, zwolnij je. Jeśli osiągną cele, nie powinno mieć dla ciebie znaczenia, czy grają w pasjansa przez 2 godziny z rzędu, podczas gdy oczyszczają swoje umysły i zastanawiają się nad problemem.

Paul Tomblin
źródło
1
To nie jest konieczne prawda. To właściwie przykład, że nie chcę, aby moja firma poszła za nim. Dlaczego możesz zapytać? Ponieważ w latach, gdy byłam kontrahentem, widziałam wiele takich interesów. Deweloper zapisuje kod, aby upewnić się, że działa (tutaj kończy się twój model). Chcę, aby programista dopracował kod, upewnił się, że kod jest najbardziej wydajny, a wszelkie głupie pomyłki są odsuwane na bok (znacznie trudniej o nie dbać), tj. Jeśli otrzymujesz wynagrodzenie za 5 godzin, pracujesz 5 godzin.
Gajus,
27
@Guy: Jeśli chcesz, aby rutynowo przekraczały wyznaczone cele, ustaw inne cele.
Jonas
4
@ Kup to, o co prosisz, brzmi bardziej jak niektóre wymagania wydajności i gwarancja
jk.
30

Zrzuty ekranu wydają się nieproduktywne. Jeśli o to chodzi, masz kłopoty.

Ideałem jest posiadanie namacalnych kamieni milowych i sprawdzanie ich postępów. Jeśli nie możesz uzyskać wartości swoich pieniędzy na kamieniach milowych w oparciu o czas, jaki musisz zapłacić, aby je zdobyć, znajdź inną pomoc. Jeśli nie możesz stworzyć pracy na tym poziomie szczegółowości i nie wiesz, czy ktoś cię oszukuje, zdalne pozyskiwanie pracy może być niewłaściwe. Możesz wprowadzić system konkurencyjnych licytacji za pracę, ale jeśli nie możesz szczegółowo opisać, co jest potrzebne na niskim poziomie, czy możesz powiedzieć, jaka jest jakość kodu?

Generalnie outsourcing i praca zdalna powinny polegać na kupowaniu wyników, a nie na kupowaniu czasu. W przeciwnym razie, jak się dowiedziałeś, zaufanie się załamuje.

MathAttack
źródło
9
+1 za „kupowanie wyników, a nie kupowanie czasu”.
Eric King,
2
Bądź hojny z harmonogramem (jeśli możesz) i płać je na podstawie rezultatów, aby nie musieli się wystraszyć, jeśli pojawią się nieoczekiwane błędy, które zajmują dużo czasu. W takim razie nie powinno mieć dla ciebie znaczenia, czy wypełniają dodatkowy czas, wykonując inną niekonkurencyjną pracę kontraktową, czy też wypełniają dodatkowy czas, grając w pasjansa.
Ken Bloom
1
Co się stanie, gdy podadzą swoje „wyniki” ze stroną horrendalnego kodu spaghetti? Nikt nie chce wykonywać przyszłych prac nad tym projektem, nawet pierwotny programista. Ale z drugiej strony uzyskałeś swoje „wyniki”.
Buttons840
1
Wyniki obejmują jakość, jeśli kod. Trudne do oszacowania, ale możesz uzyskać marną jakość, płacąc za czas, jeśli nie wiesz, czego szukać.
MathAttack
14

To, czego chcesz, nazywa się umową. Umowa mówi, co mają dostarczyć i kiedy oraz co trzeba zapłacić i kiedy.

Tak proste jak to. Cała reszta byłaby dramatycznie przeciwna do produktywnej. Zniszczy zaufanie między tobą a freelancerem. Jeśli chcesz dokładnie przyjrzeć się, co robią ludzie, zastanów się nad zatrudnieniem w swoim biurze.

deadalnix
źródło
Naleganie na kontrakt jest w porządku, ale nie sądzę, że znam duże oprogramowanie, które faktycznie zostało dostarczone na cel. Przekroczenia 2 lub 3 razy wydają się być bardzo częste z tego, co widziałem.
apoorv020
Jest to, jak również zmiana specyfikacji w najgłupszym możliwym momencie od klienta. Dlatego umowa jest ważna. Zawarcie umowy nie uniemożliwia późniejszej zmiany, jeśli coś zmieni się zgodnie z pierwotnym planem.
deadalnix
7

Albo produkują wystarczającą ilość kodu, ile płacisz, albo znajdziesz kogoś, kto może. Jeśli uderzali w klawisze i myszy przez 10 godzin dziennie i produkowali śmieci, czy nadal je zatrzymasz tylko dlatego, że płacisz im przez 8 godzin?

Ustaw wymagania i uzgodnij terminy. Jeśli nie możesz się zgodzić, zatrudnij ludzi, którzy się zgodzą. Jesteś programistą i powinieneś być w stanie wykryć, czy trafili na uzasadnione przeszkody, czy nie.

JeffO
źródło
+1 za wskazanie, że ktoś może pracować przez wiele czasu , a mimo to nie daje rezultatów
Stephen Gross
3

Chciałbym utworzyć arkusz programu Excel z podziałem na poszczególne funkcje.

Wykonawca powinien aktualizować to codziennie.

Każdy element powinien mieć progresję zdefiniowaną w%.

Gdy funkcja jest w 100%, powinna być gotowa do „wypisania się”.

Jeśli element działa zgodnie z oczekiwaniami, należy go oflagować i poprawić.

Ciemna noc
źródło
1
Excel jest wyjątkowo niedocenianym narzędziem PM!
MathAttack,
facet jest poza siedzibą, ma przyzwoitość korzystania z czegoś, co można udostępniać online, takiego jak arkusz kalkulacyjny google doc
ZJR
3

Najpierw odrób pracę domową

Przed zatrudnieniem musisz czuć się komfortowo z ludźmi, których zatrudniasz.

W momencie, gdy myślisz o szpiegowaniu zatrudnionych osób, jest już za późno. Jestem uczciwym programistą, ale nie pracowałbym w tych warunkach (nawet zakładając, że są legalne). To tak, jakbyś przekroczył granicę - być może nic nie ukrywasz, ale na pewno sprawiają, że czujesz się, jakbyś był.

Wykonuj kontrole w tle, uzyskaj referencje, zadawaj pytania. Korzystaj z renomowanych usług. Podejmuj ostrożne decyzje, a następnie postępuj zgodnie z radami zawartymi w innych odpowiedziach tutaj podanych.

Wonko przy zdrowych zmysłach
źródło
2

Ostatnio pracuję ze Scrumem i mogę ci powiedzieć. Dzięki tej zwinnej metodologii slackerzy nie mają miejsca na uniknięcie przejrzystości. A także dowodzi, że jesteś dobrym menedżerem / liderem, wypełniając je osiągalnymi zadaniami.

Rodrigo Asensio
źródło
2

Płacisz za wyniki lub czas? Jeśli płacisz za wyniki, to nie Twoja firma, ile czasu zajmuje osiągnięcie tych wyników. Jeśli płacisz za czas i nie uważasz, że uczciwie traktują swój czas, pozwól mu odejść i znaleźć kogoś innego - jeśli nie możesz im ufać, co to za dobro?

Jeśli zapewnisz środowisko, nagrywanie jest opcją, ale najpierw musisz je poinformować, co da im możliwość sfałszowania. Jak długo zajmuje im znalezienie odpowiedzi na problem? Czytasz zasoby offline, po prostu siedzisz i myślisz? Jeśli nie są szczerzy, wystarczy, że poświęcisz dużo czasu na uzyskanie niejednoznacznych rezultatów. Jeśli są uczciwi, prawdopodobnie ich obrazisz, a oni pójdą dalej. Tak czy inaczej, już ich nie ma.

jmoreno
źródło
1

Co z repozytoriami kodu źródłowego i potrzebujesz ich ciągłego zatwierdzania. Małe, atomowe zmiany: „popełnij wcześnie, popełnij często”. Wykorzystaj funkcje DVCS (gałęzie, tagi), aby zatwierdzać rzeczy, które nie powinny być zawarte w produkcie końcowym.

W ten sposób możesz mieć całkiem dobry pomysł na to, co zostało zrobione, co trzeba zrobić i tak dalej.

nperson325681
źródło