industrial software engineering · the cloud opportunity. 2013-04-24 7 failure. 2013-04-24 8...

22
2013-04-24 1 Industrial Software Development Rolf Michelsen Background

Upload: others

Post on 03-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

1

Industrial Software DevelopmentRolf Michelsen

Background

Page 2: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

2

Creating a platform product costs an order of magnitude more than creating a program.

— Frederick P. Brooks, jr.

Industrial software engineering

Large Scale Web Search

Page 3: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

3

Front End

Web search — system

Content Processing

Crawler SearchQ&R

ProcessingIndexInternet

Web search — applicationIntent

Outcome

Page 4: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

4

Web search — business model

Bing Users

AdvertisersPublishers

Technical Challenges

Page 5: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

5

Engineering complex systems

«Anyone can build a fast CPU. The trick is to build a fast system.»

— Seymour Cray (1926-1996)

Scalable architecture

Dis

pat

chSe

arch

Page 6: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

6

Large scale systems

The cloud opportunity

Page 7: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

7

Failure

Page 8: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

8

Engineering for failure

Repair & recovery

Fault tolerance

Fault detection

Bug or failure

Page 9: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

9

Synchronization

The CAP Theorem

Consistency

AvailabilityPerformance

Page 10: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

10

Premature generalization

Premature optimization

• InternalAndWithABAB

• InternalAndWithABAB

• InternalAndWithANAB

• InternalAndWithABAN

• InternalAndWithABAN

• InternalAndWithANAN

• InternalAndWithZBAN

• InternalAndWithABCN

• InternalAndWithABCN

• InternalAndWithANCN

• InternalAndWithABAN

• InternalAndWithABAN

• InternalAndWithANAN

• InternalAndWithABCB

• InternalAndWithABCB

• InternalAndWithANCB

• InternalAndWithABAB

• InternalAndWithABAB

• InternalAndWithANAB

• InternalAndWithABAN

• InternalAndWithABAN

• InternalAndWithANAN

• InternalAndWithABAN

• InternalAndWithABAN

• InternalAndWithANAN

Page 11: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

11

Technical debt

DeliverySchedule

Quality

Page 12: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

12

Industrial Software DevelopmentRolf Michelsen

Quality

Page 13: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

13

What is quality?

What is quality?

Page 14: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

14

Measuring quality

«When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the stage of science, whatever the matter may be.»

— Lord Kelvin (1824 – 1907)

Performance measurements

• Statistical models.

• Lab setup.

• Load generation tools and data.

• Measurement tools and reporting.

• Diagnostics to identify bottlenecks.

• System skills.

Page 15: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

15

Metrics

Hard metrics Soft metrics

User studies

Page 16: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

16

The future

• Task completion

• Intent detection

• Personalization

Operations

Page 17: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

17

The Environment

Page 18: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

18

Page 19: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

19

Organizational Challenges

Page 20: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

20

Page 21: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

21

Page 22: Industrial Software Engineering · The cloud opportunity. 2013-04-24 7 Failure. 2013-04-24 8 Engineering for failure Repair & recovery Fault tolerance Fault detection Bug or failure

2013-04-24

22

Rolf [email protected]