COURSE CODE : 22IT101
COURSE TITLE : APPLICATION DEVELOPMENT PRACTICES
FACULTY NAME :
Ms.P.Alaguvathana
MODULE 01
22IT101-ADP
MODULE 1
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Agile Software Development – Definition
• Agile development is an iterative and flexible approach
to software development.
• It involves continuous planning, testing, integration, and
delivery of software.
• Emphasis is placed on customer collaboration and quick
delivery of small, functional components.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Agile Development Model
• Agile divides development into small, manageable units
called sprints, usually 1-4 weeks long.
• Each sprint focuses on developing a small set of
features, enabling frequent feedback and adjustments.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Graphical Illustration of Agile Development Model
The Agile development cycle involves iterative sprints, each
followed by a review, where the product is improved based
on feedback.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Why use Agile?
1. Agile allows for frequent feedback from customers,
ensuring that the product is aligned with customer needs.
2. Flexibility in changing requirements.
3. Continuous integration and testing ensure quicker
detection of bugs.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Agile Manifesto and Principles
1. Individuals and interactions over processes
and tools.
2. Working software over comprehensive
documentation.
3. Customer collaboration over contract
negotiation.
4. Responding to change over following a plan.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
12 Principles of Agile Methods
1. Customer satisfaction through early and continuous software delivery.
2. Welcome changing requirements, even late in development.
3. Deliver working software frequently, with a preference for shorter timescales.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust
them to get the job done.
6. The most efficient and effective method of conveying information is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity—the art of maximizing the amount of work not done—is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective and adjusts its behavior
accordingly.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
12 Principles of Agile Methods
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Agile Values
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
What is NOT Agile Software Development?
1. Agile is not chaotic or unstructured.
2. Agile does not eliminate planning; it minimizes excessive
planning by using iterative cycles.
3. Agile is not just a set of practices, it is a mindset of
flexibility and collaboration.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Foundation of Agile Software Development Method
Agile is based on:
1. Iterative development cycles.
2. Regular customer feedback.
3. Continuous improvement.
It promotes collaboration and adaptability in the face of
changing project requirements.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Common Characteristics of Agile Methods
1. Iterative progress through sprints.
2. Collaboration between cross-functional teams.
3. Emphasis on working software and customer feedback.
4. Flexibility to accommodate changes at any point during
the project.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Agile Methods and Practices
Popular Agile practices include:
- Scrum: Involves short, time-boxed sprints.
- Kanban: Focuses on continuous delivery and managing
workflow.
- Extreme Programming (XP): Emphasizes technical
excellence and continuous feedback.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
When to Use Agile Model?
1. Projects where requirements are uncertain or expected
to evolve over time.
2. Complex projects requiring collaboration among teams.
3. Projects requiring frequent delivery of small components.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Advantages of Agile Model
1. Flexibility in responding to changing requirements.
2. Faster delivery of functional software.
3. Continuous customer feedback and collaboration.
4. Early detection and resolution of defects.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Disadvantages of Agile Model
1. Can lead to scope creep if changes are not managed
well.
2. Requires active involvement from the customer.
3. Teams need to be highly skilled and well-organized for
successful implementation.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Difference between Agile and Waterfall Model
Agile:
• - Iterative and incremental.
• - Flexible and adaptive to changes.
• - Involves customer collaboration throughout the project.
Waterfall:
• - Linear and sequential.
• - Rigid, with no scope for changes once the project starts.
• - Focused on documentation and phase completion.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Agile – Myths and Reality
Myths:
- Agile means no planning.
- Agile eliminates documentation.
Reality:
- Agile requires adaptive planning and relies on minimal but
necessary documentation.
Discipline is essential for Agile to work effectively.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT
MODULE 01
22IT101-ADP
Agile Market Insight
• Agile has seen widespread adoption in industries such as
IT, finance, and healthcare.
• Agile practices have been proven to increase project
success rates, reduce project failures, and enhance
customer satisfaction.
• According to surveys, over 70% of companies use Agile
methodologies in some form.
SESSION 2 – AGILE SOFTWARE DEVELOPMENT