0% found this document useful (0 votes)
5 views

Exploring Emerging Trends and Methodologies in Software Development

The document explores various software development methodologies, including sequential approaches like Waterfall and Agile frameworks such as Scrum and Kanban. It highlights the importance of choosing the right methodology based on project requirements, risks, and the need for flexibility in adapting to changes. Key statistics indicate that a significant percentage of projects fail due to poor requirements definition, emphasizing the need for effective methodologies in software development.
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)
5 views

Exploring Emerging Trends and Methodologies in Software Development

The document explores various software development methodologies, including sequential approaches like Waterfall and Agile frameworks such as Scrum and Kanban. It highlights the importance of choosing the right methodology based on project requirements, risks, and the need for flexibility in adapting to changes. Key statistics indicate that a significant percentage of projects fail due to poor requirements definition, emphasizing the need for effective methodologies in software development.
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/ 22

Exploring

Emerging Trends
and
Methodologies in
Software
Development
Outline

• Software Dev intro

• Software Dev Methodologies: Sequential

• Software Dev Methodologies: Agile

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

Product owner, Solution architect,


Front-end User,
project manager, System architect, QA architect, Data administrator,
developer, Back- Tester,
business analyst, UI UX designer Tester, DevOps
end developer Support manager
CTO DevOps

- Elicit - System - Adaptive


requirements architecture - Test planning - Preparation maintenance
- Coding
- Validation - Database design - Functional testing - Migration - Perfective
- Integration
- UI UX design - Usability testing - Installation maintenance
- Security design - User support

22% of software The design phase testing


projects fail due to usually takes up consumes
poorly defined 30% of project time 25% of project
requirements. time.
48% of software defects 90% of software dev teams use
stem from errors in the functional testing as their
requirement analysis primary testing technique
phase.
05/02/2025 3
Software Dev
Methodologies
A software development methodology is a framework used to structure, plan, and
manage the software development process. Its goal is to ensure the delivery of
software in accordance with project specifications, within time and budget, and with
minimized project risks.

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

Design Testing Maintenance

• 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.

A, B, and C are modules of software products that are incrementally developed


and
0 5 delivered
/02/2025 11
68% of companies have adopted some form of agile
methodology in their development processes.

Adopting agile methodologies significantly improves


project uncertainty management for 74% of

Agile methodologies developers.

• 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

• An iterative and incremental


methodology.
• the software development process
starts with brief planning for fixed-
length iterations, known as sprints.
• Each sprint typically lasts 2 to 4 weeks.
• At the end of each sprint, the project
team reviews achievements and plans
tasks for the next sprint.
• Scrum project management is most
effective for teams consisting of up to
14 people.

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?

In any case, the project cannot move forward without clearly


identifying what it will take to provide customer satisfaction. You’ll
need to identify the end goal (value) customers are hoping to find
with the product or service.

Visually maps each of the steps and


processes.
By establishing a pull system, Once wasteful steps are found, the team finds
you create products and ways to eliminate those steps or reduce them
services as needed as opposed as much as possible.
to creating them in advance
Getting rid of waste ensures client doesn’t
unnecessarily spend money on steps and
Once the waste is eliminated from the
processes that don’t add value.
value stream, the next step is ensuring the
remaining processes work as effectively
and efficiently as possible, which means no
delays, disruptions, or bottlenecks.
05/02/2025 16
DevOps
Agile Practice

• DevOps is a set of practices that fosters collaboration


between the development and operations teams to
streamline the software delivery process.
• DevOps bridges the gap between these siloed teams. It
also creates a culture of shared responsibility where both
the development and operations teams align their
priorities and activities with the client’s requirements and
expectations.

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.

Recap Software Dev methodologies


Category Methodology Suitable for

Sequential Waterfall • Projects with well-defined, unchanging requirements and objectives


• Projects where timeline and budget control is critical
Sequential V-model • Projects that can use Waterfall but demand higher levels of quality and reliability

Sequential RAD • Projects where requirements can be identified upfront


• Systems that can be modularized
Sequential Spiral • Complex and large projects characterized by uncertainty or changing requirements
• Projects where risk management is critical
Sequential Incremental • Projects with a lengthy development schedule that focus on bringing value as early as
possible
• The product needs to enter the market quickly
• When the system allows for easy modularity
Agile Lean development • (Minimum Viable Product) MVP development
• Projects with tight budgets and timeframes
Agile DevOps • Projects with frequent product releases and high scalability requirements like SaaS

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.

•Dept. Teknik Informatika ITS

•Email: [email protected]

05/02/2025 22

You might also like