Development blog #3: Czas zjechać do pitstopu.
Kolejne dwa tygodnie właśnie minęły więc czas na raport z placu boju… Tym razem będzie wyjątkowo krótko ale za to ciekawie. Niestety ostatnie dni pokazały iż jedną z najtrudniejszych rzeczy jaka może przydarzyć się podczas pracy nad projektem programistycznym to… planowanie.
Dwa tygodnie temu ochoczo zapowiadałem pokazanie pierwszego dema, skończenie zaległych tasków z poprzedniego sprintu, zrobienie nowych i publikację artykułów technicznych. Jak pewnie większość z was się zorientowała – choćby po braku nowych wpisów na blogu – coś poszło nie tak. Najlepiej wyjaśni to chyba obecny stan tablicy:
Jak widać mam cztery skończone taski, jeden w trakcie prac, dwa kompletnie nie ruszone i na dodatek do jednej historyjki nawet ich nie rozpisałem w całości. W skrócie dość spore opóźnienie.
Raport techniczny
W klasie PCL (Portable Class Library) przygotowałem sobie wstępny podział architektoniczny aplikacji (strukturę katalogów) oraz na podstawie diagramu klas dla modelu został przygotowany szkielet obiektów, które potem posłużą do przechowywania poszczególnych danych potrzebnych w trakcie działania programu:
Jak widać trochę tego jest, a będzie jeszcze więcej. Nie jest to więc aplikacja, którą można „zakodzić” w jeden wieczór. Poza tym, poprawiłem również kilka bugów, jak choćby literówki, które spowodowały że podczas startu aplikacji nie uruchamiała się aktywność oraz kilka innych drobnych rzeczy.
To w zasadzie wszystko co udało mi się zrobić. Na marginesie dodam jeszcze, że pliki layout, które skopiowałem sobie z innego projektu właśnie trafiły do śmietnika i będę to robił wszystko od nowa według trochę innej koncepcji. W tym sprincie znowu więcej się zastanawiałem niż napisałem kodu, ale niestety taka faza projektu i nie da się tego przeskoczyć.
Retrospekcja
Cele sprintu nie zostały osiągnięte, ba jest to chyba jeden z najgorszych sprintów od początku tego projektu. Nie pozostaje mi więc nic innego jak tylko zrobić porządną retrospekcję i przenieść wszystkie obecne zaległości na kolejny sprint nie dodając nowych historyjek. Co ciekawe w scrumie istnieje nawet specjalna nazwa określająca tego typu sytuację ale nie pamiętam jak dokładnie się to nazywa (jak by ktoś wiedział o co chodzi to proszę o komentarz).
Przygotowując się do napisania tego artykułu przeanalizowałem skutki obecnego stanu rzeczy i z czystym sumieniem mogę powiedzieć iż na niepowodzenie obecnego sprintu złożyły się następujące elementy:
- Wakacyjny wyjazd podczas którego oczywiście miałem w planie coś porobić wieczorami ale jak wiadomo z tego typu planów zazwyczaj nic nie wychodzi,
- Brak wcześniejszego doświadczenia w pracy z frameworkiem Mvvmcross co skutkuje tym, że zanim coś zrobię to zastanawiam się dziesięć razy czy będzie to dobrze – ma to szczególne znaczenie na początku projektu gdyż to właśnie teraz tworzy się cały układ architektoniczny aplikacji,
- Zła estymacja tasków i historyjek,
- Zbyt dużo zaległości z poprzedniego sprintu.
Jak widać popełniłem kilka błędów, ale to nie oznacza, że dwa tygodnie poszły „w kosmos”. Przez ten czas naprawiłem kilka rzeczy, zrealizowałem część tasków i co najważniejsze poznałem lepiej środowisko w którym pracuję.
Master – ciągle pusty…
Główny branch jest nadal pusty, ale nie ma się czym martwić. Aplikacja zaczyna nabierać swoich pierwotnych kształtów i de facto już mógłbym zrobić merge
ale biorąc pod uwagę różne obecne problemy wynikające ze wcześniejszego pośpiechu raczej nie będę się z tym spieszył i pierwszy kod trafi tam pewnie pod koniec kolejnego sprintu czyli za dwa tygodnie.
Nadchodzi wsparcie…
Miło mi również ogłosić, że do development teamu dołączył mój kolega – Paweł, który obecnie zajmuje się ogólnie „przyspieszeniem prac” czyli realizacją tasków związanych z bałaganem jaki zrobiłem chcąc iść na skróty i kopiując layout z innego projektu. Mam nadzieję, że teraz będzie się nam lepiej pracowało, a gotowa aplikacja pojawi się jak najszybciej w sklepie Google Play.
Podsumowanie
Wyciągając wnioski z poprzedniego artykułu, tym razem nie będę zapowiadał, że na blogu pojawi się milion pięćset sto dziewięćset artykułów o Xamarinie itd. Na pewno coś opublikuję ale co to będzie to jeszcze nie wiem. Mam nadzieję, że w końcu uda mi się wystartować z serią technicznych wpisów na temat programowania multiplatformowych aplikacji mobilnych – trzymajcie kciuki! A za dwa tygodnie już naprawdę obiecuję coś sensownego!