software engineering lecture 3

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/161

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.

162 Terms

1
New cards

What are the 4 core values of the Agile Manifesto?

  1. Individuals and interactions over processes and tools, 2. Working software over comprehensive documentation, 3. Customer collaboration over contract negotiation, 4. Responding to change over following a plan

2
New cards

Individuals and interactions over ___ and ___

processes and tools

3
New cards

Working software over ___

comprehensive documentation

4
New cards

Customer collaboration over ___

contract negotiation

5
New cards

Responding to change over ___

following a plan

6
New cards

Why does Agile prioritize working software over comprehensive documentation?

Documentation can quickly become outdated, while functioning product provides immediate value and feedback. A prototype users can test is more useful than a long specification document.

7
New cards

What is the key difference between iterative and incremental development?

Incremental: Add new functionality step by step (build more parts). Iterative: Refine and improve existing functionality (make existing parts better).

8
New cards

Give an example of incremental development

Increment 1: Login, Increment 2: Profile, Increment 3: Cart (adding new features)

9
New cards

Give an example of iterative development

Iteration 1: Basic login, Iteration 2: Faster login, Iteration 3: Better UX (improving the same feature)

10
New cards

What is Agile methodology?

A family of software development methodologies that produce software in short iterations and allow for greater changes in design, emphasizing flexibility and customer collaboration.

11
New cards

What are the 6 rephrased Agile principles covered in the lecture?

  1. Short releases and iterations, 2. Incremental design, 3. User involvement, 4. Embrace change, 5. People not process, 6. Maintain simplicity

12
New cards

What does "Short releases and iterations" mean in Agile?

Divide work into small pieces, release software as often as possible, each release/sprint should have newer functionalities/bug fixes based on priorities.

13
New cards

What does "Incremental design" mean in Agile?

Don't complete design upfront because not enough is known early. Delay design decisions as much as possible and improve existing design when more knowledge is acquired.

14
New cards

What does "User involvement" mean in Agile?

Instead of producing formal, complete standards at the beginning, ask users to provide constant feedback. Customers should be closely involved throughout development.

15
New cards

What does "Embrace change" mean in Agile?

Expect system requirements to change and design the system to accommodate these changes.

16
New cards

What does "People, not process" mean in Agile?

Recognize and exploit the skills of the development team. Team members should develop their own ways of working without prescriptive processes.

17
New cards

What does "Maintain simplicity" mean in Agile?

Focus on simplicity in both the software being developed and the development process (including communication). Actively work to eliminate complexity from the system.

18
New cards

What does "sustainable pace" mean in Agile principles?

No more long hours or sleepless nights; replaced the 40 hours a week notion to prevent burnout and maintain productivity.

19
New cards

What are the 3 major concepts that drive RUP?

  1. Use-case and requirements driven, 2. Architecture centric, 3. Iterative and incremental
20
New cards

What are the 4 phases of RUP (in order)?

  1. Inception, 2. Elaboration, 3. Construction, 4. Transition
21
New cards

What happens during the Inception phase of RUP?

Planning phase that establishes: scope and goals, critical use cases, schedule and resources, implementation/testing methodologies, and potential risks.

22
New cards

What happens during the Elaboration phase of RUP?

Most critical phase where unknowns are resolved. Establishes: all major requirements, baseline design, platforms/methodologies, major test scenarios, and measurement metrics.

23
New cards

What happens during the Construction phase of RUP?

Production phase that: completes most implementation in timely manner, achieves releasable code version for restricted users, establishes remaining activities to complete goals.

24
New cards

What happens during the Transition phase of RUP?

Last phase before general release. Integrates all fixes and components, includes noncode artifacts (manuals, educational materials), establishes final product, user readiness, and deployment strategy.

25
New cards

Why is the Elaboration phase considered the most critical in RUP?

Because most of the unknowns should be resolved during this phase, establishing the foundation for successful construction.

26
New cards

What is Scrum?

A project management framework for creating, improving, and delivering high-quality products iteratively and incrementally, emphasizing teamwork, collaboration, communication, transparency, and continual improvement.

27
New cards

What are the 3 Scrum roles (committed members)?

  1. Product Owner, 2. Scrum Master, 3. Development Team
28
New cards

What are the key responsibilities of the Product Owner?

Setting product vision, communicating with clients/stakeholders, managing product backlog (creating, ordering, communicating items), ensuring backlog transparency, and approving delivered sprints.

29
New cards

What are the key responsibilities of the Scrum Master?

Facilitating smooth communication between PO and dev team, ensuring team progress and deadline meeting, removing obstacles, ensuring team follows Scrum methodology, training and leading daily meetings.

30
New cards

What are the key responsibilities of the Development Team?

Executing sprints under PO's vision and SM's direction, turning Product Backlog items into valuable product functionality, managing progress during Sprint. Cross-functional with specialized skills.

31
New cards

Why must the Product Owner be a single person, not a committee?

To ensure clear decision-making, consistent vision, and accountability for the product backlog and product value.

32
New cards

What does "cross-functional" mean in the context of the Development Team?

Members from different areas/departments with specialized skills working together on the same team.

33
New cards

What are the 3 Scrum Artifacts?

  1. Product Backlog, 2. Sprint Backlog, 3. Product Increment
34
New cards

What is a Product Backlog?

List of all features, functions, requirements, enhancements, and fixes to be made to the product in future releases. Maintained and managed by the Product Owner.

35
New cards

What attributes do Product Backlog items have?

Description, order, estimate duration, value, and test descriptions for completeness when "Done."

36
New cards

What are the 3 forms of Product Backlog items?

  1. User Story, 2. Action Task, 3. Epic
37
New cards

What is a User Story?

An informal statement expressing a small feature from the end-user's perspective while clearly showing the value. Format: "As a [role], I want to [action], so that I can [benefit]."

38
New cards

Give an example of a User Story

"As a Website Visitor, I want to login, so that I can access my expenses" OR "As a Website Visitor, I want to reset password, so that I can regain access."

39
New cards

What is an Action Task in Product Backlog?

Corresponds to an action item to be executed (e.g., "Implement UI for login with minimal design" or "Implement BL to verify authentication against internal DB").

40
New cards

What is an Epic in Product Backlog?

A set of stories that correspond to a major feature/component to be implemented.

41
New cards

What is a Sprint Backlog?

Composed of Sprint Goal + list of all work items (usually TASKS) that must be done by the end of the sprint timebox. Tasks are taken from product backlog, prioritized, and assigned during sprint planning.

42
New cards

What is a timebox in Scrum?

The time frame/duration that should not be exceeded to complete a task/sprint/meeting. Sprint timebox ranges from 2-4 weeks.

43
New cards

What is a Product Increment?

The set of all tasks, use cases, user stories, product backlog items that are developed during sprint(s), marked as completed based on "done definition," and made available to end users as software.

44
New cards

What are the 4 Scrum Ceremonies/Events?

  1. Sprint Planning, 2. Daily Scrum, 3. Sprint Review, 4. Sprint Retrospective
45
New cards

What happens during Sprint Planning?

Takes place at start of Sprint to select items from Product Backlog for current Sprint. Attended by all members, chaired by PO. Addresses: Why is this Sprint valuable? What can be done? How will work get done?

46
New cards

What happens during Daily Scrum?

Daily brief 15-minute timebox meeting for developers. Each member discusses: What did I do yesterday? What will I do today? Are there any impediments in my way?

47
New cards

Who must attend Daily Scrum meetings?

Developers. PO and SM only attend if they are developers too.

48
New cards

What happens during Sprint Review?

Inspect Sprint outcome and determine future adaptations. Scrum Team presents results to stakeholders, discusses progress toward Product Goal, collaborates on what to do next. Timeboxed to max 4 hours for one-month sprint.

49
New cards

What happens during Sprint Retrospective?

Plan ways to increase quality and effectiveness. Team inspects how last Sprint went regarding individuals, interactions, processes, tools, and Definition of Done. Timeboxed to max 3 hours for one-month sprint.

50
New cards

What is the purpose of a Scrum Burndown Chart?

Track progress by showing estimated hours/points remaining over time. Used to predict if a sprint can be completed on time by computing Burndown Velocity (work completed / time elapsed).

51
New cards

What are the 5 values of Scrum?

  1. Commitment, 2. Focus, 3. Openness, 4. Respect, 5. Courage
52
New cards

What does "Commitment" mean in Scrum values?

Members commit to achieving goals and supporting each other.

53
New cards

What does "Focus" mean in Scrum values?

Primary focus is on the work of the Sprint to make the best possible progress toward goals.

54
New cards

What does "Openness" mean in Scrum values?

Team and stakeholders are open about work and challenges (share progress, information).

55
New cards

What does "Respect" mean in Scrum values?

Team members respect each other to be capable, independent people.

56
New cards

What does "Courage" mean in Scrum values?

Team members have courage to do the right thing and work on tough, challenging problems.

57
New cards

What is the Scrum term derived from and what does it represent?

Drawn from Rugby game indicating restarting play after stoppage. For software development, developers work as a team during each iteration, then restart fresh from the same point.

58
New cards

Why is Scrum more suited to current application trends?

Startup Apps and Mobile Apps are mostly needed in a short time of few months (not years), making Scrum's iterative, incremental approach ideal.

59
New cards

What is the difference between "Committed" and "Involved" members in Scrum?

Committed (Scrum Team): fully committed to project success, smaller teams of 10 or less, accountable for creating valuable increment. Involved: have interest in success (executives, customers) but not on core team.

60
New cards

What are the 12 principles of XP?

  1. Code Standard, 2. Refactoring, 3. Pair Programming, 4. Test-Driven Development, 5. Collective Code Ownership, 6. Continuous Integration, 7. Small Release, 8. Onsite Customer, 9. Sustainable Pace, 10. System Metaphor, 11. Simple Design, 12. Planning Game
61
New cards

What is XP (Extreme Programming)?

The most widely used agile process that uses user stories, test-driven development, direct customer involvement, pair programming, and continuous code refactoring and integration.

62
New cards

What is Code Standard in XP?

Conventional recommendations of coding style to ensure consistency, readability, and maintenance (includes naming variables, exceptions, SQL syntax, indentation, constructing classes).

63
New cards

What is Refactoring in XP?

Process to change and restructure code without changing its behavior/functionalities. Aims to improve readability, maintenance, remove redundancy, ensure proper scope, no long functions, remove unnecessary logic.

64
New cards

What is Pair Programming in XP?

Two programmers operating on the same code and unit tests on the same system. One focuses on coding, the other reviews, inspects, suggests improvements, and fixes mistakes along the way.

65
New cards

Why does XP use Pair Programming?

Supports collective ownership and responsibility, acts as informal review process (each line looked at by at least two people), encourages refactoring to improve structure, readability, and maintainability.

66
New cards

What is Test-Driven Development (TDD) in XP?

Automated unit tests are written and created BEFORE the code itself. Every piece of code must pass the initially created test. Allows immediate feedback to produce reliable software.

67
New cards

What is Collective Code Ownership in XP?

The whole team is responsible for design and building. Each member with access can review and update code. Encourages cooperation and freedom to bring new ideas and features.

68
New cards

What is Continuous Integration (CI) in XP?

Developers integrate changes made every few hours or daily. After every code compilation and build, integrate it and execute all tests automatically for entire project (also known as Continuous Delivery).

69
New cards

What is Small Release in XP?

Teams release MVP quickly and keep developing with small, incremental updates/releases. Allows frequent feedback, early bug detection, and monitoring product in production.

70
New cards

What is Onsite Customer in XP?

Similar to Product Owner in Scrum. Customers/end-users fully participate in development, present all the time to answer questions, craft vision, set priorities, plan releases, define user stories/acceptance criteria.

71
New cards

What is Sustainable Pace in XP?

No overtime for employees. Refactoring and reviewing code helps staff relax, be at same pace, and refresh minds about what's done.

72
New cards

What is System Metaphor in XP?

A story everyone (customers, programmers, managers) can tell about how the system works. Uses naming concepts for classes/methods that make it easy to guess functionality from name only.

73
New cards

What is Simple Design in XP?

Team won't do complex or big architecture upfront; starts with simple design that emerges and evolves over iterations. Ensures working MVP initially, then adds features in coming iterations.

74
New cards

What is Planning Game in XP?

Meeting at beginning of iteration cycle where development team and customer discuss and approve product features. At end: developers plan for upcoming iteration/release and assign tasks.

75
New cards

What are 3 benefits of XP?

Stable system, clear/clean code, fast delivery of features, no overtime, better collaboration, good transparency, customer satisfaction (any 3 from list)

76
New cards

What are 3 drawbacks of XP?

Unclear estimates (hours, budget, duration), time waste, lack of documentation, pair programming can take longer, code over design, lack of long-term vision (any 3 from list)

77
New cards

What are the 2 major problems for Agile methodologies?

  1. Informality incompatible with legal contract definition commonly used in companies, 2. More appropriate for new development than maintenance (yet most costs come from maintaining existing systems).
78
New cards

Why was the plan-and-document approach problematic for software?

Often verbose documentation of limited use, rarely used during implementation. By the time system is ready after 1 year of requirements, 1 year design, 1 year implementation, it may already be obsolete.

79
New cards

What is the key principle for choosing a process model?

There is no best software process. No process works well for every project. Processes must be selected, adapted, re-adjusted, and applied as appropriate for each project, team, and organizational context.

80
New cards

Compare how Agile vs Traditional processes handle changes

Traditional processes resist changes late in development (high cost to change). Agile processes embrace changes throughout development (designed to accommodate changes with lower cost).

81
New cards

Why does Agile value responding to change over following a plan?

The world changes—technologies evolve, markets shift, user needs grow. Plans should evolve too. If user priorities change, Agile teams adjust work instead of insisting on finishing the original plan.

82
New cards

Why does Agile prioritize customer collaboration over contract negotiation?

Requirements change, and direct collaboration ensures the product always meets real needs of users. Continuous collaboration ensures product meets real needs better than rigidly sticking to signed contract.

83
New cards

Why do Agile teams value individuals and interactions over processes and tools?

Great software comes from collaboration, creativity, and quick feedback, not from blindly following rigid workflows. Daily stand-up meetings and team discussions are more valuable than just ticketing systems or long reports.

84
New cards

What is the relationship between Product Increments in Scrum?

Product increments should build upon each other until the team completes the project. Each increment adds value and functionality to previous increments.

85
New cards

How does the Sprint Goal help the Scrum team?

It keeps the team focused. When tempted to add features, they ask "Does this help us achieve the Sprint Goal?" This keeps them on track and prevents scope creep.

86
New cards

Why is Product Backlog refinement important?

It's the act of breaking down and defining Product Backlog items into smaller, more precise items. Helps ensure items are well-defined before Sprint Planning, reducing confusion during sprint execution.

87
New cards

What is the difference between Sprint Review and Sprint Retrospective?

Sprint Review: inspect product outcome, present to stakeholders, determine future adaptations (WHAT was built). Sprint Retrospective: inspect process, how team worked, plan improvements (HOW we worked).

88
New cards

Why are Scrum ceremonies held at same time and place?

To reduce complexity and create consistency. Regular rhythm helps team plan and reduces overhead of scheduling.

89
New cards

What makes the Development Team "self-organizing" in Scrum?

They decide how to turn Product Backlog items into increments, manage their own progress during Sprint, and adjust their plan based on daily discussions without needing external direction for execution details.

90
New cards

Why is XP called "eXtreme"?

It takes good programming practices to extreme levels: if code review is good, review constantly (pair programming); if testing is good, test all the time (TDD); if integration is good, integrate continuously.

91
New cards

TRUE or FALSE: In RUP, phases are named after activities like design, testing, or coding.

FALSE. Phases are Inception, Elaboration, Construction, and Transition. An iteration may include many activities in varying degrees within each phase.

92
New cards

TRUE or FALSE: In Scrum, the Product Owner can be a committee of people.

FALSE. Product Owner MUST be a single person, not a committee, to ensure clear decision-making and accountability.

93
New cards

TRUE or FALSE: Daily Scrum meetings must include the Product Owner and Scrum Master.

FALSE. Daily Scrum is for developers only. PO and SM attend only if they are also developers.

94
New cards

TRUE or FALSE: In XP, unit tests are written after the code is completed.

FALSE. In Test-Driven Development (TDD), automated unit tests are written and created BEFORE the code itself.

95
New cards

TRUE or FALSE: Agile methodologies have no value for documentation.

FALSE. The Agile Manifesto states "while there is value in the items on the right, we value the items on the left more." Documentation has value, but working software is prioritized.

96
New cards

TRUE or FALSE: Sprint Backlog cannot be modified once Sprint Planning is complete.

FALSE. Depending on project state, tasks may be added to, removed from, or re-prioritized in the sprint backlog during the sprint.

97
New cards

TRUE or FALSE: Refactoring in XP means changing the code's behavior/functionality.

FALSE. Refactoring is changing and restructuring code WITHOUT changing its behavior/functionalities.

98
New cards

TRUE or FALSE: Incremental development means improving existing features.

FALSE. Incremental development means adding NEW functionality step by step (building more parts). Iterative development means improving existing features.

99
New cards

TRUE or FALSE: There is one best software process that works for all projects.

FALSE. There is no best software process. No process works well for every project. Processes must be selected and adapted for each specific context.

100
New cards

TRUE or FALSE: In Scrum, the Scrum Master manages the Product Backlog.

FALSE. The Product Owner is responsible for managing the Product Backlog. The Scrum Master facilitates the process and removes impediments.