Jako współzałożyciel i okazjonalny niezależny menedżer produktu, projektant i programista pracowałem po obu stronach stołu: jako zarządzany programista oraz jako menedżer pracujący z programistą.
Tak więc, jeśli jesteś założycielem, kierownikiem produktu lub kimś pracującym w zespole technicznym - chcę podzielić się kilkoma rzeczami, aby zadowolić pracowników i ułatwić im życie.
Po co się męczyć? Cóż, poza tym, że po prostu chcesz być dobrym szefem, im łatwiejsze jest życie twojego programisty, tym szybciej i wydajniej będzie w stanie wdrażać funkcje. A w Internecie, gdzie czas płynie z prędkością psich lat, jest to zdecydowanie zaleta.
Oto klucze do sukcesu podczas pracy z zespołem technicznym.
Zrozum różnicę między CTO a głównym inżynierem
Będziesz albo współpracował z CTO lub głównym inżynierem i ważne jest, aby zrozumieć, że niekoniecznie jest to ta sama osoba.
Czasami masz niesamowity CTO, który jest nie tylko techniczny, ale także świetny menedżer, komunikator i delegator. Te typy prawdopodobnie chcą wiedzieć wszystko o tym, co budujesz, jaki jest ostateczny cel użytkownika i ogólne cele biznesowe. To wspaniale! Uwierz mi, to atut. Pielęgnuj to.
Jednak przez większość czasu - szczególnie w tej gospodarce, w której brakuje programistów - będziesz mieć Głównego Inżyniera: osobę, która jest niesamowita w projektowaniu produktu, ale niekoniecznie ma umiejętności (lub chęć) zarządzania zespołem i produkt.
Im szybciej zdasz sobie sprawę, jakiego rodzaju osoby potrzebujesz (lub zatrudniłeś), tym lepiej będziesz przygotowany do zarządzania tą osobą i produktem.
Dbaj o to, jak się rzeczy mają
Programiści to twórcy, a nie maszyny. Posłuchaj więc ich pomysłów i upewnij się, że je wziąłeś pod uwagę - nawet jeśli nie masz pojęcia, o czym, do diabła, mówią, kiedy zaczynają wymieniać terminy techniczne. Nie znasz różnicy między tym a tym stosem? Zapytać. Wykorzystaj to jako okazję do nauki. Powinieneś mieć przynajmniej podstawową wiedzę na temat technicznej strony swojego produktu.
Być specyficznym
Dużo bardziej pomocny jest zespół techniczny, który zleca im konkretne, drobne zadania - nie oddawaj tylko kilku makiet i powiedz im, że mają to zrobić do piątku. W rzeczywistości to Ty musisz zarządzać dla nich projektem. Dowiedz się, jak korzystać z oprogramowania do zarządzania projektami, takiego jak Pivotal Tracker lub Trello, i śledź postęp rozwoju funkcji według dnia lub sesji.
I melduj się często, zarówno osobiście, jak i za pomocą oprogramowania do zarządzania projektami. O wiele łatwiej jest zapobiec zejściu rzeczy na niewłaściwą ścieżkę, jeśli złapiesz je na rozwidleniu.
Nie zmieniaj zdania każdego dnia
Wiem, że uważasz, że to brzmi oczywisto. Ale kiedy codziennie wypadasz na sprzedaż i sprzedajesz swój produkt, słyszysz opinie i burze mózgów na temat sposobów ulepszenia - naprawdę łatwo jest wracać z nowymi pomysłami przez cały czas. Nie rób tego swojemu zespołowi.
Zdefiniuj konkretną i małą rzecz, którą chcesz zbudować: minimalny żywotny produkt (lub „MVP”). Przygotuj MVP i przygotuj go do budowy. I uczyń to małym. Jeśli zaprojektowałeś gigantyczną aplikację, podziel ją i zacznij od jednej części. Wyślij MVP - a następnie zmień zdanie na podstawie danych.
Ponadto, jeśli jeszcze tego nie zrobiłeś, przeczytaj Lean Startup autorstwa Erica Riesa. Postępuj zgodnie z nim - nie tylko rzucaj fajnym żargonem podczas wydarzeń sieciowych.
Ustaw cele, a nie terminy
W świecie techniki terminy nie zawsze działają. Nawet najbardziej doświadczony programista łamie rzeczy, a oszacowanie, ile czasu zajmie naprawienie, jest trudne.
Naprawdę podoba mi się pomysł Trackera, by rozkładać funkcje i przypisywać punkty trudności, a nie godziny. Oznacz problem jako „łatwy”, „średni” lub „trudny” i śledź postępy, a nie dotrzymuj terminów. Przypisywanie najczęściej trudnych zadań? Prawdopodobnie można je dalej rozbić.
Zdobądź świetnego projektanta
Projektanci rozwiązują problemy i mogą znacznie ułatwić proces tworzenia produktu. Zwłaszcza projektanci UX / UI (interfejs użytkownika i interfejs użytkownika). Pomagają ustalić, jak powinien wyglądać i jak powinien wyglądać Twój produkt - piksel po pikselu, interakcja użytkownika według interakcji użytkownika (pomyśl: jaki przycisk użytkownik klika następnie? Gdzie jest na stronie? Gdzie ją zabiera?).
To nie jest praca twojego programisty. Jestem poważny. Zadaniem twojego programisty jest pisanie kodu, a nie projektowanie produktu. Świetny projektant pomoże ci zaoszczędzić na kosztach rozwoju, ponieważ pomoże zespołowi przemyśleć i uchwycić rzeczy, które inni mogli przeoczyć. Mogą również sugerować wprowadzenie prostych, ale skutecznych zmian, które sprawią, że Twój produkt będzie bardziej intuicyjny i łatwiejszy w użyciu.
Jednocześnie - upewnij się, że projektant jest szczupły. Czasami zbudowanie niestandardowego wszystkiego nie jest warte kosztów. Istnieje różnica między dbałością o szczegóły a byciem divą. Jeśli programista narzeka na projekt - to znak, że musisz przestać, przedyskutować go, ulepszyć i pójść na kompromis.
Test, test, test
Jeśli zależy Ci w ogóle na swoim produkcie, pomóż jego programistom przetestować. Patrzyła na to od wielu godzin. Daj jej nowy zestaw oczu. Chwal ją za to, co zrobiła dobrze, i powierz jej konkretne zadania za to, co jeszcze należy zrobić lub naprawić.
Programiści często narzekają, że spędzili mnóstwo czasu na czymś, a potem zaczęło działać z uszkodzonymi rzeczami, ponieważ nikt ich nie widział. Pamiętaj, że to twój produkt. I nikt nie chce pracować dla kogoś, kto nie dba o produkt, który tam wypuszcza.
Rekompensuj uczciwie
Jesteś biznesmenem, a ludzie biznesu negocjują. Zwykle znacznie lepiej niż osoby niebędące przedsiębiorcami.
Więc uważaj.
Możesz negocjować z deweloperem według jej stawki, ale jeśli brzmi to rozsądnie, prawdopodobnie tak jest. Pamiętaj, że istnieje wiele innych osób chętnych i zdolnych zatrudnić ją do tego, co zacytowała. A jeśli czuje, że została wynegocjowana i nie otrzymuje rekompensaty za to, co jest warte, są szanse, że nie będzie priorytetem dla twojej pracy nad inną pracą (lub nad innymi, bardziej zabawnymi rzeczami). Lub znajdzie kogoś innego, kto zapłaci jej stawkę, a potem cię zawiesi. Widziałem to w kółko.
Alternatywą jest wynegocjowanie stawki za okres próbny dla małej funkcji i powiedzenie jej, że zapłacisz pełną stawkę, jeśli projekt pójdzie dobrze.
Zaufaj swojemu zespołowi
Czy jesteś podejrzliwy w stosunku do godzin padania programistów lub zwalniania czasu, odwiedzając najbliższy biergarten? Pamiętaj, że jeśli nie zatrudniasz ludzi, którym ufasz i którzy są w czymś lepsi od ciebie, to nie zatrudniasz odpowiednich ludzi.
Zaufaj ekspertom, których zatrudniłeś do wykonywania swojej pracy. Daj im narzędzia, których potrzebują, w tym kierunek, elastyczność, oddech i autorytet. I melduj się często.