Enterprise Computing Flashcards

1
Q

Lecture 1 - Introduction

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define the waterfall Model

A

This waterfall model cascades the three fundamental activities
of the software development process, so that they happen
sequentially.
It is performed as Exploration -> Development -> Operation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why can the waterfall model be considered inoptimal

A

Specifications can often change and sometimes it can be too late to change a wrong interpretation of the problem deep into the development phase. Modifying requirements causes lots of issues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define the Iterative/incremental Model

A

The iterative/incremental model is:
∙ iterative because the feed-forward between activities is augmented with feed-back between them - e.g. a feed forward/backward waterfall;

∙ incremental because the interleaved activities regularly deliver small additional pieces of functionality

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What advantage does iterative/incremental development have over waterfall?

A

Iterative allows the going back and changing previous phases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Lecture 2 - lean Cycle evolution

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the purpose of the Lean Cycle in software production?

A

The Lean Cycle is used to apply the scientific method to software production. It emphasizes continuous feedback and learning through iterative cycles of Build-Measure-Learn or Learn-Measure-Build to adapt and improve products efficiently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the three main phases of the Lean Cycle?

A

The three main phases are:

Exploration: Identifying and testing hypotheses about the market.

Development: Building products or features based on validated hypotheses.

Operation: Delivering the product to customers and refining based on feedback.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What happens in the “Learn” phase of the Build-Measure-Learn cycle

A

In the Learn phase, an enterprise formulates hypotheses about the market and determines the empirical data required to validate these hypotheses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the focus of the “Measure” phase in the Build-Measure-Learn cycle?

A

The Measure phase involves testing the hypothesis by collecting empirical data, often through experiments or feedback from prototypes or early versions of the product.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe the “Build” phase of the Build-Measure-Learn cycle.

A

In the Build phase, an enterprise creates a Minimum Viable Product (MVP) to test hypotheses. This MVP allows for quick iteration and feedback collection.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is an issue with the Build-Measure-Learn cycle

A

Building first can often incur significant costs, building without research is risky

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a better alternative to the Build measure learn cycle

A

Reversing the cycle can help to improve it, learning first about demand etc, measuring the market and then building the project

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a “pivot” in the context of the Lean Cycle?

A

A pivot is a significant change in strategy without changing the vision. It occurs when empirical data suggests that the current approach isn’t working, leading to adjustments like technology changes or shifts in product focus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the five types of pivots mentioned in the Lean Cycle?

A

Technology Pivot: Switching to a more efficient technology.

Zoom-In Pivot: Turning a product feature into the main product.

Zoom-Out Pivot: Making a product part of a larger product suite.

Customer Segment Pivot: Targeting a different customer group.

Customer Need Pivot: Addressing a different but more critical problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Provide an example of a technology pivot.

A

Microsoft shifted from selling standalone Office software to a subscription-based cloud service with Microsoft 365, improving value delivery.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Explain a Zoom-In Pivot with an example.

A

A Zoom-In Pivot occurs when a product feature becomes the main product. Example: Flickr started as a multiplayer game but pivoted to focus on its photo-sharing feature, which gained popularity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is a Zoom-Out Pivot? Provide an example

A

A Zoom-Out Pivot happens when a product becomes part of a larger offering. Example: DotCloud transitioned to manage Docker containers, focusing on application mobility across clouds.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is a Customer Segment Pivot?

A

It occurs when a product addresses a different customer group than initially intended. Example: YouTube started as a dating platform but shifted to a general video-sharing platform.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Define a Customer Need Pivot with an example.

A

This pivot addresses a more critical customer problem. Example: Twitter evolved from a podcasting platform to a microblogging SMS-based social network after its initial model was rendered obsolete.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What was the pivot that led to the success of Instagram?

A

Instagram started as a location-based app with multiple features. It pivoted to focus solely on photo sharing, simplifying user experience and achieving massive success.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How did Netflix pivot to achieve its current model?

A

Netflix transitioned from a mail-order DVD rental service to a streaming platform, allowing instant access to films and TV shows, disrupting traditional rental models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are the four types of MVPs mentioned?

A

Concierge MVP: Personalized service with customer awareness.

Wizard of Oz MVP: Simulated functionality without customer awareness.

Landing Page MVP: Testing interest via a promotional webpage.

Video MVP: Demonstrating a concept through a video.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Describe a Concierge MVP and its use case.

A

A Concierge MVP involves hands-on interaction with customers to refine the product concept. It’s used when the solution hypothesis is unclear and customer feedback is critical.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What distinguishes a Wizard of Oz MVP?

A

In a Wizard of Oz MVP, the product’s functionality is manually simulated without the customer’s knowledge. It’s used to validate a clear solution hypothesis while minimizing development effort.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

How does a Landing Page MVP test product ideas?

A

A Landing Page MVP uses a webpage to gauge interest in a product idea. Visitors can sign up or pledge support, providing data on demand before product development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What was the MVP for Dropbox?

A

Dropbox used a Video MVP, creating a simple video to demonstrate its functionality. This validated interest and attracted early adopters without building a full product.

28
Q

How did Airbnb use an MVP approach?

A

Airbnb’s MVP was a basic website showcasing their apartment space. They manually managed bookings, testing the concept of renting personal spaces to travelers.

29
Q

Why is iterative learning essential in the Lean Cycle?

A

Iterative learning allows for continuous improvement by validating assumptions, minimizing waste, and adapting to market needs efficiently, ensuring the product aligns with customer demands.

30
Q

Lecture 3

A
31
Q

According to Eric Ries, what type of experiment is a startup?

A

A startup is a human experiment designed to create a new product or service under conditions of extreme uncertainty. The goal is to test hypotheses about customer needs and product-market fit.

32
Q

According to Eric Ries, what is the biggest waste that product development faces today?

A

The biggest waste in product development is building products that nobody wants. This waste occurs due to a lack of understanding of customer needs before development begins.

33
Q

What does Eric Ries describe as the universal constant of all successful startups?

A

Continuous learning is the universal constant of all successful startups. Startups must iteratively test and refine their ideas based on customer feedback and market demands. Performing a pivot while staying grounded in what learning has occurred already

34
Q

Is agile development suitable for startups, according to Eric Ries?

A

Agile development is suitable for startups as it emphasizes iterative progress, flexibility, and adapting to changes, which aligns with the startup’s need to rapidly respond to feedback and refine their product.

35
Q

What is a situation in which agile development is not suitable?

A

Agile is not so suitable for safety critical systems, the product must be released in such as state where there are no errors. Releasing with errors can cause serious problems

36
Q

What is validated learning in the context of a startup?

A

Validated learning is the process of demonstrating empirically that a team has discovered valuable truths about a startup’s present and future business prospects. It uses metrics derived from customer behavior rather than opinions or assumptions.

37
Q

What does Eric Ries suggest should be included in the first version of a product?

A

The first version of a product, or Minimum Viable Product (MVP), should include only the core functionalities required to test key assumptions about customer needs and product viability. The MVP is designed to gather feedback with minimal resources.

38
Q
A
38
Q

According to Reis what is the most important thing for startups in terms of the cycle time

A

Reducing the cycle time is the most important thing

39
Q

According to Eric Ries, what should the heuristic be for any kind of startup advice?

A

The heuristic for startup advice is that it should be actionable, testable, and tied to specific customer or market contexts. Generic advice should be avoided in favor of insights that can drive specific experiments.

40
Q

What are actionable metrics, and why are they important for startups?

A

Actionable metrics are specific, clear, and tied to decision-making. They enable startups to evaluate the effectiveness of their strategies and experiments. Unlike vanity metrics, actionable metrics directly inform whether the business is on the right path.

41
Q

How does Lean Startup methodology reduce waste in development?

A

By focusing on building MVPs, testing hypotheses, and using validated learning, the Lean Startup methodology ensures resources are allocated to features and products that meet actual customer needs, reducing waste.

42
Q

Why is customer feedback crucial in Lean methodology?

A

Customer feedback is crucial because it provides real-world insights into user needs, helping startups pivot or persevere based on evidence rather than assumptions.

43
Q

What role does experimentation play in Lean Cycle Evolution?

A

Experimentation allows startups to test hypotheses about products, customers, and markets under real-world conditions, enabling informed decision-making and minimizing risks associated with uncertainty.

44
Q

Lecture 4 - Monoliths

A
45
Q

What is a monolithic system?

A

A monolithic system is a single program run by a single process, formed from a collection of modules that communicate via procedure calls.

46
Q

Why is it easy to develop a monolithic system initially?

A

It is easy because all the code is in one language and one place, allowing the development team to utilize their existing programming skills, tools, and experience effectively.

47
Q

What makes testing a monolithic system straightforward?

A

Testing is straightforward because the system is built as a single executable, enabling automatic testing with a suite of tests and easy debugging when issues arise.

48
Q

How is scaling achieved in a monolithic system?

A

Scaling in a monolithic system is done through vertical scaling, which involves upgrading to a more powerful machine to run the system better.

49
Q

What are the benefits of using a centralized database in a monolithic system?

A

Centralized databases ensure data accuracy, completeness, and consistency, which simplifies maintenance and management.

50
Q

What are the two possible outcomes of a database transaction?

A

A transaction can either:

Commit, completing successfully and moving the database to a new consistent state.

Abort, completing unsuccessfully and restoring the database to its previous consistent state.

51
Q

What does the acronym ACID stand for in the context of database transactions?

A

ACID stands for:

Atomicity

Consistency

Isolation

Durability

52
Q

What is the atomicity property of a transaction?

A

Atomicity ensures that transactions either fully succeed or fully fail, even in the presence of system failures.

53
Q

What is the consistency property of a transaction?

A

Consistency ensures that a transaction takes the database from one consistent state to another.

54
Q

What does the isolation property guarantee in database transactions?

A

Isolation ensures that the effects of concurrent transactions are the same as if the transactions were performed sequentially.

55
Q

What does the durability property guarantee in database transactions?

A

Durability guarantees that once a transaction is successful, its effects persist, even in the event of system failures.

56
Q

How does Fred Brooks’ observation to “plan to throw one away” apply to monolithic MVP development?

A

This observation suggests that teams should anticipate that their first version of a monolithic MVP might need to be discarded and rebuilt to incorporate lessons learned during its development.

57
Q

What is Gall’s Law, and how does it relate to monolithic MVPs?

A

Gall’s Law states that a complex system that works evolves from a simple system that worked. For monolithic MVPs, it implies starting with a simpler design that can be refined over time.

58
Q

What does the “You Aren’t Gonna Need It” (YAGNI) principle advocate in Extreme Programming?

A

YAGNI advises against implementing features until they are actually needed, emphasizing simplicity in monolithic MVPs to avoid unnecessary complexity.

59
Q

What is Conway’s Law and how does it apply to monolithic MVP development?

A

Conway’s Law states that a system’s design mirrors the structure of the organization that created it. For monolithic MVPs, this means the design will reflect the communication structure of the team.

60
Q

Why might it be better to reverse Conways Law?

A

Structuring the organization so that there are departments for each module can make the process more congruent

61
Q

What does the phrase “eating your own dogfood” mean in the context of monolithic MVPs?

A

“Eating your own dogfood” means that development teams should use their own product to identify and address issues, ensuring its quality and usability.

62
Q

What are some advantages of monolithic systems?

A

Advantages include simplicity in development and testing, centralized data management, and easier debugging due to having all code in one place.

63
Q

What are the primary limitations of monolithic systems?

A

Limitations include difficulty scaling horizontally, potential for large and complex codebases, and challenges in adapting to changes or integrating new technologies.

64
Q

What is vertical scaling, and why is it a common approach in monolithic systems?

A

Vertical scaling involves upgrading the hardware of a single machine to improve performance. It’s common in monolithic systems because they run as a single process that benefits from more powerful hardware.

65
Q
A