Thus spake Prof David West circa 16/02/09 05:47 PM: > Thus spake glen e. p. ropella circa 16/02/09 16:02 PM > >> The next trick is to transition ... to more >> formal, repeatable, and communicable processes. > > There are no such things.
Yes, there are. But you may not be hearing those words the way I'm saying them. ;-) By "more formal", I don't mean absolutely and purely syntactic with no semantics ala Hilbert. I mean formal as in "relating to or involving outward form or structure. That applies to _all_ cases everywhere, even if the form or structure is implicit. By "repeatable", I don't mean "the ability to do exactly the same thing multiple times and multiple places." I mean "the ability to perform similar tasks with similar results." That's not a myth. Repeatable processes exist and I use them on a regular basis. Here's an example: 1) write code, 2.1) compile code, 2.2) run executable, 2.3) (finished ? goto 3 : goto 2.1), and 5) Analyze results. Not only is there a repeat within that example; but the process occurs throughout my work. And communication _does_ happen, however noisy it may be. People do learn, say, a build process when another person explains it to them and/or shows it to them. Such processes can be written down and communicated across a wide variety of people for as long as the system works mostly as it did when the document was created. So, more formal, repeatable, and communicable methods do exist. Just as _less_ formal, repeatable, and communicable methods exist. > Forty years of empirical evidence to the contrary - the software > development field still insists that engineering is a good metaphor for > what most software developers do. It is a terrible metaphor. You're throwing the baby out with the bathwater. It's true that software is _somewhat_ different from, say, bridge building. Or the work a chip designer does to build a chip. But it's not _that_ different. This "software developers are from another planet" garbage is a smoke-screen and an excuse for a prima donna attitude.... or worse, an extension of the teenagers' or artists' "I'm so misunderstood" lament. To engineer means "The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems." If programmers are NOT applying scientific and mathematical principles to practical ends, then they are NOT programmers.... I don't know what they are; but they're not programmers. Granted, I'm not saying that the CMM is right. I'm also not saying that the RUP or the agile methods are right. In fact, I think they're all dangerously wrong. But to claim that regularity and formalization (in the sense of "more formal") are impossible and non-existent is unjustified and irresponsible. -- glen e. p. ropella, 971-222-9095, http://agent-based-modeling.com ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org