Home > Archive > Extreme Programming > March 2005 > pop culture
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
|
|
| Isaac Gouy 2005-03-11, 3:57 pm |
| Laurent Bossavit wrote:
>
> Recording can interfere with the task at hand... Sometimes
> constructively so: I hear that people who keep journals are more
> effective. (But how you'd prove that is tricky - they didn't keep
> journals of the period when they weren't journaling, did they...)
This seems to be a rhetorical question about a hypothetical situation.
A flick of the wrist, and the hypothetical situation has a control
group copying poems into their journal.
I seem to remember reading an aside on programmer diaries in an old
article by Peter Naur. Unfortunately I can't recall the publication
details, or the details of his informal study. I have a vague
impression that there were some benefits and he suggested that the
end-of-day diary entries made it easier to pick-up the threads of
ongoing-work the next day. (Better to find and read what he actually
wrote.)
Seems like his 1985 paper on "Intuition in Software Development" might
speak to you ;-)
complex[color=darkred]
>
> You don't need reliable recall of details to ask insightful
questions.
> Or to arrive at insightful conclusions. (Cf. that recent pop science
> book by Malcolm Gladwell, /Blink/.)
The new book effect? ;-) (Sorry, haven't read it - you'll need to write
something specific.)
"In the last 25 years or so, we actually got something like a pop
culture, similar to what happened when television came on the scene and
some of its inventors thought it would be a way of getting Shakespeare
to the masses. But they forgot that you have to be more sophisticated
and have more perspective to understand Shakespeare. What television
was able to do was to capture people as they were. So I think the lack
of a real computer science today, and the lack of real software
engineering today, is partly due to this pop culture.
....
There are just two different worlds, and I don't think it's even
that helpful for people from one world to complain about the other
world-like people from a literary culture complaining about the
majority of the world that doesn't read for ideas. It's futile."
"A Conversation with Alan Kay" ACM Queue vol. 2, no. 9 - Dec/Jan
2004-2005
http://acmqueue.com/modules.php?nam...howpage&pid=273
> What "why" questions could we be asking right here, right now, based
on
> what we now (thanks to your primary-source inquiries) know about the
> studies quoted by Larman ?
(Maybe later.)
> What in software development has you puzzled ?
The psychological difficulty of forking a new thread in a newsgroup
discussion :-)
| |
| Isaac Gouy 2005-03-24, 8:57 pm |
| > Laurent Bossavit wrote:[color=darkred]
based[color=darkred]
the[color=darkred]
Why over-play the importance of iteration, and under-play the
importance of initial course-correction and making a good first
impression with stakeholders?
Why demonize 'waterfall' through DoD 2167A without mentioning that more
than half the initial contract awards were challenged in the courts by
the contractors who failed the competitive bid - so projects began 6-18
months late after court delays, under immediate schedule pressure.
Why demonize DoD 2167A 'waterfall' paperwork (upto 50% project cost,
upto 3x more than civilian projects) without mentioning the adversarial
relationship between DoD and it's contractors - which (along with the
competitive bid process) gave rise to heavyweight oversight and
tracking requirements - the heavy paperwork is all about contract
compliance, not technical content.
(Here's a funny thing, Capers Jones reports military projects having 3x
the paperwork of civilian projects - hmmmm those would be 'waterfall'
civilian projects.)
[color=darkred]
Why do people find it so difficult to imagine that what they know about
software development is a tiny drop from a massive ocean of vastly
different circumstances and situations - and their experience might
only be relevant in very specific circumstances.
Why is software development so susceptible to hype? There's something
wild-west new-frontier about software - if it's a disaster just move on
to the next project.
| |
| Laurent Bossavit 2005-03-24, 8:57 pm |
| Isaac,
>
> Why do people find it so difficult to imagine that what they know about
> software development is a tiny drop from a massive ocean of vastly
> different circumstances and situations - and their experience might
> only be relevant in very specific circumstances.
That's puzzling indeed.
Are we both using the term "software development" with unwarranted
confidence ? What reasons do we have for subsuming that "ocean of vastly
different circumstances and situations" under one single term ?
Laurent
| |
| Isaac Gouy 2005-03-25, 3:57 am |
| > What reasons do we have for subsuming that "ocean of vastly
> different circumstances and situations" under one single term ?
The same reasons we have for subsuming creation of poetry, prose,
plays, and computer code under the single term 'writing'.
The mistake is in not recognising that although there are things in
common, there are also vital differences.
| |
| Laurent Bossavit 2005-03-25, 8:56 am |
| Isaac,
>
> The same reasons we have for subsuming creation of poetry, prose,
> plays, and computer code under the single term 'writing'.
I know one thing or two about writing that other people who write might
or might not know. As I see it, I have a choice: keep those things to
myself, or share them with others. Doing the latter, I might also learn
from these others. I'm wondering where sharing ends and what you see as
"hype" begins.
> The mistake is in not recognising that although there are things in
> common, there are also vital differences.
I'm not sure what you mean by "vital". Your experience and my experience
have aspects in common and some very important differences. That is no
reason not to sit down and compare notes, and no reason for either of us
not to offer suggestions to the other. It's what people do to help each
other out, and without that we ain't going nowhere.
Laurent
| |
| Isaac Gouy 2005-03-25, 3:57 pm |
|
Laurent Bossavit wrote:
> Isaac,
>
>
> I know one thing or two about writing that other people who write
might
> or might not know. As I see it, I have a choice: keep those things to
> myself, or share them with others. Doing the latter, I might also
learn
> from these others. I'm wondering where sharing ends and what you see
as
> "hype" begins.
I'm puzzled that you imagine we may understand "software development"
to mean different things, and yet you imagine you know what I see as
"hype".
>
> I'm not sure what you mean by "vital". Your experience and my
experience
> have aspects in common and some very important differences. That is
no
> reason not to sit down and compare notes, and no reason for either of
us
> not to offer suggestions to the other.
Sure. And, of course, in a conversation (rather than a presentation or
book) we would hope to explore the specifics of our respective
situations, and get beyond rhetoric.
| |
| Laurent Bossavit 2005-03-25, 3:57 pm |
| Isaac,
> I'm puzzled that you imagine we may understand "software development"
> to mean different things, and yet you imagine you know what I see as
> "hype".
I don't imagine I know what you see as hype. (Wonderful cascades of
higher-order beliefs we're spinning here.) I'm wondering what kinds of
things you perceive as hype, which is why I asked the question I did. :)
Communication is hard, innit ?
> Sure. And, of course, in a conversation (rather than a presentation or
> book) we would hope to explore the specifics of our respective
> situations, and get beyond rhetoric.
Well, here is a random assortment of my specifics. I got interested in
computers roughly at age 8, starting with toys that went by the names of
BigTrak and Merlin. I played with a ZX81 at age 11, an Apple ][ a few
years later on which I learned a little about UCSD Pascal and quite a
bit, for one my age, about hacking computer games - that included a
smattering of 6502 assembly, some BASIC. I went on to programming for
the Macintosh Plus; my first paid coding effort was porting a game from
Atari asm to Mac C.
I'm mostly self-taught and left the educational system early, preferring
paid work to lenghty instruction. My first salaried position involved
what is now called "internationalization" of "SOHO & entertainment"
programs in a variety of languages (Turbo Pascal, Turbo C and C++,
assembly, BASIC mostly). I learned a lot about what made other people's
code pleasant or painful to work with.
I've written for multimedia CD-ROM, for the Internet, for windowed
platforms, for information systems, but not for embedded. I've written a
morphing program, two content management systems (CMS), a stock market
emulator, a voice over IP program, an e-Commerce app, a multimedia
authoring app, a chat server, a (modest) compiler, a few games.
I've worked within and managed small teams of developers, of varying
degrees of experience, education and skill. I've had various titles like
developer, architect, CTO, co-founder. I'm a one-person consulting and
training business these days, delivering courses in OO, training in XP,
consulting and facilitation including project retrospectives.
All that is rather a thin slice - it excludes family, non-software
interests, personal tragedies and those of people I've know, and much
besides, all of which are interwoven with software-related experiences
to color my views on "software development".
Which parts would you like to explore yourself ? How does your own
experience differ ?
Laurent
| |
| Isaac Gouy 2005-03-25, 3:57 pm |
|
Laurent Bossavit wrote:
> Isaac,
>
development"[color=darkred]
as[color=darkred]
>
> I don't imagine I know what you see as hype. (Wonderful cascades of
> higher-order beliefs we're spinning here.) I'm wondering what kinds
of
> things you perceive as hype, which is why I asked the question I did.
:)
You should know by now that I just look words up in the OED :-)
> Communication is hard, innit ?
I seem to have misplaced the 'language is difficult. using language is
difficult' Wittgenstein quote.
or[color=darkred]
-snip-[color=darkred]
> Which parts would you like to explore yourself ?
That isn't what I meant.
I meant (to generalize) that we speak in generalities about 'software
development' without even noting that what we say is about a project
with 3 developers working on MIS, rather than 200 developers
split-across 3 continents working on systems software for a new GSM
phone.
| |
| Laurent Bossavit 2005-03-25, 8:56 pm |
| Isaac,
> That isn't what I meant.
We're in conversation, and I gave you specifics of situations I've
lived. We could talk about current projects, but then I'd have to tell
specifics of my clients' situations, and I won't do that on Usenet. :)
> we speak in generalities about 'software development' without even noting
> that what we say is about a project with 3 developers working on MIS, rather
> than 200 developers split-across 3 continents working on systems software for
> a new GSM phone.
(I'm generalizing as well...)
We're always on the lookout for regularities, patterns. We see two (or
N) different situations we confidently file under the label "software
development".
And then - we look for what's the same and different. Some differences
we dismiss as not relevant - for instance, the psychological profile of
one project manager or sponsor, or the political climate within the
customer firm, and so on. Some differences we consider relevant - number
of people (that's easier than psychology - even the less sociable among
us can count), gross geographical location (but sometimes one wall can
make a lot of difference), problem domain (you're still generalizing
quite a lot when you say "MIS"). Those are the three you mentioned, but
someone else might notice "OO technology vs non-OO", someone else might
notice "iterative lifecycle vs incremental", etc.
Whether you "generalize" or whether you "compare specifics" is going to
depend on what differences you consider relevant, in that particular
conversation. We're always going to generalize with respect to some
differences so that, within the category defined, we can compare with
respect to other differences.
Even in narrative - experience reports, "this is what I'm currently
doing" - we're generalizing to some extent. Novelists don't describe all
the specifics of their characters - brushing their teeth, going to the
toilet, eating breakfast are usually not experiences relevant to the
telling of the story.
Your phrase which prompted this whole conversation (I'm rereading the
above and thinking it could be terser) was "the mistake [of] not
recognising that although there are things in common, there are also
vital differences". Everyone recognizes that, or no conversation could
take place. It's just that the "vital differences" are... different
depending on who you talk to.
Are you maybe suggesting that people are often mistaken in their
assessment of which differences are relevant and which aren't ?
Laurent
| |
| Isaac Gouy 2005-03-25, 8:56 pm |
| > thinking it could be terser
At least we agree about that ;-)
| |
| Laurent Bossavit 2005-03-26, 8:56 pm |
| Isaac,
> The mistake is in not recognising that although there are things in
> common, there are also vital differences.
So, you're saying - it seems - that people who comment on the software
profession often over-generalize (i.e. they fail to make distinctions
that are relevant). We must be careful with statements like that (as
I've argued at length) but I agree.
One over-generalization that I find puzzling and vexing is the word
"project". We recognize the role "project manager" in almost all
discourse on software development method, but I don't think I ever came
across a term denoting someone who manages a software development effort
that is not a project.
For instance, I came across a development group who is accepting feature
requests (e.g. for interfaces to query its data) from /other/ groups in
the same company - groups working on stuff which was never in the scope
of the effort in question. I'm loath to call that effort a "project",
given that this sort of thing happens quite frequently, because in my
view a project is much more something self-encapsulated.
It might be OK to call it an "initiative", or a "campaign", or a
"programme", or an "engagement", or any of a largish set of words which
afford all the variety of nuance needed to distinguish efforts with a
set end date from efforts without one, efforts with a fixed boundary
from fuzzier ones, one-w efforts from fifteen-year, and so on. And I
suspect that "campaign management" might call for a different set of
skills than "project management" requires.
Yet, for some reason, we persist in calling everything a "project". We
talk about "the project" as the one entity of concern in software
development.
(And one of these rainy days we might want to take up just what
"software development" covers, as opposed to "programming" or "software
engineering".)
Laurent
| |
| Isaac Gouy 2005-03-27, 3:58 am |
|
Laurent Bossavit wrote:
> Isaac,
>
>
> So, you're saying - it seems - that people who comment on the
software
> profession often over-generalize (i.e. they fail to make distinctions
> that are relevant). We must be careful with statements like that (as
> I've argued at length) but I agree.
Capers Jones just uses 2 coarse distinctions: size and category
(systems, military, commercial, IS, outsourced, end-usr) - which
doesn't seem so very burdensome.
-snip-
> Yet, for some reason, we persist in calling everything a "project".
Well, a project manager might tell you that a project is the work we do
one at a time, and a program is a series of related projects.
> (And one of these rainy days we might want to take up just what
> "software development" covers, as opposed to "programming" or
"software
> engineering".)
Sorry I'm not interested in owning the definition of a term - call it
'blue' if you like as-long-as you say what you mean by 'blue'.
| |
| Isaac Gouy 2005-03-30, 8:57 pm |
| > > The mistake is in not recognising that although there are things in
>
> So, you're saying - it seems - that people who comment on the
software
> profession often over-generalize (i.e. they fail to make distinctions
> that are relevant). We must be careful with statements like that (as
> I've argued at length) but I agree.
Fail to make gross distinctions - are we talking about an elephant or a
goldfish.
"There are hundreds of successful ways to build small applications, but
only a few ways to build large systems successfully."
p431 Software Assessments, Benchmarks and Best Practices.
> One over-generalization that I find puzzling and vexing is the word
> "project". We recognize the role "project manager" in almost all
> discourse on software development method, but I don't think I ever
came
> across a term denoting someone who manages a software development
effort
> that is not a project.
Product manager?
"Projects are unique (by definition) but in some firms there is a great
deal of similarity among the projects. The greater the similarities,
the greater the opportunity to manage projects in the same way as
ongoing operations." p269
The Fast Forward MBA in Project Management
http://www.amazon.com/exec/obidos/A...7623425-5052839
> (And one of these rainy days we might want to take up just what
> "software development" covers, as opposed to "programming" or
"software
> engineering".)
Why the interest in terminological disputes?
|
|
|
|
|