Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail From: Lew Newsgroups: comp.lang.java.programmer Subject: Re: Agile Project Management Date: Sun, 12 Feb 2012 12:55:54 -0800 (PST) Organization: http://groups.google.com Lines: 85 Message-ID: <9373230.587.1329080154111.JavaMail.geo-discussion-forums@pbmw8> References: <8b9e9575-e454-4d1b-80aa-f89a4a39b511@t24g2000yqj.googlegroups.com> <4f36f42a$0$281$14726298@news.sunsite.dk> <92d0e832-6c70-4dc6-9c9f-71f588920d36@vv9g2000pbc.googlegroups.com> <4f37ca65$0$281$14726298@news.sunsite.dk> <562dna94O9Z-SKrSnZ2dnUVZ_i2dnZ2d@earthlink.com> <5802382.596.1329066025882.JavaMail.geo-discussion-forums@pbcwg4> <4f37f198$0$282$14726298@news.sunsite.dk> <4f380161$0$286$14726298@news.sunsite.dk> NNTP-Posting-Host: 173.164.137.214 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1329081670 4162 127.0.0.1 (12 Feb 2012 21:21:10 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 12 Feb 2012 21:21:10 +0000 (UTC) In-Reply-To: <4f380161$0$286$14726298@news.sunsite.dk> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=173.164.137.214; posting-account=CP-lKQoAAAAGtB5diOuGlDQk0jIwmH0T User-Agent: G2/1.0 X-Google-Web-Client: true X-Received-Bytes: 4906 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:12002 Arne Vajh=F8j wrote: > Arne Vajh=F8j wrote: > > Lew wrote: > >> Arved Sandstrom wrote: > >>> I don't think the OP meant ~800 person *project*. > >>> > >>> Once we start getting into these examples I'd like to see a clear > >>> understanding of what numbers are involved in what roles on what piec= es. > >>> I can think of examples from my own experience where a software > >>> development team of maybe a dozen or fifteen folks (developers, team > >>> lead, technical architect, PM, QA/QC types etc) fell into the followi= ng > >>> slots: > >>> > >>> 1. as the only software development team in a small (<30 people) prod= uct > >>> company; > >>> > >>> 2. as one of several similar sized teams in a ~100 person IT shop in = a > >>> small/mid-sized (several thousand people) services organization. Each > >>> team working independently on their own IT projects; > >>> > >>> 3. As the only team working on a specific product in a large (10,000+ > >>> persons) IT company. Dozens upon dozens of other teams, many larger, > >>> some smaller. But this team is insular and works on one thing. > >>> > >>> In these 3 examples mentioning the size of the organization (~25, ~20= 00, > >>> ~25000) is irrelevant. > >>> > >>> You're absolutely right, though, Patricia: for an 800-person *project= * > >>> you sure would want clean interfaces. Myself I don't think that adopt= ing > >>> agile is either going to help you or hinder you in achieving that goo= d > >>> architecture; either you know what you're doing or you don't. > >> > >> If you have structured an 800-person project in this sense, not > >> decomposed > >> into 5- to 12-person autonomous projects, then either you don't know w= hat > >> you're doing or you don't. > > > > If would put it the exact opposite if a 800 person project is split > > into 80 autonomous projects of 10 persons, then the management it > > totally clueless. >=20 > Imagine some autonomous web UI projects choosing: > - PHP > - Struts > - JSF > and some autonomous persistence projects choosing: > - Oracle with SP's > - DB2 with Hibernate Full communication between each member of a team requires geometric=20 increase in communication bandwidth with team size. Autonomy, within a=20 shared framework as you aptly point out, is a necessity for such a large=20 organization to function effectively. In practice it works out all right that one team chooses PHP and another=20 JSF, or as in my experience, one programmer C and another Fortran. What's= =20 the harm? Where teams must share a common resource, say that choice=20 between Oracle and DB2 you describe, one of those small teams could be the= =20 database team. It would then function autonomously to serve the needs of=20 the other teams, the database team's clients. Surely you don't profess that 800 people on a team should work as a single= =20 unit? That is a proven antipattern. You have to break that large a group=20 into manageable sizes, and those smaller groups must have autonomy.=20 However, not to the /reductio ad absurdum/ point you mention. Analogously,= =20 you and I have autonomy in our posts to this newsgroup, yet we work within= =20 a common framework of the English language. Autonomy is not synonymous=20 with isolation. --=20 Lew