ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (02/01/89)
In article <2030154@hpcilzb.HP.COM> daves@hpcilzb.HP.COM (Dave Scroggins) writes: >But what I want to know is: how could >any business person in their right mind start advertising for a product >that's so far from completion? This is really appalling to me. [ ... ] It's quite easy, actually. My experience with developing Onion has given me an insight into how developing Real Applications works. I can speak only for myself, remember. Also remember that my words do not necessarily reflect the official position of Silent Software, Inc., nor does it necessarily reflect the normal development cycle there (we've actually met quite a few deadlines). Basically it has to do with the programmer lying to his bosses. By lying, I mean providing a forecast which turns out later to be untrue. This is (usually) unintentional. The boss looks at the program, and says, "Gee, it's almost done! Just a couple more things, and it'll be finished." This is probably the worst thing a boss can say to a programmer, since it causes his productivity to go down the toilet. His (or her) mind starts to wander. He starts thinking about other projects he'd like to work on. He may actually start thinking about the data structures he'll use in his next project. The time spent thinking about his next project detracts from the current project. Also, making the program robust can eat a lot of time. Bullet- proofing also causes the program to double in size. This can cause a recursive cycle to start up, with the boss saying, "Make it smaller," with the programmer obliging, but adding the required features and making *them* bulletproof, causing the program to grow larger still, causing the boss to say, "Make it smaller," etc. Also, programmers are known to burn out. Working on the same thing for months on end, particularly when you've got zillions of ideas bouncing around in your head, can be quite frustrating. As a result, the program is late. It's not that the programmers or the publisher want it to be late, nor that they even *knew* it would be late. As the product becomes later and later, the publisher starts to lose money (paying the programmer[s]'s salary), and the programmer gets more and more irritated. No one wants product to be late. It just sort of happens. You'd think publishers would have learned this by now, but in a world of four-month magazine lead times, some hard decisions have to be made by The Powers That Be, and they hope and pray that they are right. On the other side of the coin, you almost never see an arcade game port that's late. This is because the people paying to have the game developed say, in no uncertain terms, "It will be finished on this date." All they care about is that it's finished in time for them to sell a lot of copies. Quality is almost never a consideration, since such games can usually sell on the name alone. This is why most arcade game ports suck. Sometimes, you see a crossing of the two. Because the publisher is running short of money, he'll 'shoot the programmer' and release the product early (with bugs) with the hope that the revenue generated from the product (before word gets out that it's buggy) will help cover the cost of completing the project properly. The problem with this approach is that you almost never recover from the bad reputation. So the best advice I can give when waiting for a product to be shipped is just that: Wait. Everyone at the other end is probably gnashing their teeth just as much as you are. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Leo L. Schwab -- The Guy in The Cape INET: well!ewhac@ucbvax.Berkeley.EDU \_ -_ Recumbent Bikes: UUCP: pacbell > !{well,unicom}!ewhac O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack") "Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor
ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (02/03/89)
In article <10557@well.UUCP> I write: > Basically it has to do with the programmer lying to his bosses. After some brief correspondence with Jim Mackraz, I thought it might be appropriate to clarify this statement. I never meant to imply that this is how I intentionally go about my duties, nor did I wish to imply that this is the sort of employer/employee relationship that should be expected. It was a poor choice of words on my part. I meant only to say that, despite everyone's best efforts to provide accurate forecasts, projects can become late. It is my perception that a professional programmer is fully aware of his/her level of expertise, and burnout level. Therefore, projects under the stewardship of professionals should tend to be less late than other projects. This is why, when some people refer to me as a wizard, I try to play it down. Wizards know precisely what their capabilities and limitations are. I've only been programming "professionally" (read: for money) for a relatively short period of time. I'm not yet fully aware of what my capabilities and limitations are. Sure, I've pulled off a few parlor tricks, but that turns out to be only a small part of what's needed when Actual Products are being developed. So far, I think the biggest requirement is perseverence (sp?). I'm trying to find that quality within myself. So I'm not a Wizard. But I'm working on it. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Leo L. Schwab -- The Guy in The Cape INET: well!ewhac@ucbvax.Berkeley.EDU \_ -_ Recumbent Bikes: UUCP: pacbell > !{well,unicom}!ewhac O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack") "Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor
carus@ttrdf.UUCP (Bryce W. Carus) (02/06/89)
...ya gotta like a guy who says things like that!