+ All Categories
Home > Documents > CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE...

CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE...

Date post: 11-Aug-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
44
CS 5500 – FOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for allowing incorporation of his materials https://course.ccs.neu.edu/cs5500
Transcript
Page 1: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

CS 5500 – FOUNDATIONS OF SOFTWARE

ENGINEERING

INTRODUCTION

M. Weintraub

& F. Tip

Thanks go to Andreas Zeller for allowing incorporation of his

materials

https://course.ccs.neu.edu/cs5500

Page 2: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING

The application of systematic, disciplined, quantifiable approaches to the development, operation, and maintenance of software.

IEEE Standard Glossary of Software Engineering Terminology, IEEE Standard 610.12-1990, 1990.

Page 3: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE CAUTIONARY TALES

3

Page 4: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE DISASTERS: DENVER INTERNATIONAL AIRPORT

4

Ambitious new automated system for baggage handling

Page 5: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE DISASTERS: DENVER AIRPORT

5

Ambitious new automated system for baggage handling

One of the more notorious examples of project failure

Resulted in the newly complete airport sitting idle for 16 months while engineers worked on getting the system to work

Added approximately $560M to cost of the airport

Feature article in Scientific American titled the “Software’s Chronic Crisis”

http://calleam.com/WTPF/?page_id=2086http://users.csc.calpoly.edu/~jdalbey/SWE/Papers/SciAmGibbs/SciAmGibbs.html

Page 6: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

AN ADVANCED IDEA:DENVER INTERNATIONAL AIRPORT

6

Page 7: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

DENVER INTERNATIONAL AIRPORT

7

▪ Approved for construction in 1989

▪ First major airport to be built in the United States in over 20 years.

▪ Biggest US Airport

▪ Built on 54.05 square miles of land (Twice the size of Manhattan!)

▪ At the time 6th busiest US Airport and 10th busiest world-wise

▪ Three terminals + five runways

Page 8: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

BAE (BOEING AIRCRAFT EQUIPMENT) CONTRACT

8

Original assumption:

▪ Every company builds its own baggage transport system

▪ United (70% Denver traffic) was the only to begin planning and contracted with BAE

The Idea: First Fully Automated Baggage System

▪ United insisted on fully automated (like it had at SFO)

▪ Replace legacy tug-driven baggage handling

▪ Expected benefits: reduced air pollution, fewer traffic issues within airport tunnel system, and lower labor expense

Later, Denver airport extended contract to entire airport – three times original size

Page 9: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SCOPE

9

▪ 20 miles of track

▪ 6 miles of conveyor belts

▪ 56 laser arrays that read bar coded tags

▪ 400 frequency readers

▪ 3,100 standard size baggage ‘Telecars’

▪ 450 6.5 ft by 4 ft oversize cars

▪ 55 separate computers

Page 10: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

THE SYSTEM

10

Page 11: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

THE SYSTEM

Unloading a Telecar to a Belt Loading a Telecar

11

Page 12: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

RISK #1: THE TIMEFRAME

12

BAE started work 17 months before scheduled opening October 31, 2003

Page 13: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

RISK #1: THE TIMEFRAME

13

BAE started work 17 months before scheduled opening October 31, 2003

In Munich, engineers working a similar system spent two years just testing the system

Ran the system test 24x7 for six months before the airport opened

Page 14: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

OTHER RISKS

14

Accommodating Legacy

Most of buildings holding the system were already done (without consideration for this new system), so BAE had to accommodate them as they were (sharp turns, narrow corridors…)

Learning Curve

BAE paid little attention to the German sister project and devised system from scratch

Symptom of NIH Syndrome (Not Invented Here)

Since there’s be no major airport projects in almost a generation, there’s no experience base to draw upon.

Complexity

There are many (moving) pieces to this system.

The Unknown

This was a first of its kind system

Page 15: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

THE FINAL BLUNDER (GREAT PR IDEA???)

15

The decision to broadcast the preliminary test of the “revolutionary” new baggage system on national television

Page 16: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

DISASTER

▪ Carts jammed together

▪ Damaged luggage everywhere, some bags literally split in half

▪ Tattered remains of clothing strewn about caused subsequent carts to derail

▪ Carts got stuck in narrow corridors

▪ Wind blew light baggage from carts

Cart Issues

▪ 5% of the labels were read correctly

▪ Half the luggage that survived the ordeal ended up at the wrong terminal

▪ Normal network load was 95%

System Issues

16

Page 17: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

CONSEQUENCES

Airport opening delayed four times – overall, sixteen months late

New engineering firm

split system in three (one per terminal)

implemented manual backup system

BAE went bankrupt

Overall damage: $1.3B

System scuttled 2005

17

NBC News, 2010

Page 18: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

WHAT WENT WRONG?

18

EverythingYou can read more at: http://calleam.com/WTPF/wp-content/uploads/articles/DIABaggage.pdf

Page 19: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

A SAMPLING OF ISSUES FROM 2018

19

Page 20: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

EXAMPLES CONTINUED

Page 21: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

EXAMPLES CONTINUED

Page 22: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

TRICENTIS 2018 SOFTWARE FAILURE WATCH (REPORT)

https://www.tricentis.com/wp-content/uploads/2019/01/Software-Fails-Watch-5th-edition.pdf

Estimated losses from software failures (USD)

1,715,430,778,504

Amount of world’s population software failures

affected (at least)

50%

Even if these magnitudes are off by half, the impacts are huge.

Page 23: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

LOOKING AT DEVELOPMENT PROJECTS –STANDISH GROUP’S CHAOS STUDY (2015)

Success defined as On Time, On Budget, and On Target.

… means the project was resolved within a reasonable estimated time, stayed within budget, and contained a good number of the estimated features and functions

Source: https://www.standishgroup.com/sample_research_files/CHAOSReport2015-Final.pdf

Page 24: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

RESULTS WHEN INCLUDING USER SATISFACTION IN THE METRIC

Success defined as On Time, On Budget, with a satisfactory result.

…. means the project was resolved within a reasonable estimated time, stayed within budget, and delivered customer and user satisfaction regardless of the original scope.

Source: https://www.standishgroup.com/sample_research_files/CHAOSReport2015-Final.pdf

Page 25: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOME FRIGHTENING PREDICTIONS

25

In the coming years organizations are expected to spend more than $1 trillion annually on IT hardware, software, and services worldwide. (IDC)

Based on the Standish Chaos numbers, of these projects, between 5 and 15% will likely be considered complete failures.

Many others will arrive very late and require substantial rework to be useful.

That’s a lot of waste.

Page 26: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

#1 REASON WHY PROJECTS FAIL (GLASS’ LAW)

26

Requirement deficienciesare the prime source

of project failures.

Page 27: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

OTHER REASONS PROJECTS FAIL

1. Unrealistic project goals

2. Unmanaged risks

3. Poor project planning and estimating

4. Inaccurate estimates of needed resources

5. Poor communication among project constituents

6. Lack of user participation

Project Management Issues

1. Use too many new technologies

2. Wrong or inefficient set of development tools

3. Poor testing methodology

4. Inadequate test coverage

Technical Team Issues

27

5. Incompetent team members

6. Poor software process

Page 28: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

Business

#1 SUCCESS FACTOR: INVOLVING THE RIGHT GROUPS AND GOOD COMMUNICATIONS CHANNELS

28

Competitors

Finance

Lawyers

Executives

Users

Tech TeamsClient/Owners

Bosses

Product/Marketing

Other Sponsors

Operations

Page 29: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

EACH CONSTITUENT MAY HAVE A DIFFERENT PERSPECTIVE

29

Page 30: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SUCCESS FACTORS

1. Executive Support

2. User Participation

3. Experienced Project Management

4. Clear Business Objectives and Success Criteria

5. Adequate Prioritization of Requirements

Business Oriented

1. Standardized Infrastructure

2. Formalized Methodology

3. Reliable and Realistic Estimates

4. Competent Workers

5. Small, well-defined projects with incremental deliverables

Technology Team Oriented

30

Page 31: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

FIRST QUESTION ON THE TEST

31

Writing good code is a necessary condition,

but it’s not enough to guarantee success

Page 32: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

WHAT MIGHT SUCCESS MEAN?

32

1. Functionality: The system must do what it needs to do.

2. Usability: The users of the system must be able to use it effectively and efficiently.

3. Maintainability: Changes or repairs must be able to be made directly and implemented without untoward impacts

4. Efficiency: The system must make effective use of resources

5. Dependability/ Reliability/Resiliency: The system should be available and remain working for a given period of time. When faced with failures or bad data, performance should not be impacted, or at least degrade gracefully.

An ideal solution maximizes these five dimensions.

Page 33: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

DEFINING A SUCCESSFUL SOLUTION – THE MANAGEMENT VIEW

1. Actually work

2. Data needed for billing can be accurately and quickly collected

3. Adapts to changes in market conditions

4. Satisfies any regulators

5. Users see the system as a net plus rather than a net negative

6. Whoever runs the system can do so

7. Is (easily) extensible or repairable

8. Is defined, constructed, and deployed in a reasonable timeframe within an acceptable budget

9. Runs cost-effectively

10. Puts us ahead, even, or closer to the competition.

33

Page 34: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING PRINCIPLES

1. Make Quality Job #1

Obviously delivering a quality product to customers is important.

But, quality has different meanings to different people.

Quality measures must be specified up-front to

insure the team is pursuing the right targets.

34

Page 35: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING PRINCIPLES

1. Make Quality Job #1

2. High Quality Software is Possible

35

It is hard to produce high-quality software.

Modern software engineering techniques are shown to meet reasonable quality goals.

Page 36: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING PRINCIPLES

1. Make Quality Job #1

2. High Quality Sotware is Possible

3. Give Products to Customers Early

36

Many projects fail because customers don’t get to see anything until it’s too late to do much about it.

Given it’s nearly impossible to specify a project completely up-front, involving customers early on provides critical feedback.

Early engagement often tests whether

the perceived needs are the actual needs.

This principle applies to other project constituents.

Page 37: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING PRINCIPLES

1. Make Quality Job #1

2. High Quality Sotware is Possible

3. Give Products to Customers Early

4. Use an Appropriate Software Process

37

There are many ways to run a project.

The key factors are the availability and understanding level of the requirements and the number of releases.

Page 38: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING PRINCIPLES

1. Make Quality Job #1

2. High Quality Sotware is Possible

3. Give Products to Customers Early

4. Use an Appropriate Software Process

5. Minimize Intellectual Distance

38

There should be a natural mapping from the real-world problem and the software solution.

The closer the two are, the easier it is to develop and maintain the solution.

Page 39: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING PRINCIPLES

1. Make Quality Job #1

2. High Quality Sotware is Possible

3. Give Products to Customers Early

4. Use an Appropriate Software Process

5. Minimize Intellectual Distance

6. Inspect Code

39

Everything – tech specs, test plans,

documents, and code – should be

reviewed early and often.

Early inspection is essential to finding

problems as early as possible, which

improves solution quality and decreases project cost.

Page 40: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

SOFTWARE ENGINEERING PRINCIPLES

1. Make Quality Job #1

2. High Quality Sotware is Possible

3. Give Products to Customers Early

4. Use an Appropriate Software Process

5. Minimize Intellectual Distance

6. Inspect Code

7. People are the Key to Success

40

Highly skilled and motivated people make a difference for achieving success.

Good people can overcome many challenges (poor tools, process problems, and other surprises).

Page 41: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

END

Page 42: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

A SAMPLING OF ISSUES FROM 2018

42

▪ PSA Airlines, a wholly owned subsidiary of American Airlines, experienced a problem with its crew scheduling and tracking system that led to nearly 3,000 flights being cancelled over seven days in June, and cost the airline an estimated US $35 million.

▪ An air traffic control computer failure at the Eurocontrol centre in Brussels delayed an estimated 14,000 European flights in April, while over New Year’s —and for a second year in a row—the U.S. Customs and Border Protectioncomputer systems experienced an outage, leaving thousands of international passengers across the country in long queues waiting to clear customs.

▪ A coding error with the spot-welding robots at Subaru’s Indiana Automotive plant in Lafayette, Ind., meant 293 of its new Subaru Ascents had to be sent to the car crusher.

▪ Australia’s telco Telstra suffered a software problem in May that took down its 3G and 4G services nationwide for millions of its customers.

▪ Telco supplier Ericsson’s expired software certificate took down networks in 11 countries in December for nearly a day, causing major headaches for 30 million Softbank mobile customers in Japan and 25 million U.K. O2 mobile customers.

Taken from https://spectrum.ieee.org/riskfactor/computing/it/it-failures-2018-all-the-old-familiar-faces

Page 43: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

EXAMPLES CONTINUED

▪ Google decided in October to close its Google Plus social network because of a security flaw.

▪ Facebook acknowledged in April that 87 million users had their personal data improperly accessed by now-defunct data mining company Cambridge Analytica, and later admitted in September to a “security issue” that exposed 50 million accounts to cybercriminals. In December, Facebook announced that a “bug” allowed possible unauthorized access to 6.8 million users’ photos.

▪ A December report [PDF] released by the U.S. House Oversight and Government Reform Committee into Equifax’s massive 2017 data breach stated that the breach was “entirely preventable” if the company had followed basic IT security practices. However, the report said, Equifax didn’t follow those procedures because the company had little understanding of its own IT systems or the security threat to them.

Taken from https://spectrum.ieee.org/riskfactor/computing/it/it-failures-2018-all-the-old-familiar-faces

Page 44: CS 5500 K FOUNDATIONS OF SOFTWARE ENGINEERING · 2019. 11. 20. · CS 5500 KFOUNDATIONS OF SOFTWARE ENGINEERING INTRODUCTION M. Weintraub & F. Tip Thanks go to Andreas Zeller for

EXAMPLES CONTINUED

▪ Canada’s federal Phoenix payroll system that was disastrously introduced in February 2016 continues to be an “incomprehensible failure” with no replacement in sight.

▪ Minnesota’s multi-year effort to deliver a fully functional vehicle and driver services system continues to have annoying problems

▪ Florida’s effort to upgrade a major roadway vehicle tolling system in June is still trying to correct numerous billing problems six months later.

▪ The U.S. Department of Veterans Affairs so thoroughly mangled the planned year-long computer implementation of the new 2017 veteran education benefits law that the VA admits it will have to start over and take yet another year to implement the law.

▪ The U.S. Internal Revenue Service suffered a major April tax day outage

▪ … Australia’s taxation commissioner told businesses to quit whining about the agency’s multiple tax system outages since they were “a fact of modern life.”

The commissioner also told businesses to expect more outages in the future.

Taken from https://spectrum.ieee.org/riskfactor/computing/it/it-failures-2018-all-the-old-familiar-faces


Recommended