Facts and Fallacies of Software Engineering
Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering > Facts and Fallacies of Software Engineering
Facts and Fallacies of Software Engineering

Facts and Fallacies of Software Engineering


     0     
5
4
3
2
1



International Edition


X
About the Book

The practice of building software is a “new kid on the block” technology. Though it may not seem this way for those who have been in the field for most of their careers, in the overall scheme of professions, software builders are relative “newbies.” In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about. There’s a problem with those facts–and, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading Facts and Fallacies of Software Engineering, you may experience moments of “Oh, yes, I had forgotten that,” alongside some “Is that really true?” thoughts. The author of this book doesn’t shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called “the premier curmudgeon of software practice.” These facts and fallacies are fundamental to the software building field–forget or neglect them at your peril!

Table of Contents:
Acknowledgments. Foreword. I. 55 FACTS. Introduction. @CHAPTER 1. = About Management. People. Fact 1. The most important factor in software work is the quality of the programmers. Fact 2. The best programmers are up to 28 times better than the worst programmers. Fact 3. Adding people to a late project makes it later. Fact 4. The working environment has a profound impact on productivity and quality. Tools and Techniques. Fact 5. Hype (about tools and techniques) is the plague on the house of software. Fact 6. New tools/techniques cause an initial loss of productivity/quality. Fact 7. Software developers talk a lot about tools, but seldom use them. Estimation. Fact 8. One of the two most common causes of runaway projects is poor estimation. Fact 9. Software estimation usually occurs at the wrong time. Fact 10. Software estimation is usually done by the wrong people. Fact 11. Software estimates are rarely corrected as the project proceeds. Fact 12. It is not surprising that software estimates are bad. But we live and die by them anyway! Fact 13. There is a disconnect between software management and their programmers. Fact 14. The answer to a feasibility study is almost always “yes”. Reuse. Fact 15. Reuse-in-the-small is a well-solved problem. Fact 16. Reuse-in-the-large remains a mostly unsolved problem. Fact 17. Reuse-in-the-large works best for families of related systems. Fact 18. Reusable components are three times as hard to build, and should be tried out in three settings. Fact 19. Modification of reused code is particularly error-prone. Fact 20. Design pattern reuse is one solution to the problems of code reuse. Complexity. Fact 21. For every 25 percent increase in problem complexity, there is a 100 percent increase in solution complexity. Fact 22. Eighty percent of software work is intellectual. A fair amount of it is creative. Little of it is clerical. 2. About the Life Cycle. Requirements. Fact 23. One of the two most common causes of runaway projects is unstable requirements. Fact 24. Requirements errors are the most expensive to fix during production. Fact 25. Missing requirements are the hardest requirements errors to correct. Design. Fact 26. Explicit requirements “explode” as implicit (design) requirements for a solution evolve. Fact 27. There is seldom one best design solution to a software problem. Fact 28. Design is a complex, iterative process. Initial design solutions are usually wrong, and certainly not optimal. Coding. Fact 29. Designer “primitives” (solutions they can readily code) rarely match programmer “primitives”. Fact 30. COBOL is a very bad language, but all the others (for business applications) are so much worse. Error-removal. Fact 31. Error-removal is the most time-consuming phase of the life cycle. Testing. Fact 32. Software is usually tested at best at the 55-60 percent (branch) coverage level. Fact 33. 100 percent coverage is still far from enough. Fact 34. Test tools are essential, but many are rarely used. Fact 35. Test automation rarely is. Most testing activities cannot be automated. Fact 36. Programmer-created, built-in, debug code is an important supplement to testing tools. Reviews/Inspections. Fact 37. Rigorous inspections can remove up to 90 percent of errors before the first test case is run. Fact 38. But rigorous inspections should not replace testing. Fact 39. Post-delivery reviews (some call them “retrospectives”) are important, and seldom performed. Fact 40. Reviews are both technical and sociological, and both factors must be accommodated. Maintenance. Fact 41. Maintenance typically consumes 40-80 percent of software costs. It is probably the most important life cycle phase of software. Fact 42. Enhancements represent roughly 60 percent of maintenance costs. Fact 43. Maintenance is a solution, not a problem. Fact 44. Understanding the existing product is the most difficult task of maintenance. Fact 45. Better methods lead to MORE maintenance, not less. 3. About Quality. Quality. Fact 46. Quality IS: a collection of attributes. Fact 47. Quality is NOT: user satisfaction, meeting requirements, achieving cost/schedule, or reliability. Reliability. Fact 48. There are errors that most programmers tend to make. Fact 49. Errors tend to cluster. Fact 50. There is no single best approach to software error removal. Fact 51. Residual errors will always persist. The goal should be to minimize or eliminate severe errors. Efficiency. Fact 52. Efficiency stems more from good design than good coding. Fact 53. High-order-language code can be about 90 percent as efficient as comparable assembler code. Fact 54. There are tradeoffs between size and time optimization. 4. About Research. Fact 55. Many researchers advocate rather than investigate. II. 5+5 FALLACIES 5. About Management. Fallacy 1. You can't manage what you can't measure. Fallacy 2. You can manage quality into a software product. People. Fallacy 3. Programming can and should be egoless. Tools and Techniques. Fallacy 4. Tools and techniques: one size fits all. Fallacy 5. Software needs more methodologies. Estimation. Fallacy 6. To estimate cost and schedule, first estimate lines of code. About the Life Cycle. Testing. Fallacy 7. Random test input is a good way to optimize testing. Reviews. Fallacy 8. “Given enough eyeballs, all bugs are shallow”. Maintenance. Fallacy 9. The way to predict future maintenance cost and to make product replacement decisions is to look at past cost data. 7. About Education. Fallacy 10. You teach people how to program by showing them how to write programs. Conclusions. About the Author. Index. 0321117425T09232002

About the Author :
Robert Glass is the founder of Computing Trends. He has written more than a dozen books on software engineering and on the lessons of computing failures. Robert is trusted by many as a leading authority on software engineering, especially by those who read his columns in Communications of the ACM and IEEE Software. Robert also publishes a newsletter, The Software Practitioner, and speaks frequently at software engineering events. 0321117425AB09232002


Best Sellers


Product Details
  • ISBN-13: 9780321117427
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Height: 231 mm
  • No of Pages: 216
  • Spine Width: 11 mm
  • Width: 189 mm
  • ISBN-10: 0321117425
  • Publisher Date: 18 Nov 2002
  • Binding: Paperback
  • Language: English
  • Returnable: Y
  • Weight: 364 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Facts and Fallacies of Software Engineering
Pearson Education (US) -
Facts and Fallacies of Software Engineering
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Facts and Fallacies of Software Engineering

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!