sssssss

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/36

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

37 Terms

1
New cards

What is the difference between coding and software engineering?

Coding is about writing programs, while software engineering involves applying systematic processes, scalability, maintainability, and working in teams.

2
New cards

What happened with the Therac-25?

The Therac-25 caused radiation overdoses due to software bugs, demonstrating the critical importance of safety in software systems.

3
New cards

Why did the Denver Airport baggage system fail?

It was an over-engineered waterfall system that failed due to the rigid methodology not accommodating changing requirements.

4
New cards

What was the problem with Healthcare.gov's launch?

It had requirements and scale issues that caused major problems during its initial release.

5
New cards

What is the Waterfall methodology?

A sequential, rigid requirements process that works when requirements are well-known and stable (e.g., safety-critical systems), but frequently fails when requirements evolve.

6
New cards

What are the core principles of Agile?

Incremental change, iterative development, embracing change, expecting evolving requirements, delivering working software early and often for feedback, and rapid feedback loops.

7
New cards

What is Extreme Programming (XP)?

An Agile methodology emphasizing practices like pair programming, test-driven development, collective code ownership, and continuous integration, with emphasis on simplicity and feedback.

8
New cards

What are the three roles in Scrum?

Product Owner, Scrum Master, and Development Team.

9
New cards

What are the main Scrum events?

Sprint, Daily Scrum, Sprint Review, and Sprint Retrospective.

10
New cards

What are the five Scrum values?

Focus, Courage, Openness, Commitment, and Respect.

11
New cards

What is the difference between Sprint Review and Sprint Retrospective?

Sprint Review evaluates the work product, while Sprint Retrospective evaluates the process and team dynamics.

12
New cards

What are the core principles of Kanban?

Visualize work, limit Work-in-Progress (WIP), manage flow, and continuous improvement.

13
New cards

What is the difference between pull and push models in Kanban?

Pull model: team members pull tasks when ready. Push model: tasks are assigned to team members.

14
New cards

How do Scrum and Kanban differ in time structure?

Scrum uses time-boxed sprints with defined start and end dates, while Kanban uses continuous flow without fixed time periods.

15
New cards

What metrics do Scrum and Kanban use?

Scrum uses velocity (story points per sprint), while Kanban uses cycle time (time to complete a task).

16
New cards

What does Scrum optimize for vs. Kanban?

Scrum optimizes for communication and team learning, while Kanban optimizes for speed and throughput.

17
New cards

What is a traditional requirement?

A formal, declarative statement describing something the system must do, typically written as imperative sentences ("The system shall…"). They are static and precise but often lack context.

18
New cards

What is a user story?

A short, narrative description of functionality from the end-user's perspective, usually following the format: "As a [type of user], I want [goal], so that [reason]."

19
New cards

What are the strengths of traditional requirements?

Clear, testable, and unambiguous if well-written.

20
New cards

What are the weaknesses of traditional requirements?

Can be too rigid or abstract and doesn't always capture user intent or workflow.

21
New cards

What are the strengths of user stories?

Captures user's intent, facilitates discussion, encourages prioritization, and is adaptable.

22
New cards

What are the weaknesses of user stories?

Less formal and requires further elaboration before implementation.

23
New cards

Give an example of a user story.

"As a returning customer, I want to log in with my username and password, so that I can access my past orders quickly."

24
New cards

What is program comprehension?

Understanding existing codebases, which is essential for maintaining and extending software systems.

25
New cards

What is bug localization?

Identifying where defects occur in the codebase.

26
New cards

What is defect prediction?

Anticipating where future bugs may arise in the software.

27
New cards

What is refactoring?

Improving internal code structure without changing the external behavior of the system.

28
New cards

What is traceability in software engineering?

Linking requirements → design → code → tests to ensure all components align with original specifications.

29
New cards

What is automatic program repair?

Tools that attempt to fix bugs automatically without human intervention.

30
New cards

How do startups structure teams differently from large companies?

Startups have small teams where members wear many hats and handle multiple responsibilities, while large companies have specialized roles with clear divisions of labor.

31
New cards

What are the main types of team structures?

Functional (skills-based), modular (feature-based), and maintenance vs. development teams.

32
New cards

What are challenges of global teams?

Division of labor across time zones creates communication challenges and coordination difficulties.

33
New cards

What are the ethical responsibilities of software engineers?

Safety, accessibility, and privacy considerations in software development.

34
New cards

Why is software important to society?

Software pervades all aspects of modern life and has significant economic impact through automation and software systems.

35
New cards

Why is rapid feedback important in Agile?

It allows teams to identify and fix problems early, adapt to changing requirements, and ensure the product meets user needs before too much time and resources are invested.

36
New cards

What is Work-in-Progress (WIP) limit in Kanban?

A constraint on how many tasks can be in progress at once, which helps prevent bottlenecks, improves focus, and ensures smoother workflow.

37
New cards

When might Waterfall be more appropriate than Agile?

When requirements are well-known, stable, and unlikely to change, especially in safety-critical systems where thorough upfront planning and documentation are essential.