Często dochodzi do nieporozumień między ludźmi biznesu i technologii. Każda ze stron ma trudności ze zrozumieniem punktu widzenia drugiej strony. Kto nie zna problemu "my kontra oni"?

Porady biznesowe z życia wzięte: spis treści

Zbyt często zastanawiamy się, dlaczego ONI muszą to tak utrudniać? W tym artykule chcę pokazać, w jaki sposób można ułatwić i usprawnić pracę z programistami, gdy jest się osobą biznesową do szpiku kości.

Na początek powiem to wprost. Nie ma "my kontra oni". Nawet jeśli mówimy i myślimy w różny sposób, wszyscy gramy w jednej drużynie. Razem możemy tworzyć i ulepszać lepsze sposoby prowadzenia naszej działalności.

Ty znasz główny cel, ale to programiści wiedzą, jak go zrealizować. Wykorzystaj ich doświadczenie, aby rozwinąć swoją firmę.

Ale najpierw najważniejsze.

Jak zebrać zespół?

Po pierwsze, musisz znać swój cel. Czy znasz już rodzaj oprogramowania, którego potrzebujesz, czy znasz tylko problem, który chcesz rozwiązać? Czy potrzebujesz kogoś (zespołu), kto skupi się na badaniach? Wtedy twój wymarzony zespół będzie różnił się od zespołu czysto deweloperskiego.

  • Zacząłbym od jednego eksperta, który oceniłby wyzwania. Ich doświadczenie pozwoli im stworzyć wstępny projekt i ustalić priorytety.
  • Kiedy naprawdę wiesz, co należy zrobić, możesz pomyśleć o zespole. Istnieje wiele sposobów organizacji i zarządzania rozwojem oprogramowania. Waterfall kontra Agile, outsourcing, freelancerzy, dedykowane zespoły. Jeśli chcesz dowiedzieć się więcej o rozwoju oprogramowania w start-upach, przeczytaj artykuł z Inspeerity.
  • Najbardziej wydajne zespoły programistów potrzebują: 1 starszego programisty i około 4 niezależnych programistów, 1 testera i 1 osoby decyzyjnej odpowiedzialnej za ustalanie priorytetów. Nie zawsze muszą to być odrębne osoby. Jedna osoba może odgrywać więcej niż jedną rolę w zespole.
  • Jednak im bardziej złożone i trudne zadanie, tym więcej starszych programistów potrzebujesz. Dlatego tak ważne jest, aby zacząć od analizy celów i wyzwań przed podjęciem decyzji o wyborze zespołu.
  • Może być potrzebny więcej niż jeden zespół, nawet w przypadku stosunkowo prostych projektów, jeśli mają one szeroki zakres. Będą one pracować w poszczególnych strumieniach, które dostarczają wartość dla projektu. Ale uwaga, nie zaczynaj od tworzenia całej grupy zespołów. Zacznij od jednego i stopniowo go powiększaj. Następnie podziel go, stwórz kolejny zespół i tak dalej. Twoje zespoły nie powinny być większe niż 9 osób.

Jak przekazywać zadania zespołowi programistów?

Innymi słowy, jak powiedzieć ekspertom technicznym, czego chcesz. Jest to zawsze trudne, ponieważ ludzie biznesu zwykle myślą o lejkach sprzedaży, podróżach klientów itp. Z drugiej strony programiści myślą o rozwiązaniach technicznych lub ograniczeniach i ulepszeniach wydajności. Na szczęście są to tylko różne warstwy tego samego projektu.

Weźmy na przykład e-commerce. Pomyśl o podróży swoich klientów. Czego powinni doświadczyć? Jakich opcji i rozwiązań potrzebują? Na przykład, chcę filtrować produkty według takich i takich cech. Chcę mieć możliwość porównania wybranych produktów. Chcę zdecydować, czy chcę utworzyć konto, czy kupić bez niego.

Jest o wiele więcej rzeczy do przemyślenia. Co zrobią, jeśli nie będą mogli znaleźć pożądanego produktu? Jak poproszą o pomoc i kto będzie za to odpowiedzialny? W sklepie stacjonarnym wszystko jest bardziej namacalne, więc może spróbuj opisać swoje pomysły tak, jakby to był tradycyjny biznes?

Aby wszystko było bardziej przejrzyste, warto zmapować wszystkie procesy. Co klient może, a czego nie może zrobić.

Widząc, co musi się wydarzyć, programiści będą wiedzieć, co jest ważne i jakie zdarzenia techniczne muszą wystąpić w systemie, pozostawiając jakie artefakty. Jednym z moich ulubionych sposobów na odkrycie i opisanie, jak powinien działać system, jest Event Storming. Pozwala zrozumieć, jakie zdarzenia doprowadziły użytkowników/klientów do punktu, w którym wchodzą w interakcję z systemem i co może się wydarzyć w przyszłości.

Po dostarczeniu pomysłu na to, jak nowy system ma działać, nadszedł czas, aby powiedzieć zespołowi programistów o swoich celach biznesowych. Czy chcesz stworzyć MVP i uruchomić go jak najszybciej, aby zarobić pieniądze, czy może konkurencja na rynku jest tak silna, że musisz mieć kompletny produkt?

Programiści muszą zrozumieć Twoją perspektywę, aby wiedzieć, do czego dążą. Teraz możesz podzielić całą pracę i stworzyć coś w rodzaju zaległości - listę zadań w kolejności priorytetów. Szacowanie czasu i kosztów będzie teraz dokładniejsze. Należy jednak pamiętać, że dopiero po kilku ukończonych zadaniach zespół będzie wiedział, jak trudny jest projekt. Aby dowiedzieć się więcej o technikach szacowania projektów, sprawdź nasz artykuł na stronie Inspeerity.

Jak współpracować z programistami?

Pytanie powinno brzmieć, jak zorganizować proces tworzenia oprogramowania. Od wodospadu po zwinne, ekstremalne programowanie, od SCRUM po Kanban i wiele innych, istnieje wiele pomysłów dotyczących tworzenia oprogramowania.

Bez względu na to, który z nich wybierzesz, można bezpiecznie powiedzieć, że 2-tygodniowe sprinty są dobre (przynajmniej) na początek. Oznacza to, że planujesz zadania na dwa tygodnie, a następnie sprawdzasz, co zostało zrobione, a co nie, co działało dobrze dla tego zespołu itp. Po 3 do 6 sprintach zarówno ty, jak i zespół programistów będziecie wiedzieć, jak zaplanować dalsze prace.

Aby upewnić się, że współpraca między biznesem a technologią przebiega sprawnie, potrzebna jest osoba pełniąca rolę Właściciela Produktu (w szczególności rola SCRUM, ale można ją również wykorzystać do innych rodzajów projektów). Taka osoba musi rozumieć Twój biznes i cele oraz być w stanie podejmować decyzje za Ciebie. Zazwyczaj będzie to rola dla Ciebie lub kogoś z Twojej firmy. Często taki PO zdecyduje, jaką funkcję należy wykonać, a programista zdecyduje, jak to zrobić z technicznego (i technologicznego) punktu widzenia. Następnie, krok po kroku, zgodnie z priorytetami, zespół programistów wykonuje zadania.

Inną dobrą praktyką jest organizowanie codziennych stand-upów. Są to krótkie spotkania, które mają na celu zmotywowanie wszystkich do pracy. Każdego dnia członkowie zespołu informują się nawzajem o tym, co zrobili, jakie mają problemy i nad czym zamierzają pracować. Co więcej, jest to dobra okazja, aby poszukać przyszłych pułapek i wyzwań i zająć się nimi wcześniej.

Wreszcie, pozwól swojemu zespołowi wykonywać swoją pracę. Większość ludzi będzie starała się dobrze wykonywać swoją pracę. Jeśli wdrożyłeś wszystkie poprzednie wskazówki, nie ma potrzeby się wtrącać. Co więcej, tworzenie oprogramowania to kreatywna praca. Ludzie są najbardziej kreatywni i wydajni (głównie) rano, powiedzmy do przerwy obiadowej. Pozwól im wykorzystać ten czas. Jeśli musisz spotkać się z zespołem i coś ustalić, prawdopodobnie może to poczekać do popołudnia.

Monitorowanie postępów w tworzeniu oprogramowania - usprawnij komunikację

Po rozpoczęciu projektu musisz wiedzieć, jak on przebiega, prawda? Oczywiście mamy wszystkie JIRA, ClickUps, Trello, tablice Kanban itp. Są świetne, ale dla ludzi najlepszym sposobem komunikacji jest rozmowa ze sobą. Po każdym sprincie powinieneś mieć możliwość zobaczenia wyników i porozmawiania z zespołem (zespołami) o projekcie.

Zespół programistów pochwali się swoją pracą, ale także poinformuje o problemach i rzeczach, które nie zadziałały. Takie retrospektywne spotkania pozwalają dostosować priorytety i kierunek projektu. Pozwól programistom narzekać na rzeczy, które przeszkadzają im w pracy i wyzwania, które widzą przed sobą.

Kto powinien przeprowadzić taką prezentację? Cóż, decyzja należy do zespołu, ale najlepiej jest, gdy osoba ta jest zarówno komunikatywna, jak i posiada dogłębną wiedzę na temat projektu.

Teraz, gdy wiesz, co dzieje się w Twoim projekcie, możesz zdecydować, w jaki sposób i kiedy konkretna funkcja lub funkcjonalność zostanie udostępniona użytkownikom/klientom. Chyba że czekasz na wydanie pełnego systemu, tak to zwykle działa. W ten sposób można wcześniej dostarczyć wartość użytkownikom, a programiści mogą zobaczyć efekty swojej pracy, co stanowi dodatkową motywację.

Czy naprawdę tego wszystkiego potrzebuję? Dobra współpraca z zespołem programistów

Zgadzam się, to dużo do nauczenia dla jednej osoby. Jest to powód, dla którego wielu ludzi biznesu decyduje się na zatrudnienie firm, które zajmują się wszystkim, co dotyczy produkcji oprogramowania. W Inspeerity, gdzie obecnie pracuję, uważamy, że pełny outsourcing również nie jest najlepszym rozwiązaniem. Co oferujemy zamiast tego? Hybrydowe zarządzanie rozwojem oprogramowania. W ten sposób zachowujesz zalety outsourcingu i zyskujesz to, co najlepsze w wewnętrznym zespole programistów.

5/5 - (17 głosów)