Jestem inżynierem oprogramowania w zespole programistów. Przez ostatnie 3 lata pracowaliśmy dla klienta wewnętrznego nad nowym produktem. Teraz, gdy ten produkt jest gotowy, będziemy pracować nad głównymi nowymi funkcjami istniejących produktów. W przypadku określonej funkcji kierownictwo produktu zgadło, że jej opracowanie zajmuje 150 godzin. Wspólnie z naszym kierownikiem projektu opracowaliśmy bardzo szczegółowy plan i staramy się pracować 300 godzin. Wczoraj dyskutowaliśmy o tym i uważają, że rażąco przeceniliśmy rzeczy.
W naszym planowaniu oszacowaliśmy godziny na pisanie testów jednostkowych, ich pomysłem jest zrzucenie ich, aby zaoszczędzić czas. Decyzja nie została jeszcze podjęta i będę bronić tego planowania i testów jednostkowych w razie potrzeby. Ale tak naprawdę nie podoba mi się tutaj to, że zarządzanie zakłóca nasz proces rozwoju. Jak uchronić je przed procesem rozwoju? I jakich argumentów mogę użyć, aby utrzymać testowanie jednostki (oprócz jakości i oszczędności w długim okresie)?
Na marginesie, nasza firma ma 3 zespoły inżynierów, a zespół, w którym pracuję, dostarcza swoje oprogramowanie na czas (daj lub weź 10% marginesu). Podczas gdy inne zespoły zawsze dostarczają późno, głównie z powodu niedoszacowania w planowaniu. Planują tylko kodowanie, a nie zarządzanie, testowanie i obsługę wokół niego.