Czy ktoś używa metod szacowania oprogramowania w swoich badaniach w dziedzinie obliczeń?

11

W pracy zasadniczo działam jako niezależny konsultant. W przypadku kierownictwa i klientów muszę oszacować czas potrzebny na opracowanie oprogramowania w ramach moich badań w dziedzinie obliczeń. Jednak moje prognozy czasu są zwykle wyłączone. Wiem, że istnieją metody szacowania czasu potrzebnego na opracowanie oprogramowania. Czy metody te pozwolą mi dokładnie oszacować zadania badawcze? Czy są nawet przydatne w środowisku badawczym? Jeśli nie, to czy istnieje lepsza metoda niż „prowadzenie ewidencji i korygowanie szacunków odpowiednio”?

Geoff Oxberry
źródło
1
Biorąc pod uwagę, że istnieje różnica wielkości rzędu między najjaśniejszymi i nie tak jasnymi programistami, ponowne użycie istniejących zestawów danych nie sprawi, że twoje oszacowania magicznie pasują do rzeczywistości. Możesz jednak przejrzeć wcześniejsze projekty, zebrać dane o złożoności i dopasować kilka prostych regresji. Badania różnią się od innych rodzajów działalności tym, że istnieje znaczne ryzyko kilkukrotnego uderzenia w ścianę z cegły ... Zbuduj marginesy związane ze względną nowością twojego projektu i użyj Prawa Murphy'ego, aby skorygować swój optymizm.
Deer Hunter
4
W poprzedniej karierze programisty regularnie dokonywałem tego rodzaju szacunków dla dobrze określonych projektów. Jeśli projekt był wystarczająco kompletny i nie istniało znaczące ryzyko techniczne, działało to dość dobrze. Jednak rodzaj oprogramowania, które teraz wykonuję, to tak naprawdę więcej badań niż tworzenie oprogramowania - pojawiają się istotne pytania, czy pomysł w ogóle zadziała, a przez cały czas pojawiają się nieoczekiwane problemy.
Brian Borchers

Odpowiedzi:

1

W większości ustawień badawczych nie masz dostępu do profesjonalnych programistów o stosunkowo jednolitym poziomie umiejętności, których czas możesz dyktować. Zamiast tego masz mieszankę doświadczonych programistów (może doktorów, może wykładowców) i studentów z niewielkim doświadczeniem w programowaniu i brakiem doświadczenia w projektach na dużą skalę. Ponadto wszyscy ci aktorzy mają wiele innych obowiązków (nauczanie, szkolenie, recenzowanie artykułów, zasiadanie w komitetach), które różnią się znacznie w czasie. W związku z tym uważam, że bardzo trudno będzie mieć dokładne szacunki. Z pewnością moje doświadczenie jest takie, że „zajmie to więcej czasu, niż myślałem”.

Wolfgang Bangerth
źródło
Masz rację co do wszystkich tych kwestii w ogólnym przypadku. Byłem ciekawy, ponieważ w moim przypadku często jestem jedynym, który pracuje nad kodowaniem (co najwyżej jedna lub dwie inne osoby również kodują w tym samym projekcie, ale zwykle przy niezwiązanych lub niezależnych zadaniach). Ponadto, ze względu na charakter mojej pracy konsultanta, wiem z dużą pewnością, ile czasu mogę poświęcić na dany projekt co tydzień, co znacznie zmniejsza niepewność.
Geoff Oxberry