Class 11 | Web Application Life Cycle Models | WMA Notes

Application Development Life Cycle (ADLC) – Complete Notes

The Application Development Life Cycle (ADLC), also known as the Software Development Life Cycle (SDLC), is a structured process used to plan, design, develop, test, release, and maintain software applications.

It provides development teams with an organized method for building applications according to user requirements while identifying technical and project risks before they become serious problems.

A typical application development life cycle consists of six major phases:

  1. Discovery
  2. Design
  3. Development
  4. Quality Assurance and Testing
  5. Release
  6. Maintenance

Different development methodologies such as Waterfall, Agile, V-Shaped, Iterative, Spiral, and DevOps can be used to manage these phases.

What is Application Development Life Cycle?

The Application Development Life Cycle is the complete process followed while building a software application.

It begins with identifying user requirements and continues through:

  • Planning
  • Designing
  • Coding
  • Testing
  • Deployment
  • Maintenance

The objective is to create software that meets user needs, works reliably, and can be maintained and improved after release.

Importance of Application Development Life Cycle

Following a proper development life cycle helps development teams manage software projects systematically.

Major benefits include:

  • Better project planning
  • Clear development requirements
  • Improved software quality
  • Better teamwork
  • Reduced development risks
  • Early detection of errors
  • Better time management
  • Easier maintenance
  • Improved customer satisfaction

Every team member, including product managers, designers, developers, testers, and operations teams, contributes to the success of the development lifecycle.

Six Phases of Application Development Life Cycle

1. Discovery Phase

The Discovery Phase is the first stage of application development.

During this stage, the team determines what needs to be developed.

The main activities include:

  • Gathering user requirements
  • Understanding user problems
  • Collecting stakeholder feedback
  • Identifying application weaknesses
  • Defining project objectives
  • Preparing an action plan

Product managers often play an important role during this phase because they communicate with users and stakeholders.

Main Purpose

The main purpose of the discovery phase is to answer:

What should we build and why?

If requirements are not clearly identified at this stage, later development phases may become difficult.

2. Design Phase

The Design Phase converts requirements into possible software solutions.

UX and UI designers usually play an important role during this stage.

Designers may prepare:

  • Wireframes
  • Mockups
  • User interface designs
  • Application layouts
  • Navigation structures
  • Prototypes
  • System blueprints

The design phase allows the team to visualize the application before development begins.

It can also help identify usability or technical problems early.

Main Purpose

The main purpose of the design phase is to answer:

How should the application look and work?

3. Development Phase

The Development Phase is the stage where programmers write the actual application code.

Software developers convert the requirements and designs into a working system.

Development activities may include:

  • Front-end development
  • Back-end development
  • Database development
  • API development
  • Application logic
  • Integration
  • Configuration

The development team may also be organized according to the architecture of the application.

For example:

  • Monolithic architecture
  • Microservices architecture

Main Purpose

The main purpose of development is to transform the design and requirements into functional software.

4. Quality Assurance and Testing Phase

After development, the application must be tested.

This stage is known as the Quality Assurance or QA Phase.

Testing helps determine whether the application works correctly and satisfies the required standards.

The testing environment is often designed to resemble the actual production environment.

Testing may be:

  • Manual
  • Automated
  • Functional
  • Integration-based
  • Security-focused
  • Performance-based

QA professionals and security engineers may identify:

  • Software bugs
  • Security vulnerabilities
  • Compatibility problems
  • Functional errors
  • Compliance issues

Problems are reported to developers so they can be corrected.

Bug Prioritization

When many problems are found, teams may classify them according to severity.

For example:

  • Critical
  • High
  • Medium
  • Low

Critical problems normally receive the highest priority.

Main Purpose

The purpose of QA is to determine whether the application is reliable enough to be released to users.

5. Release Phase

Once testing has been completed successfully, the application enters the Release Phase.

During this stage, the software is made available to users.

Release activities may include:

  • Updating the application version
  • Deploying the application
  • Publishing updates
  • Informing users
  • Migrating production data
  • Monitoring deployment

The release phase moves the application from the development environment into actual use.

6. Maintenance Phase

Application development does not end after release.

Software must continue to be monitored and maintained.

The maintenance phase may include:

  • Fixing bugs
  • Addressing security vulnerabilities
  • Improving performance
  • Adding compatibility updates
  • Updating features
  • Improving existing functionality

Maintenance helps keep software reliable and useful over time.

Application Development Life Cycle Flow

The basic development process can be represented as:

Discovery → Design → Development → Testing → Release → Maintenance

However, the exact flow depends on the development methodology being used.

Application Development Models

Different organizations use different development models depending on project requirements.

Six important application development models include:

  1. Waterfall Model
  2. Agile Model
  3. V-Shaped Model
  4. Iterative Model
  5. Spiral Model
  6. DevOps Model

1. Waterfall Model

The Waterfall Model is one of the oldest and simplest software development approaches.

Development phases are completed sequentially.

A phase is generally completed before the next phase begins.

The typical flow is:

Requirements → Design → Development → Testing → Deployment → Maintenance

Advantages of Waterfall Model

  • Easy to understand
  • Clearly defined stages
  • Simple project management
  • Suitable when requirements are stable
  • Documentation can be organized easily

Disadvantages of Waterfall Model

  • Difficult to introduce major changes later
  • Testing occurs relatively late
  • Errors discovered late may be expensive to fix
  • Not ideal for rapidly changing requirements

Best Used When

The Waterfall Model is suitable when project requirements are clear and unlikely to change.

2. Agile Model

The Agile Model is an iterative and flexible approach to software development.

Instead of developing the entire product at once, development is divided into smaller stages or iterations.

Teams continuously:

  • Develop
  • Test
  • Collect feedback
  • Improve the application

Several development phases may overlap.

Advantages of Agile Model

  • Flexible
  • Supports changing requirements
  • Frequent customer feedback
  • Continuous testing
  • Problems can be found earlier
  • Software can be delivered in smaller stages

Disadvantages of Agile Model

  • Requires strong communication
  • Requires good team coordination
  • Requirements may change frequently
  • Scope can become difficult to control

Scope Creep

Scope creep occurs when continuous changes cause the project to grow beyond its original objectives.

Proper planning is necessary to prevent this problem.

3. V-Shaped Model

The V-Shaped Model is similar to the Waterfall Model but places greater emphasis on testing.

Each development phase has a related testing activity.

Testing is therefore considered throughout the lifecycle instead of only after development.

Advantages

  • Testing is planned early
  • Errors may be reduced
  • Clear development and testing stages

Disadvantages

  • Very rigid
  • Difficult to change completed requirements
  • Testing can require additional time and resources

4. Iterative Model

In the Iterative Model, developers create an initial version of the software and improve it through multiple iterations.

Instead of waiting until every requirement is finalized, developers may begin with basic requirements.

Each version introduces improvements.

Example:

Version 1 → Feedback → Version 2 → Feedback → Version 3

Advantages

  • Suitable for large projects
  • Allows gradual improvements
  • Supports changing requirements
  • Easier to test smaller releases

Disadvantages

  • Design may change frequently
  • May require more planning
  • Can become expensive for small projects
  • Incomplete requirements may lead to repeated changes

5. Spiral Model

The Spiral Model places strong emphasis on risk analysis.

Development moves through repeated cycles or spirals.

Important activities include:

  • Risk identification
  • Risk analysis
  • Prototyping
  • Development
  • Testing
  • Evaluation

Advantages

  • Helps identify risks early
  • Supports continuous feedback
  • Testing occurs throughout development
  • Suitable for complex projects

Disadvantages

  • Risk analysis requires expertise
  • Can become expensive
  • May be too complex for small projects

6. DevOps Model

DevOps combines:

Development (Dev) + Operations (Ops)

It encourages development and IT operations teams to work together throughout the software lifecycle.

DevOps often emphasizes:

  • Automation
  • Continuous integration
  • Continuous delivery
  • Testing
  • Monitoring
  • Collaboration

The goal is to improve both software delivery speed and product quality.

Advantages of DevOps

  • Better development and operations collaboration
  • Faster software delivery
  • More automation
  • Fewer manual processes
  • Improved deployment efficiency
  • Faster identification of problems

Disadvantages of DevOps

  • Can be difficult to introduce in large organizations
  • Requires technical infrastructure
  • Requires new tools
  • May require organizational and cultural changes

Comparison of Development Models

ModelMain CharacteristicSuitable For
WaterfallSequential developmentStable requirements
AgileFlexible and iterativeFrequently changing projects
V-ShapedDevelopment with related testing stagesProjects requiring strict testing
IterativeProduct improved through versionsLarge evolving projects
SpiralRisk-focused developmentComplex, high-risk projects
DevOpsDevelopment and operations integrationContinuous software delivery

Waterfall vs Agile

Waterfall and Agile are two widely used development approaches.

Waterfall

Waterfall follows a sequential structure.

Once one stage is completed, the team moves to the next stage.

Agile

Agile allows development stages to overlap and supports continuous changes and feedback.

WaterfallAgile
SequentialIterative
Less flexibleHighly flexible
Requirements defined earlyRequirements can evolve
Testing usually comes laterContinuous testing
Customer involvement may be limitedFrequent customer feedback
Suitable for stable projectsSuitable for changing projects

Role of Product Manager

The product manager plays an important role in defining what the application should achieve.

Typical responsibilities include:

  • Gathering stakeholder requirements
  • Understanding user problems
  • Defining product objectives
  • Prioritizing features
  • Coordinating development activities

Product managers are particularly important during the discovery stage.

Role of UX/UI Designers

UX/UI designers focus on the usability and visual structure of the application.

Their work may include:

  • User experience design
  • Interface design
  • Wireframes
  • Mockups
  • Prototypes
  • Navigation structures

Their goal is to make the application easy and effective for users.

Role of Software Developers

Developers create the actual application.

Their responsibilities may include:

  • Programming
  • Database development
  • API development
  • Implementing designs
  • Fixing bugs
  • Integrating software components

Developers play the major role during the development phase.

Role of QA Engineers

Quality Assurance engineers test applications before release.

Their responsibilities include:

  • Finding bugs
  • Testing functionality
  • Checking system behavior
  • Reporting problems
  • Verifying bug fixes
  • Ensuring software quality

They may use both manual and automated testing.

Role of Security Engineers

Security engineers focus on identifying vulnerabilities and security problems.

They may check:

  • Authentication
  • Authorization
  • Data protection
  • Application vulnerabilities
  • Security compliance

Security testing is especially important for applications containing sensitive information.

AI Software Development Life Cycle

The development lifecycle of Artificial Intelligence applications has similarities with traditional software development but introduces additional requirements.

AI development requires special attention to:

  • Data
  • Model selection
  • Training
  • Accuracy
  • Bias
  • Model monitoring
  • Model drift

Discovery Phase in AI Development

The development team:

  • Defines the problem
  • Identifies objectives
  • Determines data requirements
  • Collects relevant datasets

Design Phase

During AI system design, developers may:

  • Clean data
  • Prepare data
  • Perform feature engineering
  • Select suitable AI models

Development Phase

Developers:

  • Write code
  • Train models
  • Tune algorithms
  • Improve prediction accuracy

Quality Assurance Phase

AI systems must be tested for:

  • Reliability
  • Accuracy
  • Robustness
  • Model behavior

Release Phase

The trained AI model is integrated into the application and released.

Maintenance Phase

AI systems require continuous monitoring.

Developers may need to address:

  • New data
  • Reduced model accuracy
  • Bias
  • Model drift
  • Performance problems

Unlike many traditional applications, AI systems often require repeated updates because data and model behavior change over time.

Why Maintenance is Important

Software users may discover new problems after release.

Technology can also change.

Maintenance ensures that an application continues working correctly.

Maintenance may include:

  • Bug fixes
  • Security patches
  • Performance improvements
  • Operating system compatibility
  • Browser compatibility
  • Database updates
  • Feature improvements

Important Points to Remember

  • ADLC means Application Development Life Cycle.
  • SDLC means Software Development Life Cycle.
  • ADLC provides a systematic process for developing software.
  • Discovery identifies requirements.
  • Design creates possible software solutions.
  • Development involves coding.
  • QA identifies errors and security problems.
  • Release delivers software to users.
  • Maintenance continues after release.
  • Waterfall is sequential.
  • Agile is flexible and iterative.
  • V-Shaped development emphasizes related testing stages.
  • Iterative development improves software through repeated versions.
  • Spiral development emphasizes risk analysis.
  • DevOps combines development and operations.
  • AI software requires continuous model and data monitoring.

Important Questions

Students should prepare questions such as:

  1. What is Application Development Life Cycle?
  2. What is SDLC?
  3. Explain the importance of ADLC.
  4. Name the six phases of Application Development Life Cycle.
  5. Explain the Discovery Phase.
  6. Explain the Design Phase.
  7. What happens during the Development Phase?
  8. What is Quality Assurance?
  9. Explain the Release Phase.
  10. Why is software maintenance necessary?
  11. Explain the Waterfall Model.
  12. Write the advantages and disadvantages of the Waterfall Model.
  13. Explain the Agile Model.
  14. Write the advantages and disadvantages of Agile.
  15. Differentiate between Waterfall and Agile.
  16. Explain the V-Shaped Model.
  17. What is the Iterative Model?
  18. Explain the Spiral Model.
  19. What is DevOps?
  20. Write the advantages of DevOps.
  21. What is scope creep?
  22. What is software testing?
  23. Explain the role of UX/UI designers.
  24. Explain the role of developers.
  25. Explain the AI Software Development Life Cycle.

Frequently Asked Questions

What is the Application Development Life Cycle?

The Application Development Life Cycle is the structured process used to design, develop, test, release, and maintain a software application.

What are the six phases of ADLC?

The six major phases are:

  1. Discovery
  2. Design
  3. Development
  4. Quality Assurance
  5. Release
  6. Maintenance

What is SDLC?

SDLC stands for Software Development Life Cycle. It provides a structured approach for developing and maintaining software.

Is SDLC the same as Waterfall?

No. SDLC describes the overall software development lifecycle. Waterfall is one methodology that can be used to manage that lifecycle.

Other approaches include:

  • Agile
  • Spiral
  • Iterative
  • V-Shaped
  • DevOps

What is the difference between Agile and Waterfall?

Waterfall follows sequential stages, whereas Agile develops software through smaller, repeated iterations and supports continuous feedback and changing requirements.

Why is testing important?

Testing helps find functional errors, security problems, compatibility issues, and other bugs before software reaches users.

What is DevOps?

DevOps is a development approach that encourages software development and IT operations teams to work together while using automation to improve software delivery.

What is maintenance?

Maintenance is the process of fixing problems, improving software, addressing vulnerabilities, and updating an application after release.

Final Words

The Application Development Life Cycle provides a systematic framework for building reliable software.

The six major stages — Discovery, Design, Development, Quality Assurance, Release, and Maintenance — help teams move from an initial idea to a working application.

Organizations may implement these stages using methodologies such as Waterfall, Agile, V-Shaped, Iterative, Spiral, or DevOps.

Understanding these phases and models is important for students learning software development, system analysis, application design, and project management.

Discussion

Share a helpful question, idea, or explanation with other students.

Leave a Comment

Write a clear question, answer, or helpful explanation.
Your email will not be published.

Download Our Offline App

Study class-wise notes even when internet is not available. Get the app from Play Store.

Nepal eNotes offline app preview
Get it on Google Play