Author: Adam Barr
Publisher: MIT Press
ISBN: 0262348217
Category : Computers
Languages : en
Pages : 317
Book Description
An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know. Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation. For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience. Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."
The Problem with Software
Author: Adam Barr
Publisher: MIT Press
ISBN: 0262348217
Category : Computers
Languages : en
Pages : 317
Book Description
An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know. Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation. For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience. Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."
Publisher: MIT Press
ISBN: 0262348217
Category : Computers
Languages : en
Pages : 317
Book Description
An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know. Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation. For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience. Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."
Bad Software
Author: Cem Kaner
Publisher: Wiley
ISBN: 9780471318262
Category : Computers
Languages : en
Pages : 0
Book Description
Avoid technological lemons and be your own consumer advocate. Most software products are released with known defects. Misleading advertising is rampant in the industry, and few software publishers provide real warranties for their products. And as we all know, most software companies provide woefully inadequate technical support. Quite simply, consumers usually get the short end of the stick in the software industry. Not for long, if the authors of Bad Software can help it. This book pulls no punches in explaining why things are so bad, and how consumers can best stand up for themselves. The authors provide guidance on how to troubleshoot faulty software and when to call for help; exactly what to demand of software companies when defective products cost you time and money; how to ensure a replacement or refund; how best to deal with intransigent companies and their personnel; and much more. Written by industry insiders with software management, technical support management, and legal experience, this book will show you how to fight for your rights and get valuable results. Companion Web site features legislative and regulatory news and commentary, court cases, and contact information for protection agencies.
Publisher: Wiley
ISBN: 9780471318262
Category : Computers
Languages : en
Pages : 0
Book Description
Avoid technological lemons and be your own consumer advocate. Most software products are released with known defects. Misleading advertising is rampant in the industry, and few software publishers provide real warranties for their products. And as we all know, most software companies provide woefully inadequate technical support. Quite simply, consumers usually get the short end of the stick in the software industry. Not for long, if the authors of Bad Software can help it. This book pulls no punches in explaining why things are so bad, and how consumers can best stand up for themselves. The authors provide guidance on how to troubleshoot faulty software and when to call for help; exactly what to demand of software companies when defective products cost you time and money; how to ensure a replacement or refund; how best to deal with intransigent companies and their personnel; and much more. Written by industry insiders with software management, technical support management, and legal experience, this book will show you how to fight for your rights and get valuable results. Companion Web site features legislative and regulatory news and commentary, court cases, and contact information for protection agencies.
Good Code, Bad Code
Author: Tom Long
Publisher: Simon and Schuster
ISBN: 161729893X
Category : Computers
Languages : en
Pages : 374
Book Description
"For coders early in their careers who are familiar with an object-oriented language, such as Java or C#"--Back cover.
Publisher: Simon and Schuster
ISBN: 161729893X
Category : Computers
Languages : en
Pages : 374
Book Description
"For coders early in their careers who are familiar with an object-oriented language, such as Java or C#"--Back cover.
A Philosophy of Software Design
Author: John K. Ousterhout
Publisher:
ISBN: 9781732102217
Category : Computer programs
Languages : en
Pages : 0
Book Description
"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.
Publisher:
ISBN: 9781732102217
Category : Computer programs
Languages : en
Pages : 0
Book Description
"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.
Fixing Broken Windows
Author: George L. Kelling
Publisher: Simon and Schuster
ISBN: 0684837382
Category : Political Science
Languages : en
Pages : 340
Book Description
Cites successful examples of community-based policing.
Publisher: Simon and Schuster
ISBN: 0684837382
Category : Political Science
Languages : en
Pages : 340
Book Description
Cites successful examples of community-based policing.
InfoWorld
Author:
Publisher:
ISBN:
Category :
Languages : en
Pages : 88
Book Description
InfoWorld is targeted to Senior IT professionals. Content is segmented into Channels and Topic Centers. InfoWorld also celebrates people, companies, and projects.
Publisher:
ISBN:
Category :
Languages : en
Pages : 88
Book Description
InfoWorld is targeted to Senior IT professionals. Content is segmented into Channels and Topic Centers. InfoWorld also celebrates people, companies, and projects.
The Software Architect Elevator
Author: Gregor Hohpe
Publisher: "O'Reilly Media, Inc."
ISBN: 1492077496
Category : Computers
Languages : en
Pages : 282
Book Description
As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company’s structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined. In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise. This book is ideal for: Software architects and senior developers looking to shape the company’s technology direction or assist in an organizational transformation Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works IT managers who want to learn what’s worked and what hasn’t in large-scale transformation
Publisher: "O'Reilly Media, Inc."
ISBN: 1492077496
Category : Computers
Languages : en
Pages : 282
Book Description
As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company’s structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined. In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise. This book is ideal for: Software architects and senior developers looking to shape the company’s technology direction or assist in an organizational transformation Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works IT managers who want to learn what’s worked and what hasn’t in large-scale transformation
CIO
Software Development Patterns and Antipatterns
Author: Capers Jones
Publisher: CRC Press
ISBN: 1000414744
Category : Computers
Languages : en
Pages : 475
Book Description
Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning: Incomplete and ambiguous user requirements that grow by >2% per month. Major cost and schedule overruns for large applications > 35% higher than planned. Low defect removal efficiency (DRE) Cancelled projects that are not completed: > 30% above 10,000 function points. Poor quality and low reliability after the software is delivered: > 5 bugs per FP. Breach of contract litigation against software outsource vendors. Expensive maintenance and enhancement costs after delivery. These are endemic problems for software executives, software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns, software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development. The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies, breach of contract lawsuits, and the literature on major software failures. This section considers the factors involved with cost overruns, schedule delays, canceled projects, poor quality, and expensive maintenance after deployment. The second section shows patterns that lead to software success. The data comes from actual companies. The section’s first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by repeated software failures. The other chapters in this section deal with methods of achieving excellence, as well as measures that can prove excellence to C-level executives, and with continuing excellence through the maintenance cycle as well as for software development.
Publisher: CRC Press
ISBN: 1000414744
Category : Computers
Languages : en
Pages : 475
Book Description
Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning: Incomplete and ambiguous user requirements that grow by >2% per month. Major cost and schedule overruns for large applications > 35% higher than planned. Low defect removal efficiency (DRE) Cancelled projects that are not completed: > 30% above 10,000 function points. Poor quality and low reliability after the software is delivered: > 5 bugs per FP. Breach of contract litigation against software outsource vendors. Expensive maintenance and enhancement costs after delivery. These are endemic problems for software executives, software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns, software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development. The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies, breach of contract lawsuits, and the literature on major software failures. This section considers the factors involved with cost overruns, schedule delays, canceled projects, poor quality, and expensive maintenance after deployment. The second section shows patterns that lead to software success. The data comes from actual companies. The section’s first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by repeated software failures. The other chapters in this section deal with methods of achieving excellence, as well as measures that can prove excellence to C-level executives, and with continuing excellence through the maintenance cycle as well as for software development.
Software Engineering at Google
Author: Titus Winters
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions