Mailing List Archive
tlug.jp Mailing List tlug archive tlug Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]Re: [tlug] [OT] Good IT Resume
- Date: Sat, 28 Jul 2007 16:03:14 +0900
- From: "Josh Glover" <jmglov@example.com>
- Subject: Re: [tlug] [OT] Good IT Resume
- References: <8572e260707182339i5ca059c4l1be1f51559c16f54@mail.gmail.com> <d8fcc0800707240550o691c99f9n4524a2fe71c847e8@mail.gmail.com> <Pine.NEB.4.64.0707251409590.8162@homeric.cynic.net> <20070725072147.GD23731@soto.kasei.com> <d8fcc0800707260050v50c889eawb6a0d426f3dd301b@mail.gmail.com> <Pine.NEB.4.64.0707262024340.26874@homeric.cynic.net> <d8fcc0800707260651j6fab097fi1fdf3a9b2fbb03d8@mail.gmail.com> <Pine.NEB.4.64.0707271740110.10301@homeric.cynic.net> <d8fcc0800707271657k5c6b2c40x9a6d3a5cfe650df4@mail.gmail.com> <Pine.NEB.4.64.0707281400580.21837@homeric.cynic.net>
On 28/07/07, Curt Sampson <cjs@example.com> wrote: > On Sat, 28 Jul 2007, Josh Glover wrote: > > > Well, why not keep a spec? > > I do keep a spec. It's the code (which of course includes the tests). In my environment, I consider that unacceptable. Obviously, it works for you. I would love to hear from XP advocates working for large dev organisations about how it works for them. > So your challenge, when the customer says "don't do Y because it will > break the software" is to write a test that proves the software isn't > broken that way. > > Later, if someone tries to implement that, they'll run the test, the > test will helpfully show you just how the software is broken, and you > won't commit that piece of code. This is reasonable, but what if the engineer has already spent lots of time implementing the "optimisation", then he runs your test against his new code, and it fails, and he finds out what he could have found out in 30 - 60 minutes by reading the spec. > Keep in mind, I'm not saying that your process can't work. I'm just > saying that I can automate some of the stuff you do manually, and I'm > also claiming that once you teach a computer to do something, it can do > it over and over again more reliably than a human can. We are in complete agreement about the benefits of automation, but apparently we disagree on the limitations thereof. Perhaps this discussion should be deferred until I post an example spec, then you can XP-ify it and prove me wrong. > What you appear (to me) to be claiming is that there are certain things > that you can't teach a computer to do, and I'm saying that I do teach > computers to do these sorts of things all the time. See above. > There should certainly be no need to read every line of a well-written > 10,000 line application in order to understand what it does and how > it does it. Do you read the library of fopen() to find out what an > application reading a file does? But 10,000 lines of code will take more time to read than 10 pages of tight prose and diagrams, even if the code is very well organised and I just hit the high points. Where I think the "code as documentation" approach falls down is in communicating the nasty little details that are buried deep in the kernel-level code that fopen() relies on. Why, if your approach is sufficient, does fopen() even need a man page? A spec can put it right in your face, in bold red type, a tricky part of the requirements or implementation. > > The bottom line is this: the spec shows how it is supposed to work. > > The code shows how it does work. When the spec is kept up to date, any > > differences between spec and code mean a bug in the code. > > Or a bug in the spec. Possible. > > Is your code bug-free? 'Cuz mine ain't. > > No. Are your specifications bug-free? No, almost certainly not. But if IBM's estimate of one bug per 100 lines of code is correct (was that the number that Brooks used?) is correct, I claim that my 10 page spec has fewer bugs than your 10,000 lines of code, almost certainly by an order of magnitude and possibly even two (i.e. my spec has 1-10 bugs, your code has 100 bugs, give or take the sampling error). > My customers review my specs, too. Only they often find it easier > because it's on an index card instead of being a ten page document. My > customers also sometimes review my code. Sometimes they even write it. Well, my customers are the business people who own the projects, and ultimately you guys. And while some of you might write AWS code (thanks!), I doubt the percentage of Amazon customers on this list who use AWS even reaches double digits, and it will be an order of magnitude outside this fairly technical list. > > 1. A project I recently finished added well over $100,000 (US) a > > *week* in incremental revenue. Had I needed to make late changes and > > the project was delayed a week because of it.... > > And what if the project was instead delayed a week because you spent all > that time writing a specification? Did you see my hard numbers later? I spend 3-5 hours on the initial spec, plus two hours a week to maintain it for the duration of the project. On a one-month project, that is 11 hours, or two engineering days. > I'm quite familiar with time vs. money tradeoffs. That's why I develop > stuff the way I do, and why I generally don't do heavy specifications. I claim that specifications save time, and further claim that your approach, while it seems to work fine for you, would be a huge waste of time *and* money in the enterprise. I would love for some XPer to stand up and show me how my reasoning is flawed, though. > *Shrug*. I do XP coaching. I think it's more tactless of you to argue > that what I do can't work when not only do I have plenty of examples of > it working successfully, but I can even show you how to make it work > successfully for you, if you're willing to set aside your predjudices > and learn. I have not made the point that what you do can't work. Please re-read this thread in its entirety and point out where I have said that. I use many of the ideas from XP (which is itself a synthesis of a ideas from a few different sources) in my daily work, including TDD, refactoring, user stories, etc. I am sceptical about peer programming being a good idea in the enterprise, and simply dead-set against the "look Ma, no English specs" approach that you are advocating. If anything, you are the one refusing to accept any of my ideas due to your own prejudices. I am very open-minded. I am willing to give any idea a listen, and many ideas a whirl. When something doesn't work, I discard it. I am engaged in heavy 改善 for my development process and environment. Can you say the same, or are you stuck in an XP-only mindset? (I am not accusing, I am challenging.) In any case, I look forward to having this discussion with you in a public forum, where we can both present our ideas and let the audience judge which ones will work, each man or woman applying his own context and mindset. I have no problems with you, Curt, just keep that in mind and try to keep your gloves firmly above the belt. -- Cheers, Josh
- References:
- [tlug] [OT] Good IT Resume
- From: Pietro Zuco
- Re: [tlug] [OT] Good IT Resume
- From: Josh Glover
- Re: [tlug] [OT] Good IT Resume
- From: Curt Sampson
- Re: [tlug] [OT] Good IT Resume
- From: Karen Pauley
- Re: [tlug] [OT] Good IT Resume
- From: Josh Glover
- Re: [tlug] [OT] Good IT Resume
- From: Curt Sampson
- Re: [tlug] [OT] Good IT Resume
- From: Josh Glover
- Re: [tlug] [OT] Good IT Resume
- From: Curt Sampson
- Re: [tlug] [OT] Good IT Resume
- From: Josh Glover
- Re: [tlug] [OT] Good IT Resume
- From: Curt Sampson
Home | Main Index | Thread Index
- Prev by Date: Re: [tlug] Re: Post my article on tlug.jp?
- Next by Date: Re: [tlug] [OT] Good IT Resume
- Previous by thread: Re: [tlug] [OT] Good IT Resume
- Next by thread: Re: [tlug] [OT] Good IT Resume
- Index(es):
Home Page Mailing List Linux and Japan TLUG Members Links