Scrum vs Waterfall vs V-Model: Key Software Development Methodologies Explained

Other subjects219.69 KB

Scrum is an agile project management framework used mainly in software development, but it can be applied to other fields as well. It helps teams work collaboratively, adapt quickly to changes, and deliver value step by step instead of all at once.

Key Concepts of Scrum

  1. Iterative & Incremental Approach

  1. Instead of trying to build everything at once, work is done in short cycles called sprints (usually 1-4 weeks).

  1. Each sprint delivers a usable product increment (a small but working piece of the project).

  1. Roles in Scrum

    There are three main roles in a Scrum team:

  1. Product Owner – Defines what needs to be built, prioritizes tasks, and represents stakeholders.

  1. Scrum Master – Facilitates the Scrum process, removes obstacles, and helps the team work efficiently.

  1. Development Team – The people who do the work (developers, designers, testers, etc.).

  1. Scrum Events

  1. Sprint Planning – Deciding what to work on in the next sprint.

  1. Daily Stand-up (Daily Scrum) – A short meeting (max 15 minutes) where the team syncs up.

  1. Sprint Review – At the end of the sprint, the team presents what they’ve completed.

  1. Sprint Retrospective – A reflection meeting to improve the process for the next sprint.

  1. Scrum Artifacts

  1. Product Backlog – A prioritized list of all features, fixes, and tasks.

  1. Sprint Backlog – A selection of items from the Product Backlog that the team will complete in a sprint.

  1. Increment – The sum of all completed work that is ready to be used.

1️⃣ Waterfall Model 📏

Definition: The Waterfall model is a linear approach where each phase must be completed before moving to the next one. It follows a step-by-step process, like water flowing down a staircase. (SEE WYKŁAD)

Phases of Waterfall:

  1. Requirement Analysis – Gather and document requirements.

  1. System Design – Plan architecture, databases, and software structure.

  1. Implementation (Coding) – Developers write the actual code.

  1. Testing – Verify if the software meets the requirements.

  1. Deployment – Release the final product to users.

  1. Maintenance – Fix bugs, updates, and improvements.

wFGLn5MlnvhRwAAAABJRU5ErkJggg==

2️⃣ V-Model (Verification & Validation Model) 📊

Definition: The V-Model (Validation & Verification Model) is an extension of Waterfall where testing is integrated into every development phase. Instead of treating testing as a separate stage at the end, the V-Model ensures early defect detection.

V-Model Structure (Mirrored Development & Testing Phases)

Requirement Analysis 📌

Acceptance Testing ✅ 

      System Design 🏗️

                    System Testing 🛠️

        High-Level Design 📋

Integration Testing 🔗

Detailed Design ⚙️

Unit Testing 🔍

Coding 💻

Each development phase has a corresponding testing phase, ensuring that every part of the system is verified early.

Key Characteristics:

✅ Early testing prevents major defects later in development.
✅ Reduces the cost of fixing bugs, as they are detected early.
✅ Suitable for safety-critical systems (medical devices, automotive, banking).
❌ Still rigid – Changes in requirements require modifications in multiple stages.
❌ High documentation overhead, which may slow down development.

Techniki pozyskiwania requirementów od stakeholderów.

1. Interviews

  • Direct meetings where analysts ask stakeholders about system requirements and tasks.

  • Can be structured (predefined questions) or unstructured (open-ended).

  • Challenges: Time-consuming, inaccurate responses, stakeholders may omit "obvious" details.

2. Workshops

  • Group discussions to find common ground on requirements.

  • Often use scenarios to guide discussions.

  • Challenges: Difficult to reach consensus, risk of conflicts, requires a skilled moderator.

3. Brainstorming

  • Group meetings to generate creative ideas about system features.

  • Idea criticism is postponed until later.

  • Challenges: Depends on participants’ creativity, risk of early criticism derailing ideas.

4. Questionnaires and Surveys

  • Used when reaching a large number of stakeholders.

  • Includes open-ended (detailed responses) and closed-ended (multiple-choice) questions.

  • Challenges: Low response rates, unclear representativeness, no follow-up for clarifications.

5. Prototyping

  • Provides a simplified version of the system for stakeholders to interact with.

  • Helps gather feedback and refine requirements.

  • Challenges: Users may mistakenly believe the prototype is the final system.

  • 6. Document Analysis

  • Extracting requirements from existing documents like laws, policies, job descriptions, and system documentation.

  • Useful for structured and regulatory requirements.

  • 7. Analysis of Existing Systems

  • Reviewing the current IT system to identify missing features, technical limitations, and non-functional requirements.

  • Challenges: Some requirements may need to be inferred from undocumented features.

  • 8. Observation

  • The analyst watches employees perform tasks in their work environment.

  • Captures hidden requirements stakeholders may not mention.

  • Challenges: Time-consuming, observer effect, only current processes are visible.

  • 9. Apprenticing

  • The analyst learns by doing, working alongside domain experts.

  • Provides first-hand experience and deeper understanding.

  • Challenges: Highly time-consuming, not always feasible (e.g., hazardous environments).

Quality requirements:

  • Performance – requirements about the expected number of (concurrent) users, data volumes, system response time.

  • Reliability – requirements expressing that software operation is failure-free for a specified period of time or for a number of uses.

  • Availability – What is the required system’s uptime? What is the acceptable downtime?

  • Security – To what extent does the system need protection from external malicious attacks?

  • Safety – To what extent is the system expected to guarantee that it will not endanger its environment?

  • Portability – How important is it that the system could be used on different devices, platforms, operating systems, browsers, etc.?

  • Flexibility – To what extent should the system be easy for further development?

  • Configurability – Are there any important parameters that are usually stable but in the longer time period can change, so it shouldn’t be “hardcoded”?

SOLID

Single Responsibility
✅ A class should have only one job. If something changes, there should be only one reason to modify the class.

Open/Closed

✅ Code should be open for extensions but closed for modifications.

Liskov
✅ A subclass should be usable instead of its parent class without breaking the program.

Interface Segregation
✅ Don’t force a class to implement methods it doesn’t need. 

Dependency Inversion
✅ Depend on abstract things (interfaces), not concrete classes.

Teoria z poprzednich lat, tylko zamknięte. Otwarte można ogarnąć z tego co wyżej jest.

1. The traceability matrix is used for:

a) Determining team members’ responsibilities

b) Estimating project costs

c) Analyzing dependencies between requirements

d) Evaluating possible system architectures

2. A non-functional requirement specifying which devices, platforms, browsers, etc., the system must work on is:

a) Portability

b) Flexibility

c) Reliability

d) Configurability

3. A characteristic NOT specific to software compared to other technologies is:

a) Ease of making changes

b) Lack of wear and random errors

c) Arbitrary structure

d) Ease of estimating workload

4. Which aspect does NOT belong to system architecture (high-level design)?

a) Optimization of class structure

b) Defining the handling of transitional and failure states

c) Decisions on the physical distribution of subsystems

d) Choosing an approach to data container management

5. A wrong instruction or data definition in the program is:

a) Defect

b) Error

c) Failure

d) Debugging

6. Which of the following is NOT a category of requirements?

a) User requirements

b) Analytical patterns

c) Business rules

d) Constraints

7. One of the techniques used in the field of requirements validation is:

a) Root cause analysis

b) Observations

c) MoSCoW

d) Prototyping

8. A stakeholder of the system CANNOT:

a) Be non-living

b) Be reluctant to cooperate

c) Come from outside the client’s organization

d) Not have a justified right to influence the system

9. What is the correct order of system layers?

a) Presentation, Services, Business Logic, Data

b) Presentation, Business Logic, Services, Data

c) Presentation, Business Logic, Data, Services

d) Services, Presentation, Business Logic, Data

1. A requirement specifying the hardware and/or software platforms the system must operate on is a:

a) performance requirement

b) reliability requirement

c) portability requirement

d) usability requirement

2. Which of the following is a non-functional (quality) requirement?

a) The system shall be developed and deployed in 18 months time

b) A complete set of documentation related to testing shall be delivered to the customer

c) The quality assurance in the project shall be conducted by an independent, third party team

d) The downtime (unavailability) of the system shall not exceed 0.5%

3. SMART approach is dedicated to:

a) defining system goals

b) evaluating possible system architectures

c) managing IT projects

d) prioritizing requirements

4. Interviews can be used to elicit:

a) functional requirements only

b) all requirements except constraints

c) business goals only

d) virtually all kinds of requirements

5. Business Logic layer provides its services to:

a) No other layer

b) Data layer

c) Presentation layer

d) Network layer

6. The "D" from SOLID principles stands for:

a) Data hiding

b) Dependency inversion

c) Deterministic behavior

d) Design by principle

7. Which discipline does cryptography belong to?

a) Software Engineering (SE)

b) Both disciplines (CS & SE)

c) Computer Science (CS)

d) Neither CS nor SE

8. What is the lowest level of hierarchical models of software quality?

a) attributes

b) metrics

c) characteristics

d) design solutions

9. Changes made in the deployed and used IT system resulting from defects reported by users are called ... maintenance.

a) preventive

b) corrective

c) adaptive

d) perfective

10. The state or behavior of the program which deviates from expectations is:

a) an error

b) a bug

c) a failure

d) a defect

1. Which of the following is NOT an Agile methodology?

a) Feature-Driven Development

b) Scrum

c) Extreme Programming

d) Cowboy Coding

2. A system stakeholder CANNOT:

a) be a system user

b) be reluctant to cooperate

c) belong to any other party than customer’s organization

d) be non-human

3. What percentage of costs spent on IT projects are currently spent on maintenance?

a) 16-21%

b) 0.95

c) 0.05

d) 60-80%

4. Which is NOT an example of a system goal (business goal)?

a) Decrease of costs

b) Increase of profits

c) Additional marketing arguments

d) Printout of invoices

5. A requirement identifying the most probable directions of system’s further extensions/modifications is a:

a) portability requirement

b) flexibility requirement

c) availability requirement

d) configurability requirement

6. Which is the valid causal relationship ("->" meaning that the element to the left is the cause of the element to the right)?

a) defect -> error -> failure

b) defect -> failure

c) failure -> defect -> error

d) error -> defect -> failure

7. Which of the following is NOT an area of project management?

a) Enterprise resource management

b) Scope/stakeholders management

c) Time management

d) Risk management

8. What should NOT be included in SRS (Software Requirements Specification)?

a) Constraints

b) Design patterns used

c) Functional requirements

d) User characteristics

9. On how many physical units (nodes) can a system based on 3-tier architecture be deployed?

a) 3

b) 1-2

c) 2-3

d) 1-3

10. Which one of the following does NOT belong to the description structure of design patterns?

a) Requirements

b) Consequences

c) Solution

d) Problem

Download

PDF Word HTML