industrial software engineering · the cloud opportunity. 2013-04-24 7 failure. 2013-04-24 8...
TRANSCRIPT
2013-04-24
1
Industrial Software DevelopmentRolf Michelsen
Background
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
2013-04-24
3
Front End
Web search — system
Content Processing
Crawler SearchQ&R
ProcessingIndexInternet
Web search — applicationIntent
Outcome
2013-04-24
4
Web search — business model
Bing Users
AdvertisersPublishers
Technical Challenges
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
2013-04-24
6
Large scale systems
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
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
2013-04-24
11
Technical debt
DeliverySchedule
Quality
2013-04-24
12
Industrial Software DevelopmentRolf Michelsen
Quality
2013-04-24
13
What is quality?
What is quality?
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.
2013-04-24
15
Metrics
Hard metrics Soft metrics
User studies
2013-04-24
16
The future
• Task completion
• Intent detection
• Personalization
Operations
2013-04-24
17
The Environment
2013-04-24
18
2013-04-24
19
Organizational Challenges
2013-04-24
20
2013-04-24
21