Email to Torsten Weber
Feed Icon
.NET User Group Leipzig

Für den einen oder anderen Ansatz zur Messung der Effizienz der Softwareentwicklung, sehr häufig im Zusammenhang mit economics of scale, wird die Anzahl der geschriebenen Programmzeilen benötigt. Visual Studio bietet von Haus aus nicht solche Funktionalität. Ein Add-In kann es: Das (kostenlose) Add-In Project Line Couter.

Heute hörte ich:

Ich habe in den letzten drei Tagen 900 LOC geschafft. Davon ist nichts generiert!

Wow?! Ich kann da immer wieder nur auf die Untersuchungen der Center for Project Management, des Cutter Consortium, der Gartner Group und der Standish Group hinweisen.

  • ca. 23 % aller Softwareprojekte sind erfolgreich,
  • ca. 53 % aller Softwareprojekte sind über dem Budget und / oder über der Zeit
  • ca. 24 % aller Softwareprojekte werden abgebrochen

Es zeigt sich, dass sozusagen ein durchschnittlicher Softwareentwickler im langfristigen Durchschnitt

  • 10 LOC pro Arbeitstag¹ bis
  • 16 LOC pro Arbeitstag² schafft

Wahrscheinlich lässt sich auch wie mit jeder Statistik auch mit jeder Metrik schon irgendetwas beweisen, aber einfach so in den Raum gestellte "300 LOC / Personentag" sollten Alarmleuchten³ jedes Managers auf hellrot schalten lassen. Sicher können Softwareentwickler solche Werte erreichen, aber mittel- und langfristig sollten andere Werte die Regel sein? 10 - 16 LOC klingen aber auch sehr wenig? Was nun?

12:18  Wie willste denn das XmlDocument in nen String bekommen? Mit ToString() oder was?
12:20  Ich glaub nicht, dass es ein Convert.ToXML() gibt. Wie kann ich den String in XML wandeln?
12:20  Ach man! Ich bin mit C++ einfach viel zu wenig auf C# vorbereitet.
12:20  Hab Sachen gelernt, die ich jetzt nicht brauch.
12:21  Die Einarbeitungszeit wird bei uns nicht mit in die Projektzeit eingerechnet.
12:21  /hach/

Fakt ist, dass solche blanken Zahlen genau wie Metriken gar nichts aussagen, LOC ist ein Größenmaß. Es kommt auch auf technische Faktoren an oder auf die verwendete Programmiersprache4. Ist nicht auch eine 10 LOC-Lösung in C# für einen Algorithmus besser als die, die 300 LOC in C# benötigt? Sind auch nicht in Assembler tendenziell mehr LOC notwendig, als in einer hohen Programmiersprache wie C#? Richtig ist, dass je höher die LOC pro Softwareentwickler sind und vom Durchschnitt abweichen, es sich wahrscheinlich eher um undokumentierten, unzuverlässigen, ungetesteten sowie nicht wartbaren Code handeln wird5, der noch dazu in wenigen Köpfen verteilt ist.

Project Line Counter

¹ Mayr 2005
² Ludewig / Lichter 2006
³ von einem erfahrenen Architekten hörte ich: "meine kleinen Gizmos"
4 deswegen ist eben bei Metriken z. B. ein Vergleich notwendig
5 ein guter Freund sagte bei einem Projekt treffend: "zur Auslieferung ist es schon ein Legacy-System"

All comments require the approval of the site owner before being displayed.
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview

Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber
Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber

.NET User Group Leipzig

Categories

Calendar

<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

Archive

My subscribed blogs

show all
show less
Blogs of good friends (as OPML)
More Blogs (as OPML)