Exploring Emerging Trends and Methodologies in Software Development
Exploring Emerging Trends and Methodologies in Software Development
Emerging Trends
and
Methodologies in
Software
Development
Outline
05/02/2025 2
Software Dev intro: SDLC Only 60% of projects adhere
thoroughly to SDLC phases,
which potentially leads to
inefficiencies.
Implementati
Analysis Design Testing Deployment Maintenance
on
05/02/2025 4
Software Dev Methodologies
SEQUENTIAL AGILE
• sequential methodologies provide a predictable and • Agile has been gaining traction because of its
structured approach with thorough preliminary planning responsiveness to constant change and continuous delivery
in contexts where the risks and costs associated with of value to customers
uncertainty and rework are unacceptable, or an iterative • Types:
roll-out is impossible or impractical due to the • Scrum
dependencies on physical infrastructure. • Kanban
• Types: • Scrumban
• Waterfall • Scrum of Scrums (SoS)
• V-model • Large Scale Scrum (LeSS)
• RAD • Popular Agile practices
• Spiral • Lean development
• Incremental • DevOps
• Extreme Programming (XP)
05/02/2025 5
Sequential methodologies Analysis
Implementati
on Deployment
• A straightforward, easy-to-understand workflow simplifies project • Extensive requirements gathering leads to a prolonged
management discovery phase
• The sequential model facilitates project stages tracking for project
sponsors
• Business stakeholders are mainly involved at the beginning
of the project, which can result in lower end-user satisfaction
• Stable project requirements allow developers to better focus on the
with the finished software after the launch
project’s goals and allocate their efforts more efficiently
• Clear project scope and predictable timeline, cost, and deliverables • The inflexible step-by-step process contributes to lengthy
as a result of thorough planning and early definition of requirements project duration
• Detailed documentation makes tracking the project’s progress
• Addressing evolving requirements is challenging since it
easier and simplifies software maintenance and further
modernization entails going back to the initial stage of development and
re-elaborating requirements
05/02/2025 6
Waterfall
Sequential methodology
• It follows a linear workflow, progressing from top to
bottom through several stages that focus on distinct goals.
• Once the development process starts, no extensions or
alterations to the project scope are allowed, so all
requirements must be elicited during the planning stage.
• Developers must complete each stage before moving to
the next one, meaning the software is implemented as the
finished product at the end of the project.
05/02/2025 7
V-model
Sequential methodology
• is an extension of the Waterfall
methodology that emphasizes testing in
parallel with the development process.
• Each subsequent development phase can
only start after testing for the previous
stage, thus reducing the probability of
defects and errors in the final product and
ensuring high software quality.
• However, the focus on the testing
activities can make the development
time-consuming and costly.
05/02/2025 8
Rapid application development
Sequential methodology
• RAD promotes short development cycles and rapid
delivery of functional software.
• This model focuses on iterative app development,
where the project is broken down into smaller
modules developed in parallel by different teams.
• The RAD model implies gathering requirements
through focus groups, prototyping and early user
testing to get customer feedback and
accommodate possible requirement changes
before the development starts.
• It also emphasizes reusing software components
across the system, adhering to strict upfront
dependencies planning and precise project
scheduling and coordinating, extensive
requirements elaboration and software design
efforts, as well as a team of highly experienced
analysts and architects.
05/02/2025 9
Spiral
Sequential methodology
• The spiral model combines elements of sequential and
iterative approaches, which makes modifying requirements
easier than in the classic Waterfall model.
• The development team works on the four software
development stages in cycles, or spirals, and improves the
product each time.
• Each cycle can take up to several months and:
• starts with identifying project goals and planning,
• followed by risk analysis and management, which
reduces the likelihood of errors and issues.
• Then, programmers build software based on the
requirements gathered during the previous iteration.
• The software is evaluated at the end of each cycle to
ascertain its alignment with the defined requirements.
• The project stakeholders then decide whether to
proceed to the next iteration or complete the project
• Thus, predicting the number of iterations required to finish
the project with the spiral model can be challenging, which
leads to uncertainty in the project timeline and cost.
05/02/2025 10
Incremental
Sequential methodology
• The incremental model breaks the development process into
smaller, stand-alone parts, called increments.
• Each iteration can last up to several months, during which the
team builds a particular feature set – a portion of the
complete system’s functionality.
• End-users get access to a fully functional software subset
with the implementation of the first increment while the
development of further increments continues until the entire
product is completed.
• With incremental development, potential issues can be
detected early in the development process, minimizing the
probability of costly errors at later stages.
• This model requires careful and strict increment planning to
make it consistent and valuable to the end-users.
• Short iterations enable the team to release software • With frequently changing requirements and many small
frequently, quickly delivering value to business users sprints, assessing the project’s overall deadline can be
challenging
• If the project requirements change, the team can
quickly adapt and deliver software in line with the new
• Requires high level of discipline and engagement to avoid
extensive communication overheads
needs within a few iterations
• Limited documentation can pose challenges to knowledge
• Effective communication between the development
sharing or regulatory compliance
team and business stakeholders ensures better
alignment of the product with the business users’
expectations
05/02/2025 12
Scrum
Agile Framework
05/02/2025 13
Kanban
Agile Framework • Kanban is a visual system that helps
teams manage their work and
improve their processes.
• It involves using a board with
columns to represent different stages
of the development process, and
cards or sticky notes to represent
work items
• Kanban ensures complete project
transparency, easy-to-understand
workflows, and optimal workload for
each developer by visualizing
activities on a virtual board.
05/02/2025 14
Lean development • Lean prioritizes the elimination of waste to improve
efficiency. This helps teams continually improve their
Agile Practice processes while emphasizing the tasks that bring the most
value to customers.
• The meaning of MVP in software development stands for
Minimum Viable Product.
• It refers to a development approach where a product
is built with the minimum features necessary to
satisfy the early adopters or users and gather
valuable feedback for further development.
• The primary goal of an MVP is to validate the core
concept of the product while minimising the time,
resources, and costs involved in its development.
• By launching an MVP, developers can test the
product idea in the market, identify its strengths and
weaknesses, and make improvements based on user
feedback before investing in developing a full-fledged
product.
05/02/2025 15
Value is what the customer needs and wants from a specific
project or product.
Lean development Consider from the customers’ point of view: What are their
expectations? What are they willing to pay for? How do they want
their needs met?
05/02/2025 17
Extreme programming
• XP comprises a set of software engineering practices aimed at
Agile Practice producing higher quality software quickly and adapting to
the customer’s changing requirements.
• XP follows a set of values, including simplicity, communication,
consistent feedback from end-users for setting project priorities and
ensuring user-centricity, and respect for the project team and their
work.
• This methodology provides specific programming recommendations
for the development team. For example, best practices include:
• writing and reviewing the code in pairs to capture mistakes as
they occur,
• creating tests before coding and accepting the code only upon
passing the tests,
• releasing software frequently in small increments to gather
feedback, detecting bugs early, and monitoring how the
software works in production.
• XP practices can be labor-intensive as they require much effort from
developers and their involvement in frequent meetings, test-driven
approach, and pair programming.
05/02/2025 18
The diversity in methodologies allows companies
to choose the one that better aligns with their
specific needs and project requirements.
Agile Extreme • Complex projects with fixed deadlines and unstable or unclear requirements
programming
05/02/2025 19
Discussion
05/02/2025 20
Ref
• Roadmap.sh
• https://learn.g2.com/software-development-statistics#software-development-met
hodology-statistics
• https://imaginecup.microsoft.com/en-us/winners#2024
05/02/2025 21
Terima kasih
•Adhatus Solichah A.
•Email: [email protected]
05/02/2025 22