Jestem programistą pracującym w firmie zajmującej się systemami wbudowanymi. Mamy Project Managera, który zajmuje się ogólnym harmonogramem projektu (w tym elektrycznym, jakościowym, oprogramowania i produkcji), dlatego jego harmonogram oprogramowania jest bardzo krótki.
Mamy także Menedżera oprogramowania, który jest moim szefem. Zmusza mnie do pisania i utrzymywania harmonogramu oprogramowania, dokumentów projektowych (projektowanie wysokiego i niskiego poziomu), SRS, zarządzania zmianami, planów i raportów weryfikacji, zarządzania wydaniami, recenzji i oczywiście oprogramowania.
Mamy tylko jednego Inżyniera Testów dla całego zespołu oprogramowania (10 członków), a w danym momencie trwa kilka projektów.
80% czasu spędzam na tworzeniu tych dokumentów. Mój szef pochodzi z procesu i wierzy, że potrzebujemy lepszej dokumentacji do ulepszania oprogramowania:
- Uważa, że projekt jest najważniejszy, kodowanie „po prostu zapisuje projekt”, nie powinno to zająć zbyt długo, a „cały kod powinien zostać napisany, zanim sprzęt będzie gotowy”.
- Nie rozumie różnicy między kontrolką wersji centralnej i rozproszonej, nawet jeśli powiedzieliśmy mu, że łatwiej jest współpracować z modelem rozproszonym.
- Nie rozumie kodu i chce zrozumieć każdy błąd i jego proponowane rozwiązanie.
- Uważa, że weryfikacja powinna zostać wykonana przez programistę, a weryfikacja przez Testera. Chodzi o to, że nasza weryfikacja sprawdza tylko, czy implementacja jest poprawna (nie piszemy testów jednostkowych, nigdy nie jest uwzględniana w harmonogramie), a sprawdzanie poprawności jest testem czarnej skrzynki, więc testów jednostkowych brakuje.
Jestem bardzo zmieszany.
- Czy jestem odpowiedzialny za utrzymanie wszystkich tych dokumentów? Zasadniczo sprawia, że czuję się, jakbym zarządzał projektami oprogramowania. Nie mam nic przeciwko dokumentacji technicznej, ale uważam, że programista nie powinien planować / planować.
- Nie bardzo lubię tworzyć dokumenty, chcę rozwiązywać problemy i pisać kod. Z mojego doświadczenia wynika, że tworzenie dokumentów projektowych pomaga tylko w pewnym stopniu, nigdy nie jest rozwiązaniem na lepszy lub szybszy kod.
- Uważam, że szefowi tak naprawdę nie zależy na tworzeniu lepszych produktów, a jedynie na byciu dobrym menedżerem w oczach kierownictwa.
Co mogę zrobić? Przez cały rok zrobiłem 3 miesiące faktycznego kodowania, resztę spędziłem na tworzeniu dokumentów i czekaniu na zgłoszenia błędów od klientów.