Jak mogę oszacować wartość projektu typu open source?

11

Próbuję wygenerować metrykę dla celu oszczędności w firmie. Aby to zrobić, chcę oszacować oszczędności, które osiągnęliśmy, używając aplikacji internetowej typu open source, zamiast budować ją od podstaw lub kupować rozwiązanie COTS. Jednym z etapów tego procesu jest oszacowanie, ile kosztowałoby nas samodzielne opracowanie aplikacji. Niestety brakuje mi naprawdę prostego sposobu na zrobienie tego bez konieczności przeprowadzania pełnego procesu szacowania.

Ponieważ mam kod źródłowy, sądzę, że powinna istnieć jakaś heurystyka, która mogłaby dać mi bardzo przybliżone oszacowanie godzin programistów potrzebnych do napisania tego. Niestety, moje wyszukiwania w sieci na ten temat najczęściej zawierają artykuły i opinie na temat tego, w jaki sposób wiersze kodu nie są dobrym wskaźnikiem wydajności ani jakości.

Moim najlepszym rozwiązaniem do tej pory jest wybranie kilku wierszy, które programista mógłby napisać w ciągu dnia, i określenie liczby godzin dla programistów. Jeśli wybiorę tę metodę, chciałbym mieć pewne (najlepiej oparte na badaniach) dowody na poparcie mojego twierdzenia o wydajności programistów.

Jedną rzeczą, którą wybrałem, jest to, że do wygenerowania mojej ostatecznej metryki potrzebuję jedynie dolnej granicy godzin programistów lub kosztów projektu. Im wyższe oszacowanie, tym lepsza będzie moja metryka, ale wolałbym, żeby technika szacowania była niezawodna niż mieć wysoką liczbę.

Czy istnieje lepszy sposób oszacowania wartości projektu typu open source?

Al Crowley
źródło
2
Szacowanie czegoś takiego wydaje mi się całkowitym zgadywaniem. Linie Java są dalekie od równości, programiści są daleko od równości, a testerzy są daleko od równości.
1
Linie kodu nie wskazują wydajności ani jakości, ale wskazują wysiłek. Pamiętaj, aby uwzględnić wszystkie odpowiednie fazy tego pomiaru, nie tylko pisanie kodu, ale wszystkie testy, debugowanie itp. Jeśli Twoja firma ma dane na temat podobnych projektów z kosztami i liniami kodu, masz szczęście.
David Thornley,
Dodałem tag metryki . W razie potrzeby wykonaj działania odwetowe.
Joey Adams

Odpowiedzi:

10

W celu wstępnego oszacowania użyj programu SLOCCount napisanego przez Davida Wheelera - przeanalizuje on wiersze kodu i użyje szacunków branżowych dotyczących wydajności programisty, aby oszacować czas i pieniądze potrzebne do zbudowania wspomnianego oprogramowania.

Domyślnie używa modelu COCOMO do oszacowania kosztów, ale można to dostosować .

I82 Wiele
źródło
2
Właśnie tego szukałem. Uruchomiłem SLOCCount na drzewie źródłowym i wyskoczyło pewna liczba. Dodatkowe punkty za wsparcie w badaniach!
Al Crowley
11

Ohloh to strona internetowa, która śledzi wiele projektów open source i oblicza szacunkowy koszt przy użyciu podstawowego modelu COCOMO .

W przypadku Ohloh liczba wierszy w bazie kodu (wykorzystywana do obliczania liczby osobomierzy spędzonych na wyprodukowaniu oprogramowania) i średni koszt programisty, który wydaje się być ustawiony na domyślną wartość 55000 USD rocznie, ale może zostać zmienionym przez użytkownika.

Oto kilka przykładów szacunkowych kosztów Ohloha:

  1. Serwer HTTP Apache - szacowany koszt: około 15 milionów USD .
  2. Mozilla Firefox - szacowany koszt: około 87 milionów USD .
  3. Linux Kernel 2.6 - szacowany koszt: około 173 milionów USD
  4. OpenOffice.org - szacowany koszt: około 428 milionów USD
  5. Turbina Apache - szacowany koszt: około 2 milionów USD
  6. Prędkość Apache - szacowany koszt: około 665,000 $

Należy jednak pamiętać, że podobnie jak w przypadku każdej techniki szacowania kosztów oprogramowania, jest to tylko - szacunek.

coobird
źródło
1
To bardzo fajna strona internetowa. Byłem zaskoczony, ale bardzo szczęśliwy, że znalazłem projekt, który szacuję już w Ohloh. Ich metoda szacunkowa wyniosła 2 824 979 USD. Ciekawe było też zobaczenie wszystkich innych statystyk zebranych w ramach projektu.
Al Crowley