Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.chainon-marquant.org!nntpfeed.proxad.net!proxad.net!feeder1-2.proxad.net!74.125.46.80.MISMATCH!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 17:04:48 -0800 (PST) Organization: http://groups.google.com Lines: 123 Message-ID: <7440597.613.1329095088895.JavaMail.geo-discussion-forums@pbba5> 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> <9373230.587.1329080154111.JavaMail.geo-discussion-forums@pbmw8> <4f383089$0$281$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 1329095992 26995 127.0.0.1 (13 Feb 2012 01:19:52 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 13 Feb 2012 01:19:52 +0000 (UTC) In-Reply-To: <4f383089$0$281$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 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:12008 Arne Vajh=F8j wrote: > Lew wrote: > > 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 pi= eces. > >>>>> I can think of examples from my own experience where a software > >>>>> development team of maybe a dozen or fifteen folks (developers, tea= m > >>>>> lead, technical architect, PM, QA/QC types etc) fell into the follo= wing > >>>>> slots: > >>>>> > >>>>> 1. as the only software development team in a small (<30 people) pr= oduct > >>>>> company; > >>>>> > >>>>> 2. as one of several similar sized teams in a ~100 person IT shop i= n a > >>>>> small/mid-sized (several thousand people) services organization. Ea= ch > >>>>> team working independently on their own IT projects; > >>>>> > >>>>> 3. As the only team working on a specific product in a large (10,00= 0+ > >>>>> 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, ~= 2000, > >>>>> ~25000) is irrelevant. > >>>>> > >>>>> You're absolutely right, though, Patricia: for an 800-person *proje= ct* > >>>>> you sure would want clean interfaces. Myself I don't think that ado= pting > >>>>> agile is either going to help you or hinder you in achieving that g= ood > >>>>> 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= what > >>>> 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. > >> > >> 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 > > increase in communication bandwidth with team size. Autonomy, within a > > shared framework as you aptly point out, is a necessity for such a larg= e > > organization to function effectively. >=20 > Maybe technical leadership ~=3D shared framework?? >=20 > > In practice it works out all right that one team chooses PHP and anothe= r > > JSF, >=20 > Single signon and session sharing becomes a problem. >=20 > > or as in my experience, one programmer C and another Fortran. >=20 > Increases skill sets necessary for maintenance. >=20 > > Where teams must share a common resource, say that choice > > between Oracle and DB2 you describe, one of those small teams could be = the > > database team. It would then function autonomously to serve the needs o= f > > the other teams, the database team's clients. >=20 > If they pick Oracle and operations know DB2 and not Oracle, then > that will not work. >=20 > > Surely you don't profess that 800 people on a team should work as a sin= gle > > unit? That is a proven antipattern. You have to break that large a grou= p > > into manageable sizes, and those smaller groups must have autonomy. >=20 > I disagree on that. >=20 > > However, not to the /reductio ad absurdum/ point you mention. Analogous= ly, > > you and I have autonomy in our posts to this newsgroup, yet we work wit= hin > > a common framework of the English language. Autonomy is not synonymous > > with isolation. >=20 > Speaking English is sufficient to understand what the other > part is saying. >=20 > But making a big IT project succeed require a lot more than that. Again, there's a difference between autonomy and isolation. Within the=20 overarching framework, each team must be autonomous with respect to its=20 own responsibilities. You seem to interpret "autonomy" as "no one=20 communicates with each other". That's not what it means. What it does=20 mean is, "Each group makes its own decisions within its sphere of=20 responsibility." Your counter-examples do not negate autonomy, they negate isolation. --=20 Lew