0% found this document useful (0 votes)
15 views43 pages

Module 2

The document discusses software engineering processes and the software development life cycle (SDLC). It provides an overview of key aspects of software processes including project management, iterative development, documentation, and quality assurance. It also describes common SDLC models and characteristics of effective software processes, such as being systematic, quality-centric, and enabling continuous improvement.

Uploaded by

Khushi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views43 pages

Module 2

The document discusses software engineering processes and the software development life cycle (SDLC). It provides an overview of key aspects of software processes including project management, iterative development, documentation, and quality assurance. It also describes common SDLC models and characteristics of effective software processes, such as being systematic, quality-centric, and enabling continuous improvement.

Uploaded by

Khushi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 43

SOFTWARE ENGINEERING

MODULE 2
SOFTWARE PROCESS

• Often referred to as software development processes or


software engineering processes.
• Systematic approaches and methodologies used to plan, design,
create, test, deploy, and maintain software systems.
• Provides a structured framework for managing and executing
software projects efficiently and effectively.

20XX Presentation title 2


Key aspects of Software Process
Such as testing and
code reviews, are
integrated into the
Software is developed in
process to ensure that Project management May involve the use of
small, manageable
Define a set of the final software activities such as various tools and
Such as the waterfall increments with regular
activities, tasks, and meets its intended scheduling, resource automation to support
model, agile, scrum, and feedback and
steps to be followed in purpose and adheres to allocation, and progress development and testing
devOps adjustment.
a logical sequence specified standards tracking tasks

Roles and Continuous


Life Cycle Phases Documentation Risk Management Responsibilities Change Management Improvement

Systematic Approach Methodologies Quality Assurance Iterative and Project Management Tools and
Incremental Automation
Development

Requirements Handling changes in


Detailed documentation helps Strategies for Define roles and Post-project evaluations
gathering, design, requirements, scope, and
in project management, mitigating risks are responsibilities for team to identify areas for
coding, testing, other project aspects
knowledge transfer, and developed and members enhancement in future
deployment, and
maintaining a record of design implemented projects
maintenance
decisions and requirements. throughout the project
life cycle.

4
Characteristics of Software Process
Characteristic Description
Systematic and Organized Follows a structured and organized approach with defined phases and activities.
Lifecycle Orientation Encompasses the entire software development lifecycle, from requirements to maintenance.
Iterative and Incremental Allows for multiple cycles of development and continuous improvement.
Goal-Oriented Driven by specific project goals and objectives, aiming to meet defined requirements.
Flexible and Adaptive Adaptable to changing project conditions and requirements.
Quality-Centric Emphasizes quality assurance and control to produce reliable and robust software.
Risk Management Includes practices to identify, assess, and mitigate project risks.
Customer-Centric Encourages customer involvement and feedback throughout the process.
Measurement and Metrics Utilizes metrics to quantify progress, quality, and performance.
Documentation Requires comprehensive documentation, including requirements, design, and test plans.
Project Management Integrates project management practices for planning, scheduling, and risk management.
Continuous Improvement Promotes ongoing process assessment and improvement.
Compliance and Standards Adheres to industry standards and regulatory requirements where applicable.
Training and Skill Development Supports skill development and continuous learning among team members.
Transparency and Communication Relies on effective communication and transparency among team members and stakeholders.

20XX Presentation title 5


SOFTWARE DEVELOPMENT LIFE CYCLE MODEL (SDLC)

• SDLC is a systematic
process for planning,
creating, testing,
deploying, and
maintaining software
systems.
• It provides a structured
framework for software
development projects.
6
Feasibility Study
Aspect Description
• To assess whether a proposed Assess whether the software can be developed with available
Technical Feasibility
technology and resources. Identify technical challenges and risks.
software project is technically, Examine the project's cost implications, including development, testing,
Financial Feasibility
financially, and operationally deployment, and maintenance costs. Perform cost-benefit analysis.
viable. Evaluate the impact of the software on existing operations, processes,
Operational Feasibility
and staff. Identify potential disruptions and challenges.
Determine if the project can be completed within the desired time
Schedule Feasibility
frame. Create a realistic development schedule.
Assess the demand for the software in the target market. Conduct
Market Feasibility
market research to understand customer needs and competition.
Ensure compliance with relevant laws, regulations, and standards.
Legal and Regulatory Feasibility
Address issues related to intellectual property and data privacy.
Evaluate the availability of human and physical resources, including
Resource Feasibility
skilled personnel and infrastructure.
Assess the environmental impact and compliance with environmental
Environmental Feasibility
regulations, if applicable.
Identify potential risks and uncertainties associated with the project.
Risk Assessment
Develop risk mitigation strategies.

20XX Presentation title 7


Requirement Gathering phase
Aspect Description
Objective Identify, document, and understand the needs and expectations of stakeholders for the software project.

Stakeholder Identification Identify all stakeholders, including end-users, clients, managers, and others with an interest in the project.
Elicitation Techniques Gather requirements through interviews, surveys, workshops, and discussions with stakeholders.
Systematically document requirements using formats like use cases, user stories, and functional
Documentation
specifications.
Analyze requirements to eliminate redundancies, ambiguities, and inconsistencies. Prioritize based on
Analysis and Prioritization
importance.
Validate that requirements accurately represent stakeholder needs. Verify that they are complete and
Validation and Verification
consistent.
Traceability Ensure that each requirement is traceable to its source and rationale, aiding in project understanding.
Change Management Establish a formal process for evaluating and managing changes to requirements as they evolve.
Foster effective communication and collaboration among stakeholders to enhance the requirements gathering
Communication and Collaboration
process.
Prototyping (Optional) Create prototypes or mockups to visualize and validate requirements, particularly for UI/UX aspects.
Obtain formal approval from stakeholders, indicating that the gathered requirements are the basis for
Sign-off
development.

20XX Presentation title 8


System Design phase
Aspect Description
Objective Define the system's architecture and structure to meet requirements.
Design Considerations Address functional, non-functional, and quality requirements.
Architecture & Components Plan the system's structure, modules, components, and interactions.
User Interface (UI) Design Create a user-friendly interface layout and navigation.
Data Flow & Control Specify data flow and control mechanisms within the system.
Security & Scalability Address security and scalability through access control and performance optimization.
Technology Stack Select suitable technologies, frameworks, and tools.
Integration & Interfaces Identify external system integrations and communication protocols.
Documentation Comprehensively document the design with diagrams and specifications.
Testing Strategies Plan testing approaches, including unit, integration, and system testing.
Prototyping (Optional) Create prototypes to visualize and gather stakeholder feedback.
Compliance & Standards Ensure adherence to industry standards and best practices.
Review & Validation Validate the design with stakeholder reviews.
Iterative Process Design is an iterative process, adapting to evolving requirements.
20XX Presentation title 9
Implementation/Coding phase
Aspect Description
Objective Write, test, and debug code based on design specifications.
Coding Standards Follow coding standards and best practices for consistency and maintainability.
Programming Languages Use appropriate programming languages aligned with project requirements.
Modular Development Divide code into modules for easier management, testing, and collaboration.
Version Control Employ version control systems to track changes and collaborate effectively.
Testing Integration Integrate testing strategies, including unit testing, to identify and fix defects early.
Error Handling Implement error detection, reporting, and handling mechanisms for robustness.
Code Reviews Conduct code reviews to ensure quality, identify issues, and share knowledge.
Documentation Document code comprehensively, including comments and inline documentation.
Optimization Optimize code for performance, scalability, and resource efficiency.
Security Practices Incorporate security measures, such as input validation and secure coding practices.
Testing Environment Set up a suitable development and testing environment for code validation.
Refactoring (Optional) Refactor code to improve structure and maintainability when needed.
Code Libraries & APIs Utilize third-party libraries and APIs for efficiency and functionality.
Code Deployment Prepare code for deployment to production or testing environments.
Continuous Integration & Continuous
Implement CI/CD pipelines for automated code integration and deployment.
Deployment (CI/CD)
20XX Presentation title 10
Testing phase
Aspect Description
Objective Verify software functionality and identify and fix defects.
Types of Testing Include various testing types: unit, integration, system, regression, and more, based on project needs.
Test Planning Create a detailed test plan outlining test cases, objectives, and test environments.
Test Execution Execute test cases, record results, and monitor for deviations from expected outcomes.
Defect Tracking Track and manage defects, including reporting, prioritization, and resolution.
Automated Testing Implement automated testing tools and scripts for repetitive and regression testing.
Performance Testing Assess system performance under load, stress, and scalability conditions.
Security Testing Evaluate software security through vulnerability assessments and penetration testing.
User Acceptance Testing (UAT) Involve end-users to validate that the software meets their requirements and expectations.
Compatibility Testing Ensure software functions correctly across various browsers, devices, and platforms.
Load Balancing (Optional) Test load balancing mechanisms for distributed systems and applications.
Testing Documentation Document test cases, test plans, and test results for traceability and future reference.
Testing Environments Prepare and maintain dedicated testing environments to replicate production conditions.
Continuous Testing Integrate testing into the development pipeline for continuous validation (CI/CD).
Testing Tools Use appropriate testing tools and frameworks to streamline testing efforts.
Code Coverage Analysis Evaluate the extent to which code is tested and identify areas that require additional coverage.
User Feedback Integration Incorporate user feedback into the testing process to address usability issues.
Testing Reports Generate test reports summarizing findings and providing a basis for decision-making.

20XX Presentation title 11


Deployment phase
Aspect Description
Objective Release the software to users or production environments.
Environment Setup Prepare the target deployment environment, including servers, databases, and networking configurations.
Release Planning Develop a release plan specifying deployment dates, milestones, and rollback procedures.
Deployment Automation Use automation tools and scripts to streamline deployment processes for consistency and reliability.
Deployment Verification Verify the deployment's success by testing the software in the production environment.
Rollback Planning Define procedures for rolling back to previous versions in case of deployment issues.
Data Migration If required, migrate data from old systems to the new software, ensuring data integrity and accuracy.
User Training Provide training and support to end-users for a smooth transition to the new software.
Monitoring & Logging Implement monitoring and logging solutions to track system performance and detect issues.
Scaling Strategies Plan for scalability and load balancing to handle increased user loads as necessary.
Security Measures Enforce security measures, including access controls, firewalls, and encryption, in the production environment.
Backup & Recovery Establish backup and recovery mechanisms to safeguard data and ensure business continuity.
Deployment Documentation Document deployment procedures and configurations for reference and future updates.
User Communication Inform users about the deployment, changes, and any necessary actions on their part.
Post-Deployment Support Provide ongoing support for users and address issues or feedback that arise after deployment.
Performance Monitoring Continuously monitor system performance and optimize as needed for a seamless user experience.

20XX Presentation title 12


Maintenance and support phase
Aspect Description
Objective Address bug fixes, updates, and enhancements to ensure the software's reliability and effectiveness.
Issue Tracking Implement a system for tracking and prioritizing user-reported issues, defects, and enhancement requests.
Patch Management Regularly release patches and updates to fix known issues and vulnerabilities.
Change Management Manage and assess proposed changes to the software to evaluate their impact on functionality and stability.
Regression Testing Perform regression testing to ensure that code changes do not introduce new defects or issues.
Performance Monitoring Continuously monitor system performance and optimize as needed for sustained efficiency.
Security Updates Stay up-to-date with security best practices and apply patches and updates to address vulnerabilities.
Data Backup Implement regular data backups and recovery procedures to safeguard against data loss.
User Support Provide user support through various channels, including helpdesk, documentation, and online resources.
Documentation Updates Maintain and update documentation to reflect changes in the software's functionality and usage.
Version Control Manage software versions, ensuring that older versions are deprecated and no longer supported.
End-of-Life Planning Plan for the eventual end of software life cycle, including migration or replacement strategies.
User Training Updates Offer ongoing training to users for new features or changes in the software's functionality.
Compliance & Regulations Ensure that the software continues to meet industry-specific regulations and standards.
Feedback & Improvement Solicit and incorporate user feedback to drive continuous improvement and user satisfaction.
Resource Allocation Allocate resources, including personnel and budget, to support and maintain the software effectively.
Communication Maintain clear and proactive communication with users and stakeholders regarding maintenance activities.
Performance Metrics Define and track key performance metrics to measure the effectiveness of maintenance efforts.
13
SDLC MODELS

14
Classical Waterfall Model
• One of the oldest and most traditional software
development life cycle.
• It has a linear and sequential approach.
• Each phase must be completed before moving on to
the next one, resembling a waterfall flowing down in
one direction.

Key Characteristics:
• Sequential and Linear
• Document-Driven
• Well-Suited for Stable Requirements
• Limited Flexibility
• Longer Time to Deliver
15
Classical Waterfall Model (Cont…)
Advantages Disadvantages

• Well-Defined Phases • Lack of Flexibility

• Clear Documentation • Late User Feedback

• Suitable for Certain Projects • Risk of Project Delays


• Not Ideal for Complex Projects

20XX Presentation title 16


Agile Model
Definition Key features

• The Agile Model is an iterative and incremental • Iterative and Incremental Development
approach to software development that prioritizes • Customer Collaboration
flexibility, collaboration, and customer feedback.
• Flexibility
• Unlike traditional linear models like the Waterfall
Model, Agile methodologies embrace change and • Cross-Functional Teams
aim to deliver a working product in shorter • Emphasis on Individuals and Interactions
development cycles called iterations.
• Working Software as the Primary
Measure of Progress
• Embracing Change
• Regular Reflection and Improvement

17
Agile Model (Cont…)

18
Agile Model (Cont…)
Advantages Disadvantages
• Supports customer involvement and customer • Lack of documentation is a problem if the
satisfaction software team is changed and software
• Strong communication of the software team with needs to be maintained after some years.
the customer. • Senior and highly paid developers are
• Focus on user and customer required because they are the only persons
who can take correct decisions by having an
• Rapid development
eye for a little documentation.
• Allows changes easily
• It does not have full support for
• Cost-saving documentation and design.
• Promotes team works
• Fast delivery
• Little planning required 19
V-Model (Validation and Verification Model)
Definition

• Enhances the Waterfall model by


aligning each development phase with a
corresponding testing phase.
• Emphasizes validation (building the
right product) and verification (building
the product right).
• In the V-Model, testing phases run in
parallel with development phases.
• For example, while coding occurs, unit
testing is being planned and executed.

20
V-Model (Cont…)
Advantages Disadvantages
• Clear structure and traceability help in • Can be rigid and less adaptable to
managing and monitoring project changing requirements compared to
progress. Agile methodologies.
• Thorough testing at each level reduces • Requires detailed planning and
the likelihood of defects going documentation.
undetected.

20XX Presentation title 21


Iterative Waterfall Model

• Modified version of the traditional


Waterfall Model, which incorporates
some iterative and feedback-driven
elements.
• The software development process is
divided into cycles or iterations, allowing
for periodic reviews, revisions, and
adaptations.
• It strikes a balance between the strict
structure of the Waterfall Model and the
flexibility of fully iterative approaches
like Agile methodologies.

22
Iterative Waterfall Model (Cont…)
Advantages Disadvantages
• Base model • No phase overlapping
• Simple and easy • No intermediate delivery
• Small projects • Rigid (no change)
• Feedbacks • Less customer interaction

23
Increment Model

• Divides the project into smaller,


manageable parts called "increments."
• Each increment represents a portion of
the complete system's functionality and
is developed and tested independently.
• These increments are integrated to form
the final product.
• The Incremental Model shares some
similarities with the Iterative Model but
emphasizes building and delivering
partial functionality in well-defined
increments.

24
Increment Model (Cont…)
Advantages Disadvantages
• Early delivery of partial functionality to • Requires careful planning and
customers. coordination to ensure that increments
align with project goals.
• Allows for flexible adaptation to
changing requirements. • Managing dependencies between
increments can be complex.
• Reduces the risk of late project failure.
• Integration testing becomes more critical
• Incremental improvements and
as the project progresses.
refinements.

25
Prototype Model
• Focuses on creating a preliminary
working model or prototype of the
software before the final product is
developed.
• The prototype serves as a tangible
representation of the system, allowing
users and stakeholders to visualize and
interact with it.
• The feedback obtained from the
prototype helps refine and finalize the
system's requirements and design.

26
Prototype Model (Cont…)
Advantages Disadvantages
• Early and tangible representation of the • Potential for misunderstandings if the
system. prototype's purpose and limitations are
not clear to stakeholders.
• Effective requirements elicitation and
validation. • The danger of the prototype becoming
the final product if not managed
• User involvement and feedback.
carefully.
• Rapid identification and resolution of
• Extra effort may be required to convert
design and functionality issues.
the prototype into a production-ready
system.

20XX Presentation title 27


Spiral Model
• Combines iterative development with
risk analysis and management.
• Phases include planning, risk analysis,
engineering, testing, and evaluation.
• Used for large and complex projects
where risk management is critical.
• It is characterized by its cyclic and
iterative nature, emphasizing the
identification and mitigation of risks
throughout the project life cycle.
• A meta model.

28
Spiral Model (Cont…)
Aspect Description
Objectives Define project goals and constraints.
Identify Risks Continuously identify potential risks.
Evaluate risks based on impact and
Assess Risks
likelihood.
Develop strategies to address high-
Mitigation
priority risks.
Create prototypes for technical risk
Prototyping (Opt.)
validation.
Monitor and manage risks during
Development & Testing
development.
Continuously track risks and
Monitoring
mitigation measures.
Repeat the process in spiral cycles,
Iterations
adapting to evolving risks.
Closure Assessment Evaluate risks before project closure.

20XX 29
Spiral Model (Cont…)
Advantages Disadvantages
• Effective risk management and early risk • Requires experienced project managers
identification. and risk analysts.
• Flexibility to accommodate changes in • Can be time-consuming and may result in
requirements. extended project schedules.
• Gradual and incremental development of • Documentation and tracking of risks and
the software. iterations are essential.
• High-quality software through
continuous evaluation and refinement.

20XX Presentation title 30


Rapid Application Development (RAD) Model
• Prioritizes rapid prototyping and speedy
development of software applications.
• RAD aims to reduce the development time
and accommodate changes in requirements
more effectively.
Key features:
• Prototyping
• Iterative Development
• User Involvement
• Cross-Functional Teams
• Rapid Development Tools
• Reduced Documentation
• Parallel Development
• Flexibility and Adaptability
Presentation title 31
• Time-Boxed Development
RAD Model (Cont…)
Advantages Disadvantages
• Rapid delivery of software functionality. • May not be suitable for projects with
strict regulatory or compliance
• High levels of user involvement and
requirements.
satisfaction.
• The need for highly skilled and
• Effective for projects with changing or
experienced team members.
uncertain requirements.
• Risk of scope creep if not well-managed.
• Enhanced collaboration among team
members.

20XX Presentation title 32


Rapid Application
Development
Aspect Waterfall Model Agile Model Iterative Model Incremental Model Prototype Model Spiral Model (RAD)
Development Iterative and Iterative and
Sequential Iterative Iterative Iterative Iterative
Approach Incremental Incremental
Iterative phases with Iterative and
Phases Sequential phases: Flexible, may not Sequential phases: Phases organized in Prototyping phase,
risk Incremental
analysis and development with
- Requirements follow a strict - Requirements increments: iterative
management rapid prototyping

- Planning and risk


- Design order - Design - Requirements - Prototyping and development
analysis

- Implementation - Requirements - Implementation - Design - Evaluation - Engineering


- Testing - Design - Testing - Implementation - Feedback - Evaluation
- Deployment - Implementation - Deployment - Testing - Planning
- Maintenance - Testing - Maintenance - Deployment - Risk Analysis
Customer
Late in the process Active and ongoing Throughout Throughout Throughout Throughout Throughout
Involvement
Feedback and
Limited High High High High High High
Adaptability
Flexibility Low High High High High High High
Documentation Extensive Light Moderate Moderate Limited Moderate Moderate
Risk Management Limited Ongoing Ongoing Ongoing Ongoing Ongoing Ongoing

Changing or Evolving or Evolving or Evolving or Projects with Rapid 33


delivery with
Ideal Use Cases Well-defined
evolving changing changing changing significant risk user feedback
DevOps Model
• It's a set of practices and principles aimed at improving Aspect Description
collaboration and communication between software development - Collaboration: Cross-functional
(dev) and IT operations (ops) teams. teamwork. - Automation: Automating
repetitive tasks. - CI/CD: Continuous
Principles
integration and delivery. - Feedback:
Monitoring and user feedback. - IaC:
Infrastructure as code.

- Version Control - CI/CD Automation -


Infrastructure as Code - Configuration
Management - Containerization -
Practices
Orchestration - Monitoring and Logging -
Security Integration - Collaboration Tools -
Continuous Improvement

34
DevOps Model (Cont…)
Advantages Disadvantages
• Faster time to market. • Complexity in implementation.
• Improved collaboration and • Resource-intensive in terms of tools and training.
communication. • Requires a cultural shift in the organization.
• Higher software quality. • Raises security concerns that need to be addressed.
• Enhanced efficiency through automation. • Demands specific skills in automation and tooling.
• Real-time visibility and monitoring. • Risk of over-automation if not managed properly.
• Increased software reliability. • Resistance to change from traditional practices.
• Scalability to handle growth. • Dependency on specific DevOps tools.
• Flexibility to adapt to changes.

35
Extreme Programming (XP)

• Emphasizes a set of practices designed to


Key Practice Description
improve software quality and responsiveness to
changing customer requirements. Customer-Centric Emphasizes customer involvement and
collaboration throughout the
• It was created by Kent Beck in the late 1990s development process.
and is one of the most well-known agile Small Releases Advocates frequent, small software
methodologies. releases for rapid feedback and value
delivery.
• XP is particularly suitable for small to mid-
Iterative Uses short iterations with potentially
sized development teams working on projects Development shippable increments produced at the
with frequently changing requirements. end.

20XX Presentation title 36


Extreme Programming (XP) (Cont…)
• Simplicity - In XP, your focus is on getting the
most important work done first. This means
you’re looking for a simple project that you know
you can accomplish.
• Communication - XP relies on quick reactivity
and effective communication.
• Feedback - XP incorporates user stories and
feedback directly into the process.
• Courage - XP requires a certain amount of
courage. You’re always expected to give honest
updates on your progress, which can get pretty
vulnerable.
• Respect - Effective team communication and
collaboration require the ability to disagree
kindly, built on a foundation of respect, kindness,
and trust, even when being honest. 37
Lifecycle of XP
• Pull unfinished work from user stories
• You prioritize the most important items
• Begin iterative planning
• Incorporate honest planning
• Stay in constant communication with all stakeholders and empower the team
• Release work
• Receive feedback
• Return to the iterative planning stage and repeat as needed.

38
Extreme Programming model

Presentation title 39
Extreme Programming model
Advantages Disadvantages
• Rapid feedback • Learning curve
• Flexibility • Resource-intensive
• Customer satisfaction • Limited documentation
• High quality • Not ideal for all projects
• Team collaboration • Reliance on customer availability

20XX Presentation title 40


Scrum
• Scrum is a popular agile project management
framework.
• Lightweight, iterative and incremental framework.
• It provides a structured approach to planning,
executing, and delivering work in iterative cycles
called "sprints.“
• Scrum team has scrum master and product owner
with constant communication on the daily basis.
• This includes a daily check in meeting to gauge
process and brainstorm problems.
• Applicable to any project with aggressive deadlines
with complex requirements and a degree of
uniqueness.
• Keywords: backlog, Sprint, Daily Scrum, Scrum
Master, Product owner.
41
Scrum (Cont…)
Pre-game phase Development phase Post-game phase
• Planning includes definition of • System is developed in Sprints • Contains the closure of release
the system being developed. A which are iterative cycles where including tasks such as
product backlog list is created the functionality is developed or integration, system testing and
containing all the requirements enhanced to produce new documentation.
that are currently known. increments.
• In the architecture phase, the high • Each Sprint includes:
level design of the system Requirements, Analysis, Design,
including the architecture is Evolution and Delivery phases.
planned based on the current
items in the Product Backlog.

42
Scrum (Cont…)
• Sprint: A time-boxed development period
(typically 2-4 weeks) during which the
development team completes a set of
planned work.
• Sprint Planning: A meeting to select items
from the product backlog and commit to
delivering them in the upcoming sprint.
• Daily Scrum: A daily stand-up meeting
where team members discuss progress,
plans, and any impediments.
• Sprint Review: A meeting at the end of
each sprint to demonstrate the completed
work and gather feedback.
• Sprint Retrospective: A meeting after the
sprint review to reflect on the process and
identify areas for improvement.

43
Scrum (Cont…)
Advantages Disadvantages
• Adaptability: Scrum allows for changes in • Complexity: Scrum can be challenging to
project requirements even late in development. implement effectively, particularly in larger
• organizations.
Transparency: Stakeholders have a clear view of
project progress through regular sprint reviews. • Documentation: Scrum emphasizes working code
over comprehensive documentation, which may
• Frequent Deliveries: Incremental releases lead
not suit all projects.
to more frequent product deliveries.
• Team Dependency: The success of Scrum relies
• Customer Collaboration: Regular feedback
heavily on team collaboration and competence.
from the product owner and stakeholders keeps
the project aligned with user needs. • Change Management: Frequent changes can
disrupt the development process.
• Empowered Teams: Self-organizing
development teams have a sense of ownership • Limited Predictability: Due to its adaptive nature,
and responsibility. Scrum may not provide precise project timelines.
44

You might also like