To Edward Yourdon re "Death March 2007"
[Wow, I just realized that my title was ambiguous and could be parsed as "To Edward Yourdon re Death, March 2007". I've added quotes to clarify the object of re. I apologize for the sloppiness in writing.]
Edward, to quote Shakespeare, "I could thee a tale unfold/That would make thine eyes like stars shoot from their spheres..." (Hamlet).
Basically, my discovery was that with each "advance" in technology (low level languages to high level languages, mainframe to micro, client-server to Web) the gain was at the level of software reliability canceled out by a massive loss.
For example, in the early 1960s, when we went from assembler to Cobol, we lost, and never regained, the ability to do processing at compile time (the "conditional assembler"). Of course, this was abused but no opportunity ever was presented to figure out how to do so reliably. PL/I tried to bring back the feature but in such an overgeneral way that it was either unavailable on most mainframes...or used so mysteriously as to even further lower the reputation of a simple, and useful idea, the ability to fine-tune the object code.
Likewise, in the 1980s, precisely as really good Rexx software began to be available on IBM's old CMS, we all learned that client-server was way better, and this meant using inferior and new compilers. At Princeton's computer center in 1992, I discovered that John ("A Beautiful Mind") Nash was using a Microsoft C compiler which used 32-bit arithmetic to do constant evaluation at compile time, which meant, contrary to the standard, that you could not use the value 2^31-1 as the "highest" value storeable.
In the late 1990s we all learned on Death March projects that (1) the "virtual machine" we were all programming in HTML was not a Turing machine, (2) it was "academic" to worry about this, and (3) all you had to do was copy and paste vast amounts of HTML into various pages to manage this. You were not, in the development projects in which I worked, to worry about the fact that you were exponentially creating a maintenance headache involving the follow-on need to monitor scattered files for minor differences (some of which were meaningful and some of which were bugs) that would in an exponential way ruin your social life.
In 2003, I joined a firm in California and cleaned up a system for industrial genetic synthesis by documenting everything and as the "project manager" instituting a 5:00 PM build. I was also writing my book Build Your Own .Net Language and Compiler, and on the morning of The Big Presentation to the Very Important Client, I'd worked, for the company, 18 hours straight. I was less than coherent, and was immediately demoted with a cut in pay to "technical writer", my manager insisting that he was very pleased with what he described, after The Big Presentation to the Very Important Client, my writing skills...the very idea that I might know how to program and manage being canceled by my being incoherent and exhausted during aforesaid Big Presentation.
I trained my successor and left for China. In China, I discovered that people worked far more naturally in teams and as far as I could tell through the screen of a new language, the issues of "project management" are unsolvable within American data processing, because in America they are the results of social conditions, including the fact that so many American data processors depend so absolutely on their job for health insurance for themselves and for loved ones that they have no technical integrity...and cannot be relied on not to cover up problems and bugs.
I am now teaching English, philosophy, history and yes computer science to gifted kids in Hong Kong, having given up on the very idea that the ideas of structured and object-oriented design and coding will ever have the traction they need in an American environment in which people in corporations are set into competition with each other, and forced, in "presentations" to demonstrate a dedication to alienated goals that is a lie, and unsustainable.
Edward, a long time ago, in 1974 in fact, you brought Truth and Knowledge to our field. The problem is that the old world of the 1960s (with real programmers having real nervous breakdowns over OS/360) came roaring back under Reagan and the result is literally, no progress in the fabrication of large software in America between OS/360 and Windows Vista, where Windows Vista, just like OS/360, generates thousands of bug reports as soon as it slides down the chute.
Edward, here's what this Edward says. OS/360 came out just as Lyndon Baines Johnson was trying to manage the escalation of the war in Vietnam, and was being systematically deceived by "body counts" and neat fanfold printouts from his Secretary of Defense, Robert Strange McNamara. Windows Vista emerges after a massive cock-up in Iraq which was in fact DRIVEN by Power Point and its culture of promise making and breaking (not ten percent of the promises to restore Iraqi infrastructure have been kept, and promise breaking is ruining the lives of Katrina survivors).
Death Marches have in my opinion no technical solution that can be implemented by a middle manager. Death Marches are the American way, and for the actual participants, they are no joke.


The so called wave of change
A consultant of the 1970s, Charles P. Lecht, called technical change "the waves of change".
This metaphor, useful as it may be, presents technology as a tsunami, something part of nature.
Well it is TRUE that technology has become a form of nature, but it is FALSE that technology is even metaphorically nature, the "first" nature. Instead, the best way of describing technology is as "second" nature, a nature that we, in the evolving Social Contract, agree to, or demur-from, the latter demurral being that of the "hippie" or Bohemian who attempts to reject second Nature.
Lecht et al. advised managers, and I suppose programmers, to be ready at all times to "adapt" to what he in the latter 1970s called the "tsunami".
The metaphor however is strained, because you don't adapt to a tsunami. You in fact flee it. Therefore, if Lecht was metaphorically right (and in view of the rapidity of technical change especially around 1980, a crucial year), the response should be to head for the (metaphorical) hills.
Lecht of course did not counsel this hippie-like act. Instead he advised managers to be aware of technology and always be ready to "stir up complacency" by replacing platforms and systems when older platforms and systems were "out of date".
The problem was that the decision to churn, to constantly replace, was never rational in the slightest.
In the 1980s, as a semi-senior person, I was always getting asked to participate in "studies" of what was best for the firm, and to produce "white papers" (which always and everywhere seem to be the equivalent of blank pieces of paper, hence the name by way of a technical subconscious, because they could never say anything in the manner of a responsible scientific paper lest someone, often someone studiedly ignorant of the whole damn situation, take a dreaded offense).
You always sensed that the answer upper management wanted was always out there, an ideal like a negative art work is for the artist in Adorno's Aesthetic Theory (a book that manages to be most unreadable and, once overcome even in part, most illuminating) and smart cookies would take "key people" (a phrase that made me shudder with an instinctive distaste for the culture of secrecy and exclusion implied) out to lunch (another shudder-making phrase) to find out what they wanted.
Technology is second nature, not first nature. The hardest thing in the world, it seems, is to realize that one is almost, but not quite, infinitesimal with respect to technology.
Not an atom insofar as atoms do not have intelligence. Instead, an intelligent agent with an almost, but not quite, infinitesimal ability to change the direction of Technology but ever so painfully, and ever so embeded in the real world.
My family of origin, which is dysfunctional and suffers from the sort of love starvation the Prince of Wales is shown to undergo in Balmoral Castle in the new movie The Queen, was amazed when I said I'd been contracted about writing a book and they wondered out loud, being ever so supportive (not) how I would pay back the advance after I failed to write the book.
This is because people are socialized to fit in especially in German-American families, whose ancestors were justifiably frightened out of their wits and their culture by anti-German rioting during WWI.
This is finding a "good" job, with benefits, and getting Employee of the Month awards (I have never, and I mean never, been Employee of the Month).
In that job, you have to perform an impossible operation. You have to understand without the slightest criticism a vast and complex phenomenon, technology, second nature.
This is the main reason, I now believe, why projects are Death Marches.
Because we are socialized not to criticise in the way we criticise what we learn in a good university, our subconscious undercuts us as developers, and even good developers "develop" tics in which they resist their alienation.
This developer over here obsessively-compulsively uses Hungarian notation, in part because it does help him structure code and also in part to have a snowball's chance of feeling that in the bits and bytes, their is some reflection of his humanity.
[And this motive is yet universally condemned, as if humanity itself needs to be eradicated.]
That developer over there with equal compulsion avoids Hungarian.
When each looks at the other's code, the denial of their humanity by the socio-technical apparatus crystallizes as rage against the Other, that low-level but constant hatred of humanity a feature of Dilbert, the real motivator of the strip being hatred of humanity when it is so clueless as to have to work for a living.
With these subconscious motives having a social origin unsoluble by "team building exercises" except in the most superficial way, it's a wonder that anything gets done.
Gerald Weinberg preaches Amplifying Your Effectiveness. The problem is that the base effectiveness to be amplified cannot be contrary in its values to the real values of the firm.
This is why people with vaguely socialistic leanings had better not Amplify Their Effectiveness. The mission of the firm remains what it is in Peter Drucker: singly focused on making money for the shareholders.
Had assistance to Russian teachers using pirated software they knew nothing about been part of the Gates (nonprofit) foundation's charter, it would have stood up in the case I've mentioned below in my blog post "Let's Blame the Teacher and Feel All Right".
As it was, Gorbachev and Putin, themselves Russian and the latter nominally on top of the apparatus which is railroading the teacher to jail, appealed to Microsoft, a limited-liability firm chartered I believe in the state of Washington.
This firm cannot respond with compassion or equity because its (Druckerian) mission is so single. If you have a problem with this, don't work for a limited liability corporation, and Amplify Your Effectiveness for an eleemosynary organization such as the Girl Scouts or Doctors Without Borders.
But the problem goes deeper. Amplifying Your Effectiveness is necessarily something with a positive and progressive sign, which makes you a better person. But if you take this betterment and use it to Amplify the Effectiveness of the profit seeking corporation, and if (big if) you think that there are problems with the Druckerian-reductionistic statement of the *telos* of the corporation, buddy, you are headed for a mid-life crisis.
Dan is showing us all how to manage mid-life crises, which have an inescapably social aspect because in them we realize that to survive we usually do have to become part of the Druckerian reduction of hope. I had several, which harmed my family grievously because with a head already at 30 stuffed with a lot of undigested book learning of all sorts, I was completely unable to process the fact that my growth was like Alice's growth at the end of Alice in Wonderland.
She upsets the house of cards when she realizes that she is a growing human person who is able to think and act for herself. She finds herself, as I found myself in 1981 at a Chicago consulting firm, surrounded by subhuman monsters such as the Red Queen, Victorian archetypes which were undergoing a revival in 1980 owing to the gentrification of Chicago, the sort of people who would ask a child "what's one and one and one and one and one" and then scream "she can't do arithmetic" when Alice loses count.
I think the best way to Amplify Your Effectiveness is to go into the first nature, the green world, the world of things that grow, the world of respiration and photosynthesis.
In that world, at least if you are like me a wild and crazy guy, you need to run and swim.
Learn to swim and surf and snorkle. I was at Lo Shing beach today because you can enter the South China Sea year 'round as long as the sharks let you.
I bet that Jerry Weinberg knows this. Perhaps AYE is just a principled response to the basic inhumanity of the corporation, which in the humanistic world of The Psychology of Computer Programming became a beautiful prose style. Throughout that book was a quiet acknowledgment of pain and victimization which appears nowhere else in the genre of "business book" except for the classics, like Dale Carnegie (who was a Protestant minister whose basic concern was the way people were being ground down in part by their own shame and their consequent failure to love even in the context of business).
We had learned by the end of the 1970s that programmers needed a window with a view of the mountains and one thing Bell Northern Research did for us that was great was allow us to have that view, and to organize white water rafting trips: but this is long gone.
I am most fortunate to live on a beautiful island, even though its proximity to China's mainland causes some pollution.
I frankly don't know whether using Hungarian will make you more productive. I do advise you to get outside and sweat every day no matter what.
I seem to have lost the thread. Oh yes. Technology is not nature, and the "real world" is an illusion. Plus ca change: we're still trying to solve problems in delivery and we're still undercut by "waves of change" which upon investigation are meant to destroy our livelihoods without any of our backtalk.