Blog (2)
Komentarze (5)
Recenzje (0)

Zakładamy Software House (cz.2)

@ZetIksZakładamy Software House (cz.2)17.01.2014 13:18

Na początku jest pomysł. Zakładam że masz koncepcję jakiegoś fajnego softu, który zdobędzie użytkowników i w krótkim czasie przyniesie Ci pieniądze albo chwałę. Ewentualnie jedno i drugie. Gorzej jest, jeżeli z pomysłem też jest krucho i posiadasz jedynie umiejętności, które chciałbyś sprzedać. Musisz wówczas poświęcić sporo czasu, by zastanowić się w jakiej branży chcesz pisać aplikację. Nie jest moim celem opisywanie teraz, jak znaleźć pomysł, na którym można zarobić (może zrobię to przy innej okazji). Spróbuj poszukać czegoś, na co jest popyt a konkurencja jest niezbyt duża. Wchodzenie w rozwinięty rynek z czymś innowacyjnym jest oczywiście możliwe, ale wymagane tu jest nieco większe doświadczenie oraz sporo więcej pieniędzy (marketing potrafi pochłonąć ich masę). Na początek możesz spróbować z produktami dla małych przedsiębiorstw. Np. ustawa z 28 kwietnia 2011 r. o systemie informacji w ochronie zdrowia nakazuje wszelkim podmiotom medycznym zrezygnować z dokumentacji papierowej i przejść na elektroniczną. Wszelkim, więc także jednoosobowym praktykom lekarskim. Termin graniczny zgodnie z ustawą to 1 sierpnia 2014. Co prawda większe placówki już coś takiego na ogół mają, ale spora część mniejszych działa na zasadzie pani Krysi i kalendarza. I tu pojawia się okazja - napisać software, który będzie takie niewielkie działalności wspierał i udostępnić go online za niewielką kwotę (liczymy na sporo licencji, więc jednostkowy zysk nie musi być duży, a małe opłaty mogą przyciągnąć klientów). To oczywiście tylko przykładowy pomysł, takich nisz jak ta opisana jest sporo więcej, trzeba tylko dobrze poszukać.

Kiedy już wiemy co chcemy robić, możemy kompletować zespół.

Tworzenie zespołu

Zespół ma określony cel - zbudowanie, uruchomienie i utrzymanie oprogramowania opisanego w założeniach. Istotne jest, by już na początku rozdzielić role poszczególnym członkom zespołu. Muszą one być jednoznacznie przypisane, gdyż za tym idzie odpowiedzialność i uprawnienia. Poniżej opisałem kilka podstawowych ról, które musimy komuś przypisać, jeżeli zależny nam w miarę poprawnym przejściu przez cały proces twórczy. Oczywiście nie oznacza to że w naszym zespole musi pracować od razu 10 czy 20 osób. Wiele ról można ze sobą łączyć, na początkowym etapie działania zespołu część z nich pochłania znikome ilości czasu; niemniej ktoś musi zając się tymi sprawami.

Product owner

Jest to osoba, która podejmuje decyzje dotyczące funkcjonalności oraz wyglądu projektowanego systemu. Najlepiej by był to ktoś mający bliski kontakt z potencjalnymi klientami bądź doświadczenie w branży. Najlepiej jedno i drugie. Oczywiście nic nie stoi na przeszkodzie by funkcjonalności omawiać i przyjmować podczas wspólnych zebrań. Każdy w zespole powinien mieć możliwość zgłoszenia propozycji ulepszenia. Jednak, gdy nie będzie kogoś, kto w odpowiednim momencie powie 'Stop' ulepszeniom, to system nie zostanie ukończony w czasie (czasem nawet wcale), gdyż zawsze będzie coś, co programiści chętnie dopiszą. Zawsze. Wierzcie mi - taka już ich natura ;-)

Architekt systemu

Ktoś kto weźmie odpowiedzialność za to, w jaki sposób system zostanie zaprojektowany. Począwszy od języka (bądź języków programowania), poprzez frameworki, bazy danych, etc. Architekt podejmuje decyzje związane z modelem, pakietami, klasami, interfejsami, itd. Innymi słowy, zastanawia się jak zrealizować wymogi, które zdefiniował product owner. W początkowej fazie często jest to jeden z programistów (na ogół ten najbardziej doświadczony). Decyzje przez niego podejmowane powinny być omawiane w gronie developerów

Programista

Człowiek od czarnej roboty. Ktoś kto mając szkielet systemu (czyli wymagania i architekturę) - ubierze to w ciało. W początkowym okresie nie jest wymagane wielkie doświadczenie od wszystkich programistów. Ważne by znali podstawy, byli gotowi się uczyć i ściśle współpracowali z głównym programistą (bądź architektem systemu)

Jakościowec

Jakościowiec - po co w firmie programistycznej? Otóż, jak powszechnie wiadomo, programiści to bardzo kreatywni ludzie. I nic w tym złego, w końcu ich praca to tworzenie nowych rozwiązań. Ale trzeba jeszcze pilnować by te rozwiązania dokładnie pasowały do wymagań klienta. Niekiedy zanadto "upiększone" rozwiązania powodują opór użytkowników. Jakościowiec sprawdza, czy utworzone rozwiązania dokładnie odpowiadają specyfice wymaganej przez klienta (którą zarządza product owner). Jeżeli coś nie pasuje - nie odbiera kolejnego modułu i zgłasza poprawki programistom.

Tester

Testerzy ściśle współpracują z jakościowcem. Nie muszą należeć do ścisłego zespołu projektowego - mogą to być znajomi, rodzina, potencjalni użytkownicy, którzy wyrażą wolę uczestniczyć w projekcie. Ich zadaniem jest wyłapywanie błędów w programie (logicznych oraz systemowych). Ich uwagi zbiera jakościowiec i przekazuje zespołowi programistów. Generalnie każdy program musi być solidnie przetestowany. Lepiej żeby robili to pod kontrolą testerzy niż użytkownicy, którzy szybko sobie wyrobią opinię dotyczącą jakości naszej oferty ;-)

Marketingowiec

Nie robimy tego systemu dla siebie tylko dla innych. Więc trzeba się zastanowić, jak to sprzedać. Oczywistą kwestią jest utworzenie strony www przedstawiającej to, co tworzymy. Trzeba zastanowić się nad pozycjonowaniem, ewentualną kampanią reklamową. Jeżeli nasz system będzie miał stopniowo wprowadzane nowe moduły, warto, by marketingowiec wraz z product ownerem przedyskutowali kolejność wydawania kolejnych modułów. Tak powstałą road mapę trzeba opublikować i regularnie aktualizować

Administrator systemów

W naszej organizacji pojawi się sporo systemów. Gdzieś trzeba trzymać stronę www, repozytorium kodu, wersję testową aplikacji (później - produkcyjną), narzędzia współpracy w projekcie, etc. Administrator jest osobą odpowiedzialną za utrzymanie serwerów, backup, tunning, itd. Nawet jeżeli nie będziemy sami administrować serwerami, tylko wszystko będzie w "chmurze", to i tak ktoś musi tym zarządzać. Tym kimś jest właśnie administrator.

Finansista

Serwery, SEO, marketing, praca grafików - to wszystko kosztuje. Należy wyznaczyć jedną osobę, która przyjmie na siebie obowiązek ewidencjonowania kosztów (ewentualnie też płacenia). Bez tego szybko zrobi się bałagan a jak wiadomo nic tak ludzi nie dzieli, jak pieniądze. W przyszłości będzie to osoba, która zajmie się również ewidencją zysków (to ta przyjemniejsza część jego pracy ;-)

Jak widać sporo ról powinno się pojawić w naszym zespole, by móc sprawnie zrealizować założony cel. Tak jak już wspomniałem nie oznacza to, że w zespole musi pracować minimum kilkanaście osób. My zaczynaliśmy w trójkę. Chodzi o to, by każde zadanie było komuś przypisane. Dzięki temu jasno będą rozpisane odpowiedzialności i tematy nie będą nam umykać (albo przynajmniej będzie wiadomo kogo się należy czepiać). Łatwiej też o podjęcie decyzji - wiadomo kto powinien i może to zrobić.

Po utworzeniu zespołu trzeba przyjąć założenia dotyczące sposobu zarządzania całym projektem. Warto też wybrać narzędzia z których będziemy chcieli korzystać. O tym etapie będzie więcej w części 3. Zapraszam

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.