Polymorph: Zak Greant's Blog

$5,701,201 worth of eZ publish code?

I just ran David Wheeler's SLOCCount tool on a copy of eZ publish 3.7.3.

SLOCCount is:

a set of tools for counting physical Source Lines of Code (SLOC) in a large number of languages of a potentially large set of programs.

–from http://www.dwheeler.com/sloccount/

The tool generated a bunch of interesting stats, including an estimated cost to develop the eZ publish codebase: $5,701,201 USD.

Of course, it is always good to take stats with a grain of salt - as the saying goes, "There are lies, damn lies and statistics." These stats would be most interesting if we could compare the output of SLOCCount with records of what we actually did.

eZ publish

Anyhow, the exact stats generated by SLOCCount for the eZ publish 3.7.3 distribution were as follows.

$ sloccount ezpublish-3.7.3
...
SLOC    Directory       SLOC-by-Language (Sorted)
96815   kernel          php=96815
55929   lib             php=55929
2758    top_dir         php=2758
2584    bin             php=2092,sh=335,perl=157
2433    update          php=2433
1647    support         cpp=1647
1213    cronjobs        php=1190,sh=23
168     extension       php=168
0       design          (none)
0       doc             (none)
0       packages        (none)
0       settings        (none)
0       share           (none)
0       var             (none)

Totals grouped by language (dominant language first):
php:         161385 (98.68%)
cpp:           1647 (1.01%)
sh:             358 (0.22%)
perl:           157 (0.10%)

Total Physical Source Lines of Code (SLOC)                = 163,547
Development Effort Estimate, Person-Years (Person-Months) = 42.20 (506.45)
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 2.22 (26.65)
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 19.01
Total Estimated Cost to Develop                           = $ 5,701,201
(average salary = $56,286/year, overhead = 2.40).

WordPress

Running SLOCCount on WordPress 2.0.1 (which this blog runs under) generated these stats:

$ sloccount wordpress
...
SLOC    Directory       SLOC-by-Language (Sorted)
12820   wp-includes     php=12820
9028    wp-admin        php=9028
1738    top_dir         php=1738
1557    wp-content      php=1557

Totals grouped by language (dominant language first):
php:          25143 (100.00%)

Total Physical Source Lines of Code (SLOC)                = 25,143
Development Effort Estimate, Person-Years (Person-Months) = 5.91 (70.90)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 1.05 (12.62)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 5.62
Total Estimated Cost to Develop                           = $ 798,141
 (average salary = $56,286/year, overhead = 2.40).

eZ components

SLOCCount generates the stats below for the 1.0 release of the eZ components. In this case, the estimates aren't too far off it would seem - the components team is about five people and they have been working on a mix of refactoring old code and writing new code for about a year now.

$ sloccount ezcomponents-1.0
...
SLOC    Directory       SLOC-by-Language (Sorted)
5087    Archive         php=5087
4478    ConsoleTools    php=4478
4223    ImageConversion php=4223
4157    Database        php=4157
3590    Configuration   php=3590
1771    Mail            php=1771
1437    ImageAnalysis   php=1437
1371    EventLog        php=1371
1271    PersistentObject php=1271
1093    Translation     php=1093
955     Cache           php=955
923     Debug           php=923
603     PhpGenerator    php=603
550     UserInput       php=550
528     Base            php=528
230     EventLogDatabaseTiein php=230
179     Execution       php=179
163     TranslationCacheTiein php=163
0       autoload        (none)
0       top_dir         (none)

Totals grouped by language (dominant language first):
php:          32609 (100.00%)

Total Physical Source Lines of Code (SLOC)                = 32,609
Development Effort Estimate, Person-Years (Person-Months) = 7.76 (93.16)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 1.17 (14.00)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 6.65
Total Estimated Cost to Develop                           = $ 1,048,687
 (average salary = $56,286/year, overhead = 2.40).
Tags: , , , , , ,

Related posts


Posted on Friday, February 24th, 2006 at 2:25

You can follow any responses to this entry through the RSS 2.0 feed.

You can leave a response, or trackback from your own site.

Leave a Reply

Polymorph is powered by Wordpress running on Apache, Ubuntu Linux, MySQL and PHP.

The marvelous illustration of the Mad Hatter is by the late, great John Tenniel.
Like many great parts of our culture, it is in the public domain.

Contact: zak@greant.com | Gnu Privacy Guard Key

Entries (RSS) and Comments (RSS)