Właśnie podjąłem nową pracę na uczelni jako (jedyny) programista aplikacji internetowych.
Uczelnia ma wiele odmiennych, ale wszystkie dość źle zakodowane starsze systemy. Przeważnie zbudowane w PHP zajmują się takimi sprawami, jak frekwencja, wyniki egzaminów, ocena itp.
Moim pierwszym zadaniem jest zbudowanie systemu, który zawiera wiele tych danych, które obecnie spoczywają w różnych bazach danych bez jakiegokolwiek przyjaznego API do ich wyciągnięcia (istniejące systemy są kodowane w waniliowym PHP bez separacji danych i widoku) dzięki nowej platformie do rejestrowania informacji duszpasterskich o uczniach i przedstawiania ich nauczycielom i kadrze kierowniczej w użyteczny sposób, aby mogli szybko reagować na problemy ze studentami.
Na naszym pierwszym spotkaniu było 18 osób! Nie było wyraźnego lidera ani głosu, który reprezentowałby większość. Brak identyfikowalnego klienta . Spotkanie zmieniło się ze szczegółowych pomysłów na implementację drobnych funkcji od kierowników wydziału do sporów o to, czy powinniśmy używać arkuszy kalkulacyjnych Excel do wprowadzania danych!
Jak możesz sobie wyobrazić, moja głowa wirowała na końcu. Miałem wiele dobrych pomysłów, ale nie mogłem ich usłyszeć. To dla mnie bardzo nowa rola, zanim zostałem członkiem zespołu programistycznego w agencji marketingowej. Mieliśmy bardzo dobrze zdefiniowane role: Project Manager, Client, Designer, Developer.
Chciałbym wiedzieć, czy doświadczeni programiści lub menadżerowie mogą dać mi wskazówki na temat tego, jak mogę przekonać moich kolegów do czegoś, co przypomina zespół projektowy. Czy zwinny jest sposób? Jak podchodziłbyś do obsługi wszystkich różnych głosów? Oczywiste jest, że jakiś proces musi zostać wdrożony bardzo szybko, po prostu nie jestem pewien, co to jest.
źródło
Odpowiedzi:
Nie spodziewałbym się tutaj żadnego „zwinnego procesu rozwoju” jako rozwiązania obecnego problemu. Pierwszą rzeczą dla Ciebie powinno być: wyczyść swoją misję . To znaczy:
Może to chwilę potrwać, prawdopodobnie na tym etapie projektu nie napiszesz dużo kodu. W takiej sytuacji należy najpierw wykonać „inżynierię wymagań”. Ale zacznij od małych, myśl duży. Po opracowaniu pierwszego wydania będziesz miał coś do pokazania, przedyskutowania wymagań z interesariuszami itp.
źródło
Oddziel tych, którzy naprawdę chcą, aby ten projekt działał od stada.
Z powodu dużej polityki ktoś zebrał to spotkanie z listą uczestników, w której członkostwo zostało określone przez to, kto najbardziej by się zdenerwował, jeśli ich nie zaproszę. Zdarza się. Ten cel został spełniony, ale jako programista odkryłeś, że nic nie zostało postanowione. Nikt nie został przydzielony do zrobienia. Jeśli masz szczęście, udało im się zaplanować następne spotkanie lub nie daj Boże, zorganizowali ponowne spotkanie w trzeci wtorek każdego miesiąca.
Następnie nastąpi tworzenie komitetów, podkomitetów i grup zadaniowych. To jest lepsze, ale znajdziesz je wszystkie równie bezwartościowe.
Wreszcie dowiesz się, kogo tak naprawdę obchodzi ten projekt. Kto naprawdę chce poświęcić czas, aby zrobić to dobrze. Mamy nadzieję, że ta osoba (osoby) będą miały przełożonego, który da im czas na zrobienie tego, a nie tylko uczynienie z tego kolejnej pozycji na ich długiej liście rzeczy do zrobienia. Znajdź te osoby JAK NAJSZYBCIEJ! Pomóż im zarządzać oczekiwaniami szefa i uzyskać uzgodnione zaangażowanie.
Zdobądź coś przed tyloma osobami z pierwotnej grupy, które nawet zawrócą z powrotem. Wszyscy mogą być inteligentnymi i / lub wykształconymi ludźmi, ale nie będą czytać wielu specyfikacji. Polubią niektóre rzeczy, nienawidzą innych i chcą więcej. Zapisywanie sugestii nie zaszkodzi, ale postaraj się zachęcić tę drużynę do uzupełnienia skórki w grze. Nie obiecuj robić wszystkiego. Po prostu odnieś się do tego, co można zrobić w najbliższej przyszłości.
Jeśli skończysz z regularnymi kontaktami z więcej niż 5 osobami, dzieje się tak dlatego, że jakiś menedżer zaangażował kilka osób, które tak naprawdę nie chcą tam być.
źródło
Wymyśl listę pomysłów, które według ciebie wzmocnią / ulepszą istniejące systemy na podstawie twoich obserwacji i ich „potrzeb” i zapewnią, że skoncentrujesz się na tym, gdzie możesz osiągnąć rzeczywiste widoczne korzyści. Na tej liście umieść każdy pomysł, który Twoim zdaniem byłby użyteczny, a także każdą wyjątkową „rozsądną” sugestię osób niebędących twórcami.
Zbuduj listę funkcji, które „powinny” być uwzględnione w twoich wysiłkach programistycznych. Daj każdemu członkowi „prawo głosu”, być może w postaci „lepkich gwiazd” i dowiedz się, czego tak naprawdę chce każdy członek, umieszczając gwiazdy obok tego, co według nich jest ważne. Niektóre osoby mogą otrzymać więcej gwiazdek, jeśli podpiszą czek, mają ostatnie zdanie itp. Po tym, mam nadzieję, że ty i wszyscy inni zobaczycie, co jest ważne dla całości, i mam nadzieję, że zgodzą się na priorytet, który będzie następnie przetłumacz na mapę drogową
1). Badanie zespołu - dowiedz się, co każdy członek uważa za ważny / potrzebny / najwyższy priorytet
2). Szybko coś tam uzyskaj - nie próbuj rozwiązywać wszystkich problemów naraz, uzyskaj dostęp do funkcji „minimum” i poproś o ich zatwierdzenie, a następnie wspólnie zrób postęp w oparciu o opinie użytkowników.
3). Wykorzystaj ich opinie i opinie innych użytkowników, aby poprowadzić proces rozwoju
(Buduj, oceniaj opinie, buduj, oceniaj opinie) Opłucz i powtórz.
Możesz także rozważyć wprowadzenie „punktów nakładu” lub szacunkowych godzin do ukończenia. Może to również pomóc w ustaleniu priorytetów.
źródło
Twoim pierwszym wyzwaniem jest określenie potrzeby tego projektu. Zwołaj kolejne spotkanie z tymi wszystkimi ludźmi i poproś o spisanie problemów, które należy rozwiązać. Nie pozwól im mówić o wielu sposobach rozwiązania tego projektu. Zmusić ich do prawdziwej identyfikacji potrzeb / problemów.
Jednym ze sposobów jest poproszenie każdego z nich o udokumentowanie tych potrzeb na karteczkach - jeden pomysł na kartkę. Następnie uruchom Diagram powinowactwa, aby pomóc im zgrupować różne pomysły w określone potrzeby. Na koniec, pozwól im głosować ( Multi-Voting ), abyś mógł zobaczyć największe potrzeby.
Zwinne przypomina nam, aby najpierw zająć się funkcją, która ma największą wartość dla klienta. Zacznij od największej potrzeby, a następnie dziel ten element, aż będziesz miał pierwszy mały kawałek, który możesz zrobić w krótkim czasie.
źródło
KISS - Zrób plan podróży. Dziękujemy wszystkim za przybycie, sprawdźcie to, zróbcie to. Śledzenie boczne zwolni, jeśli rozwiążesz problem, dzieląc się swoimi obawami i prosząc ich, by pozostali PO spotkaniu. Podejmuj decyzje w drodze głosowania w przypadku kontrowersji, aby być jak najbardziej szczęśliwym. Motywacja do uczestnictwa w dowolnym systemie jest bezpośrednio związana z wiarą poszczególnych osób w jego metody.
źródło