$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).
Link Summary
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.