Firma programistyczna
Transkrypt
Firma programistyczna
Adam Smolarek, Krzysztof Krajewski, Adam Stus Modelowanie procesów biznesowych Firma programistyczna Hacking Mobile Masters Opis firmy Firma “Hacking Mobile Masters” (w skrócie “hmm”) będzie zajmować się pisaniem gier na androida, oraz iOS. Głównym celem będzie tworzenie darmowych aplikacji, a następnie sprzedawanie powierzchni reklamowej firmom, które zajmują się serwowaniem reklam kontekstowych, bądź bezpośrednio firmą które będą chciały reklamować się przez nasz autorski system (bardzo prosty). Firma tworzy gry w oparciu o silnik Unity 3D, zatrudnia 4 programistów (2 od Androida i 2 od iOS) oraz grafika. Zatrudnia ich na podstawie umowy o dzieło, a następnie rozlicza się za konkretne części aplikacji. Wszyscy programiści pracują zdalnie i komunikują się głównie drogą mailową lub przez system typu “bug tracker”. Jedynymi sytuacjami wymagającymi spotkania są oddanie gotowego zadania i omówienie kolejnego. Proces tworzenia kolejnych fragmentów aplikacji jest oparty o metodykę, gdzie każdy programista dostaje swoje zadanie oraz określony czas na jego zrealizowanie, który jest uzgadniany razem z programistą. Przy okazji uzgadniania dokonywana jest wycena konkretnego fragmentu aplikacji, gdzie uzgodnienie dotyczy tego w jakim czasie i za ile programista jest w stanie napisać konkretny fragment. Po rozdaniu zadań, jeżeli trwają one więcej niż 1 dzień, programiści są zobowiązani do przesyłania na serwer kontroli wersji codziennie tego co konkretnego dnia napisali oraz logowania czasu w systemie typu bug tracker odnośnie postępów przy konkretnym zadaniu. Prowadzący projekt przegląda kod, który został przesłany konkretnego dnia, a następnie jeżeli znalazł jakieś niejasności lub rażące złe praktyki zgłasza to piszącemu kod. Gdy zadanie się zakończy następuje spotkanie z programistą, przy okazji którego oddawane jest konkretne zadanie i ewentualnie przydzielane jest kolejne. Gdy zadania dotyczące dodawania nowych funkcjonalności do aplikacji są już wykonane cały zespół pracujący nad aplikacją przystępuje do powtórnego przeglądu kodu (nie swoich fragmentów), Strona 1 z 9 dodawane są ostateczne poprawki oraz ewentualnie dozwolone jest jeszcze poprawianie wyglądu aplikacji od strony graficznej. Następnie aplikacja jest umieszczana w Android Market oraz AppStore. Do 6 miesięcy po wydaniu aplikacja jest nadal rozwijana, dodawane są nowe części gry oraz poprawiane ewentualne błędy zgłoszone przez użytkowników. Po udostępnieniu aplikacji do sprzedaży następuje faza analizowania zakończonego projektu oraz przystępujemy do planowania kolejnej aplikacji, która będzie realizowana. (Wszyscy zgłaszają swoje propozycje i aplikacja może być realizowana, jeżeli co najmniej większość osób w składzie dojdzie do wniosku, że będzie ona do czegoś przydatna. Ostateczną decyzję może zmienić lider jeżeli będzie miał poparcie co najmniej 2 osób). Dodatkową opcją promowania firmy jest uczestniczenie w targach dotyczących aplikacji mobilnych lub udostępnianie kuponów promocyjnych jako nagrody na serwisach zajmujących się recenzją aplikacji na urządzenia mobilne. Można również rozważyć udział w inicjatywach takich jak “humble indie bundle” po upływie 6 miesięcy od wydania aplikacji. Wtedy każdy wpłacając dowolną sumę pieniędzy dostanie jej kod źródłowy. Wszystkie uzyskane w ten sposób środki zostaną przeznaczone na cele charytatywne, a akcja ma na celu promowanie firmy. Jeżeli chodzi o wynagrodzenie pracowników to jest ono przelewane na konta po wykonaniu i oddaniu konkretnego zadania. Jako firma, w przypadku gdy nie będziemy mieli aktualnie żadnego pomysłu na grę, bądź inną użyteczną aplikację, będziemy zajmować się pisaniem fragmentów aplikacji dla innych firm (podwykonawstwem). W przypadku zastoju możemy zawiesić działalność gospodarczą. Jeżeli któryś z naszych pracowników postanowi odejść z firmy musi o tym powiadomić z odpowiednim wyprzedzeniem. Wówczas rozpoczynamy rekrutację, za którą odpowiedzialny jest prowadzący projekt. Pracownicy mogą otrzymać premie w przypadku dobrego wykonania zadania. Za przyznawanie premii również odpowiedzialny jest prowadzący projekt. Głównym celem firmy jest wytwarzanie na tyle dobrych aplikacji by ich sprzedaż i dochody z reklam (w przypadku aplikacji bezpłatnych) pokrywały bieżące wydatki firmy i pozwalały na rozwój. Firma outsourcuje księgowość do firmy, która zajmuje się świadczeniem tego typu usług. Testy funkcjonalności aplikacji prowadzi na bieżąco kierownik projektu i w razie problemów zgłasza je członkom zespołu, którzy poprawiają swoje błędy. Strona 2 z 9 Opis procesów biznesowych Tworzenie aplikacji (proces główny) 1. 2. 3. 4. 5. Cały zespół wybiera nową aplikację do realizacji. Kierownik tworzy listę zadań. Każdemu pracownikowi przydzielane jest zadanie i czas jego realizacji. Każde zadanie zostaje omówione z kierownikiem. Pracownicy codziennie wysyłają zmiany używając systemu kontroli wersji SVN i zaznaczają czas spędzony na jego realizację w systemie bugtracker. 6. Kierownik codziennie przegląda zmiany z poprzedniego dnia, aby ustalić, czy są dobrze realizowane. Jeśli znajdzie nieprawidłowości informuje pracownika o problemie. 7. Po skończeniu swojego zadania pracownik spotyka się z kierownikiem w firmie, aby zdać zadanie. Jeśli są jeszcze zadania do realizacji przydzielane i omawiane jest kolejne. 8. Punkty od 5 do 7 są powtarzane dotąd aż dany etap lub cały projekt zostanie skończony. 9. Wszyscy pracownicy spotykają się, aby ustalić, czy aplikacja jest już gotowa do publikacji. Jeśli należy coś poprawić całość jest powtarzana od punktu 3. 10. Przygotowywana jest wersja do publikacji. 11. Aplikacja publikowana jest w Android Market i Apple AppStore. 12. Użytkownicy mogą pobrać aplikację i zgłaszać znalezione błędy lub propozycje zmian. 13. Wybierana jest nowa aplikacja do realizacji. 14. Jeśli zostały zgłąszone błędy i zostaną one potwierdzone przez zespół lub kierownik zatwierdzi popozycję zmian przydzielane są nowe zadania z tej aplikacji. 15. Po 6 miesiącach przerywane jest wsparcie dla aplikacji. 16. W czasie 6-12 miesiącach od publikacji aplikacja może zostać wystawiona na Humble Indie Bundle. Rekrutacja 1. Kierownik projektu informuje zespół o rozpoczęciu rekrutacji. 2. Ogłoszenie o rekrutacji zostaje zamieszczone na portalach z ogłoszeniami o prace 3. Cały zespół spotyka się w firmie, aby z nadesłanych zgłoszeń wybrać osoby najbardziej odpowiednie do pracy w zespole 4. Wybrane osoby umawiane są z kierownikiem na rozmowe kwalifikacyjną Jeśli żadna osoba nie spełnia oczekiwanych wymagań ponownie zamieszczane jest ogłszenie o rekrutacji 5. Kierownik wybiera nowego pracownika 6. Z nowym pracownikiem zostaje podpisana umowa o prace Strona 3 z 9 Wybieranie nowej aplikacji 1. Każdy z członków zespołu zgłasza propozycje tematów dla nowej aplikacji. Wypełnia krótki formularz, na którym podaje temat i krótki opis aplikacji. Może to zrobić podczas realizacji poprzedniej aplikacji lub tuż przed spotkaniem. 2. Cały zespół spotyka się w siedzibie firmy. 3. Każdy z członków zespołu przedstawia swoje propozycje. 4. Reszta zespołu zgłasza swoje uwagi i następuje dyskusja na ich temat. 5. Kierownik wybiera propozycje, które spotkały się z największym poparciem. Jeśli połowa osób zgadza się na realizację danej aplikacji to jest ona wybierana. Jeśli kierownik nie zgodzi się na realizację danej aplikacji i znajdzie dwie osoby, które go poprą może zostaje ona odrzucona. 6. Jeśli nie było propozycji lub żadna z nich nie zyskała poparcia połowy grupy, kierownik może wybrać zlecenia podwykonawstwa dla firm zewnętrznych. 7. Następuje dyskusja na temat ofert podwykonawstwa i wybierana jest jedna z ofert. 8. Jeśli żadna z propozycji aplikacji, ani ofert podwykonawstwa nie została zaakceptowana kierownik może zawiesić działalność firmy. Sprzedaż aplikacji i rozliczenia z reklamodawcami Appstore, android market, adsense (przykład dla appstore ale tak samo działa dla innych usług). 1. Zakładamy konto na Appstore. 2. Rejestrujemy się na konto firmowe (email + karta kredytowa). 3. Po tym gdy ktoś kupi od nas aplikacje dostaniemy pieniądze ze sprzedaży na zarejestrowaną kartę kredytową. 4. Przekazanie wyciągu z karty kredytowej do kolejki czekającej na rozliczenie. Wypłacanie wynagrodzenia 1. 2. 3. 4. 5. 6. Przy przydzielaniu zadania podpisujemy umowę na jego wykonanie. Pracownik sumiennie wykonuje zadanie. Kierownik zatwierdza wykonanie zadania. Przyjmujemy rachunek autorski od pracownika. Wypłacamy na konto pracownika pensje. W zależności od rodzaju podpisanej umowy część przekazujemy na ubezpieczenie/ emeryturę. 7. Przekazujemy rachunek autorski do kolejki czekającej na rozliczenie. Własny system sprzedaży reklam 1. 2. 3. 4. 5. 6. Podpisujemy umowe z reklamodawcą Przedstawiamy ewidencje dotyczącą kliknięć Wystawiamy fakture za świadczoną usługę Przekazujemy wystawioną fakturę do kolejki czekającej na rozliczenie W przypadku nie otrzymania płatności kontaktujemy się z reklamodawcą Jeżeli nie ma satysfakcjonującej odpowiedzi przerywamy współprace z reklamodawcą Strona 4 z 9 Rozliczenie faktur/rachunków przez księgowość 1. Po zebraniu konkretnej ustalonej ilości faktur min. raz w miesiącu kontaktujemy się z firmą prowadzącą dla nas księgowość. 2. Przekazujemy im zebrane faktury oraz wyciągi z konta. 3. Firma księgowa dokonuje rozliczenia faktur. 4. Jeżeli będą jakieś uwagi rozwiązujemy problemy. 5. Opłacamy firmę księgową na spotkaniu lub przelewem raz w miesiącu. Strona 5 z 9 Diagramy procesów biznesowych (BPMN) Tworzenie aplikacji (proces główny) Rekrutacja Wybieranie nowej aplikacji Strona 6 z 9 Sprzedaż aplikacji i rozliczenia z reklamodawcami Strona 7 z 9 Wypłacanie wynagrodzenia Własny system sprzedaży reklam Strona 8 z 9 Rozliczenie faktur/rachunków przez księgowość Strona 9 z 9