Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] Large project Agile development



On 2008-08-19 14:49 +0900 (Tue), Edward Middleton wrote:

> In some previous discussion, there was disagreement about whether agile 
> development could scale.  This is an article about developing a large 
> system using scrum.
>
> http://www.infoq.com/articles/dutch-railway-scrum

Unfortunately, this is no way qualifies as a "large system" in the sense
that I, and I believe Stephen, was using it in that article. In fact, it
appears to have been smaller than the CCC project that birthed Extreme
Programming and the whole agile movement. Let's look at the various
figures.

100,000 lines of Java code is not small, but given the verbosity of
Java, hardly counts as large. For comparision, Steve Yegge estimates
that in his years at Amazon (I'm guessing around six or so) he alone
wrote about 600,000 lines of Java code.

20 man-years is just under three years of work for a six-person team,
which while it can produce a pretty respectable application, is very
much an "agile" size. And you'll note that they started out with a
seven-person team for the first six weeks.

They did move up eventually to fifteen developers split into three
groups. It's hard to say if this contributed to the communications
issues or not, given their other major problems of geographically
separated groups and a large number of developers who were unable to
talk directly to the customer. (I'd suspect that those things account
for a lot of those man-years--it makes me wonder if they really saved
any money by outsourcing.)

Along that line of thought, I'd estimate that Haskell runs about
5-20% the linecount of Java for equivalant functionality. (Some of it
depends on how you count Java; as an example, I ignore all blank lines,
comments, lines that are less than four characters when whitespace is
trimmed, and duplicate lines almost anywhere in the source.) Of of my
current largest projects, which has basically no onerous management
requirements, is about 3000 lines of Haskell code for 4-5 months of
effort by one person who's learning Haskell as he goes along. (Actually,
some of that effort also went to some build and test framework stuff
written in Ruby that I didn't count here).

I would guess that a good pair of Haskell programmers could produce
something like 500 lines of production code per month, and this
would probably be denser than my code. Given that this is probably
a 5000-10000 line project in Haskell, put four programmers on it
for a year and you're done, if someone else takes care of all the
distractions.

Now the projects I think that Stephen had in mind, and that I certainly
did when I talk about Agile vs. Large Projects, are ones that involve
hundreds of developers and engineeers over a 3-5 year period. Airplane
and spacecraft computerized control systems come to mind. That's a
completely different realm from a 20-person project, even if the
20-person project does have a bunch of unnecessary or self-inflicted
co-ordination problems to deal with.

cjs
-- 
Curt Sampson       <cjs@example.com>        +81 90 7737 2974   
Mobile sites and software consulting: http://www.starling-software.com


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links