Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
Langue : anglais
Edité par Crown, 2007
- Livre relié
- Occasion

Vendeur : World of Books (was SecondSale), Montgomery, IL, Etats-UnisWorld of Books (was SecondSale)
Vendeur AbeBooks depuis 20 décembre 2007
Etat: Occasion - Satisfaisant
EUR 4,76
Quantité disponible : 4 disponible(s)
Ajouter au panierItem description from seller
Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc.
N° de réf. du vendeur 00086467111
- Titre
- Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
- Auteur
- Rosenberg, Scott
- Éditeur
- Crown
- Année de publication
- 2007
- État de l'article
- Good
- Reliure
- Couverture rigide
- Langue
- anglais
- ISBN à 10 chiffres
- 1400082463
- ISBN à 13 chiffres
- 9781400082469
« Synopsis » peut appartenir à une autre édition de cet ouvrage.
Extrait
DOOMED
[JULY 2003]
Michael Toy places his palms on his cheeks, digs his chin into his wrists, squints into his PowerBook, and begins the litany.
"John is doomed. He has five hundred hours of work scheduled between now and the next release. . . . Katie's doomed. She has way more hours than there are in the universe. Brian is majorly doomed. Plus he's only half time. Andy--Andy is the only one who doesn't look doomed. There are no hundreds on his list."
They don't look doomed, these programmers sitting around a nondescript conference room table in Belmont, California, on a summer day. They listen quietly to their manager. Toy is a tall man with an impressive gut and a ponytail, but he seems to shrink into a space of dejection as he details how far behind schedule the programmers have fallen. It's July 17, 2003, and he's beginning to feel doomed himself about getting everything done in the less than two months before they are supposed to finish another working version of their project.
"Everybody who has a list with more time than there is in the universe needs to sit down with me and go over it."
These lists are the bug lists--rosters of unsolved or "open" problems or flaws. Together they provide a full accounting of everything these software developers know must be fixed in their product. The bug lists live inside a program called Bugzilla. Toy's programmers are also using Bugzilla to track all the programming tasks that must be finished in order to complete a release of the project; each one is responsible for entering his or her list into Bugzilla along with an estimate of how long each task will take to complete.
"Now let's talk about why we're behind. Does anyone have a story to tell?"
There's silence for a minute. John Anderson, a lanky programming veteran whose title is systems architect and who is, in a de facto sort of way, the project's lead coder, finally speaks up, in a soft voice. "There's a bunch of reasons. In order to build something, you have to have a blueprint. And we don't always have one. Then you hit unexpected problems. It's hard to know how long something's going to take until you know for sure you can build it."
"But you can't just throw up your hands and say, I quit." Toy usually prefers to check things off his agenda fast, running his developers' meetings with a brisk attitude of "let's get out of here as fast as we can" that's popular among programmers. But today he's persistent. He won't let the scheduling problems drop. "We need to make guesses and then figure out what went wrong with our guesses."
Jed Burgess, one of the project's younger programmers, speaks up. "There's a compounding of uncertainty: Your estimates are based on someone else's estimates."
Toy begins reviewing Anderson's bugs. "The famous flicker-free window resizing problem. What's up with that?"
Officially, this was bug number 44 in Bugzilla, originally entered on January 19, 2003, and labeled "Flicker Free window display when resizing windows." I had first heard of the flicker-free window resizing problem at a meeting in February 2003 when the Open Source Applications Foundation (OSAF), whose programmers Toy was managing, had completed the very earliest version of its project, Chandler--an internal release not for public unveiling that came even before the 0.1 edition. Ultimately, Chandler was supposed to grow up into a powerful "personal information manager" (PIM) for organizing and sharing calendars, email, to-do lists, and all the other stray information in our lives. Right now, the program remained barely embryonic.
At that February meeting, Anderson had briefly mentioned the flicker bug--when you changed the size of a window on the Chandler screen, everything flashed for a second--as a minor matter, something he wanted to investigate and resolve because, though it did not stop the program from working, it offended him aesthetically. Now, nearly six months later, he still hasn't fixed it.
Today Anderson explains that the problem is thornier than he had realized. It isn't simply a matter of fixing code that he or his colleagues have written; its roots lie in a body of software called wxWidgets that the Chandler team has adopted as one of the building blocks of their project. Anderson must either wait for the programmers who run wxWidgets to fix their own code or find a way to work around their flaw.
"So you originally estimated that this would take four hours of work," Toy says. "That seems to have been off by an order of magnitude."
"It's like a treasure hunt," Anderson, unflappable, responds. "You have to find the first thing. You have to get the first clue before you're on your way, and you don't know how long it will take."
"So you originally estimated four hours on this bug. You now have eight hours."
"Sometimes," Anderson offers philosophically, "you just wake up in the morning, an idea pops into your head, and it's done--like that."
Mitchell Kapor has been sitting quietly during the exchange. Kapor is the founder and funder of the Open Source Applications Foundation, and Chandler is his baby. Now he looks up from his black Thinkpad. "Would it be useful to identify issues that have this treasure-hunt aspect? Is there a certain class of task that has this uncertainty?"
"Within the first hour of working on the bug," Burgess volunteers, "you know which it's going to be."
So it is agreed: Bugs that have a black hole-like quality--bugs that you couldn't even begin to say for sure how long they would take to fix--would be tagged in Bugzilla with a special warning label.
Shortly after the meeting, Toy sits down at his desk, calls up the Bugzilla screen, and enters a new keyword for bug number 44, "Flicker Free window display when resizing windows": scary.
Toy's fatalistic language wasn't just a quirk of personality: Gallows humor is a part of programming culture, and he picked up his particular vocabulary during his time at Netscape. Though today Netscape is remembered as the Web browser company whose software and stock touched off the Internet boom, its developers had always viewed themselves as a legion of the doomed, cursed with impossible deadlines and destined to fail.
There was, in truth, nothing especially doomed about OSAF's programmers: Several of them had just returned from a conference where they presented their work to an enthusiastic crowd of their peers--who told them that their vision could be "crisper" but who mostly looked at the blueprint for Chandler and said, "I want it now!" Though the software industry had been slumping for three straight years, they were working for a nonprofit organization funded by $5 million from Kapor. Their project was ambitious, but their ranks included veteran programmers with estimable achievements under their belts. Andy Hertzfeld had written central chunks of the original Macintosh operating system. John Anderson had written one of the first word processors for the Macintosh and later managed the software team at Steve Jobs's Next. Lou Montulli, another Chandler programmer who was not at the meeting, had written key parts of the Netscape browser. They'd all looked doom in the eye before.
Similarly, there was nothing especially scary about bug number 44. It was a routine sort of problem that programmers had accepted responsibility for ever since computer software had migrated from a text-only, one-line-at-a-time universe to today's graphic windows-and-mouse landscape. What scared Toy was not so much the nature of Bug 44 but the impossibility of knowing how long it would take to fix. Take one such unknown, place it next to all the other similar unknowns in Chandler, multiply them by one another, and you have the development manager's nightmare: a "black hole" in the schedule, a time chasm of indeterminate and perhaps unknowable dimensions.
Two months before, the entire Chandler team of a dozen programmers had met for a week of back-to-back meetings to try to solve a set of problems that they had dubbed "snakes"--another word Toy had salvaged from Netscape's ruins. A snake wasn't simply a difficult problem; it was an "important problem that we don't have consensus on how to attack." Snake superseded a looser usage at OSAF of the word dragon to describe the same phenomenon.
Black holes, snakes, dragons--the metaphors all daubed a layer of mythopoetic heroism over the most mundane of issues: how to schedule multiple programmers so that work actually got done. You could plug numbers into Bugzilla all day long; you could hold one meeting after another about improving the process. Software time remained a snake, and it seemed invincible.
This was hardly news to anyone in the room at OSAF. The peculiar resistance of software projects to routine scheduling is both notorious and widely accepted. In the software development world, lateness was so common that a new euphemism had to be invented for it: slippage.
Certainly, every field has its sagas of delay; the snail's pace of lawsuits is legendary, and any building contractor who actually finishes a job on time is met with stares of disbelief. But there's something stranger and more baffling about the way software time bends and twists back on itself like a Mobius strip. Progress seems to move in great spasms and then halt for no reason. You think you're almost done, and then you turn around and six months have passed with no measurable progress.
This is what it feels like: A wire is loose somewhere deep inside the workings. When it's connected, work moves quickly. When it's not, work halts. Everyone on the inside tries painstakingly to figure out which wire is loose, where the outage is, while observers on the outside try to offer helpful suggestions an...
« A propos de ce titre » peut appartenir à une autre édition de cet ouvrage.
World of Books (was SecondSale)
Montgomery, IL, Etats-Unis
Vendeur AbeBooks depuis 20 décembre 2007
Frais d'expédition à l'intérieur de ce pays : Etats-Unis
| Article | 4 à 12 jours ouvrés | 3 à 6 jours ouvrés |
|---|---|---|
| Premier article | EUR 0,00 | EUR 9,44 |
Modes de paiement
Description de la boutique
Founded in 2002, World of Books is a leading online destination for buying and selling both preloved and new books, committed to making sustainable reading accessible to all. With a mission to help people read more and waste less, World of Books offers a huge range of affordable, high-quality books — giving both new and preloved titles a second life. The company also operates World of Books – Sell Your Books, an easy-to-use platform that allows customers to trade in unwanted books for cash, helping to keep books in circulation while promoting sustainability. As a Certified B Corp, World of Books is driven by a vision to become the world’s largest and most sustainable dedicated online bookstore. The company measures its success through the positive environmental impact it creates, the value it provides to customers, and its ability to operate profitably while supporting its sustainable mission …
Profil professionnel du vendeur
SBYB, Inc.
900 Knell Rd
Montgomery, IL Etats-Unis 60538
Conditions de vente
We guarantee the condition of every book as it's described on the Abebooks web sites. If you're dissatisfied with your purchase (Incorrect Book/Not as Described/Damaged) or if the order hasn't arrived, you're eligible for a refund within 30 days of the estimated delivery date. If you've changed your mind about a book that you've ordered, please use the Ask bookseller a question link to contact us and we'll respond within 2 business days.
Droit de rétractation
Si vous êtes un consommateur, vous pouvez exercer votre droit de rétractation sur le contrat conformément à ce qui suit. Le mot « consommateur » désigne toute personne physique agissant à des fins qui n'entrent pas dans le cadre de son activité commerciale, artisanale ou professionnelle.
Informations concernant le droit de rétractation
Droit statutaire de rétractation
Vous avez le droit d'exercer votre droit de rétractation sur ce contrat dans les 14 jours sans donner de raison.
Le délai de rétractation expirera au bout de 14 jours à compter du jour où vous-même, ou un tiers autre que le transporteur et désigné par vous, prendrez physiquement possession de la dernière marchandise, du dernier lot ou de la dernière pièce.
Pour exercer votre droit de rétractation, remplissez électroniquement et envoyez une déclaration claire sur notre site Web, sous « Vos achats » dans « Votre compte ». Nous vous communiquerons sans délai un accusé de réception de cette rétractation sur un support durable (par exemple, par e-mail).
Pour respecter le délai de rétractation, il vous suffit d'envoyer votre message concernant l'exercice de votre droit de rétractation avant l'expiration du délai de rétractation.
Effets de la rétractation
Si vous exercez votre droit de rétractation sur ce contrat, nous vous rembourserons tous les paiements que vous avez effectués, y compris les frais de livraison (à l'exception des frais supplémentaires résultant du choix d'un mode de livraison autre que le type de livraison standard le moins cher que nous proposons).
Nous pouvons déduire du remboursement la perte de valeur de toute marchandise livrée, si la perte est le résultat d'une manipulation inutile de votre part.
Nous effectuerons le remboursement dans les meilleurs délais, et au plus tard 14 jours après le jour où nous aurons été informés de votre décision d'exercer votre droit de rétractation sur ce contrat.
Nous effectuerons le remboursement en utilisant le même moyen de paiement que celui que vous avez utilisé pour la transaction initiale, sauf si vous en avez expressément convenu autrement ; en tout état de cause, aucuns frais ne vous seront facturés à la suite d'un tel remboursement.
Nous pouvons suspendre le remboursement jusqu'à ce que nous ayons reçu les marchandises ou que vous ayez fourni la preuve que vous avez renvoyé les marchandises, en fonction de la première éventualité.
Vous devez renvoyer les marchandises ou les remettre à World of Books (was SecondSale), Montgomery, Illinois, U.S.A., sans retard injustifié et, en tout état de cause, au plus tard 14 jours à compter du jour où vous nous avez communiqué votre décision de rétractation du présent contrat. Le délai est respecté si vous renvoyez les marchandises avant l'expiration du délai de 14 jours. Vous devrez prendre en charge les frais directs du renvoi des marchandises. Vous n'êtes responsable que de toute diminution de valeur des marchandises résultant d'une manipulation autre que celle nécessaire pour établir la nature, les caractéristiques et le fonctionnement des marchandises.
Exceptions au droit de rétractation
Le droit de rétractation ne s'applique pas à ce qui suit :
- Distribution de journaux, de revues ou de magazines, à l'exception des contrats d'abonnement ; et
- Fourniture d'un contenu numérique qui n'est pas fourni sur un support matériel (par exemple, sur un CD ou un DVD) si vous avez accepté, lors de votre commande, que nous puissions commencer à le livrer et que vous ne puissiez pas exercer votre droit de rétractation une fois la livraison commencée.
Conditions d'expédition
Shipping costs are based on books weighing 2.2 LB, or 1 KG. If your book order is heavy or oversized, we may contact you to let you know extra shipping is required.