1.
Introduction to Agile
Agile is a software development methodology that focuses on iterative development, customer
collaboration, flexibility, and continuous improvement. Agile development divides a project into
small parts called iterations or sprints, where working software is delivered frequently.
Agile was introduced to overcome the limitations of traditional software development models
like Waterfall.
Features of Agile
Incremental development
Customer collaboration
Continuous feedback
Fast delivery
Flexible requirements
Team collaboration
Agile Principles
Working software is the main priority
Welcome changing requirements
Frequent software delivery
Close collaboration between teams and customers
Advantages of Agile
Faster delivery
Better software quality
Improved customer satisfaction
Easy handling of requirement changes
Disadvantages
Requires experienced teams
Difficult cost estimation
Less documentation
Applications
Web application development
Mobile applications
DevOps projects
2. Agile vs Traditional Method Comparison
Traditional methods like Waterfall follow a sequential approach, whereas Agile follows an
iterative and flexible approach.
Difference Between Agile and Traditional Methods
Feature Agile Method Traditional Method
Development Agile uses iterative Traditional method uses sequential
development. development.
Requirements Agile allows changing Traditional method uses fixed
requirements. requirements.
Customer Agile involves customers Traditional method has limited customer
Involvement continuously. involvement.
Software Delivery Agile delivers software Traditional method delivers software at
frequently. the end.
Testing Agile performs continuous Traditional method performs testing after
testing. development.
Flexibility Agile is flexible and adaptive. Traditional method is rigid and fixed.
Documentation Agile uses simple Traditional method uses detailed
documentation. documentation.
Teamwork Agile encourages Traditional method follows hierarchical
collaboration. management.
Risk Handling Agile reduces risks through Traditional method identifies risks later.
feedback.
Delivery Speed Agile provides faster delivery. Traditional method takes more time.
Advantages of Agile over Traditional Methods
Faster feedback
Better adaptability
Reduced project risks
Continuous improvement
Advantages of Traditional Methods
Clear documentation
Easier management
Suitable for fixed requirements
Conclusion
Agile is suitable for dynamic projects, while traditional models are suitable for stable projects
with fixed requirements.
3. Process Tailoring
Process tailoring means modifying a software development process according to project
requirements, team size, complexity, and organizational needs.
Objectives of Process Tailoring
Improve efficiency
Reduce unnecessary activities
Adapt process to project needs
Factors Affecting Tailoring
Project size
Team experience
Technology used
Risk level
Customer requirements
Advantages
Flexible development process
Better resource utilization
Improved project management
Disadvantages
Incorrect tailoring may reduce quality
Requires experienced management
4. Software Process Models – Overview
Software Process Models define structured approaches for software development.
Common Software Process Models
1. Waterfall Model
2. Spiral Model
3. Incremental Model
4. Prototype Model
5. Agile Model
Purpose of Process Models
Organize development activities
Improve quality
Reduce project risks
Advantages
Structured development
Better project management
Improved documentation
Disadvantages
Some models lack flexibility
High maintenance cost
5. Scrum Methodology
Scrum is an Agile framework used for iterative and incremental software development.
It divides work into short cycles called sprints.
Scrum Roles
1. Product Owner
Manages product requirements.
2. Scrum Master
Ensures Scrum practices are followed.
3. Development Team
Develops the software product.
Scrum Process
Stages in Scrum Process
1. Product Backlog
Product backlog contains all project requirements and features.
Product Owner manages and prioritizes backlog items.
Backlog items include features, enhancements, and bug fixes.
2. Sprint Planning
Sprint planning selects backlog items for the next sprint.
Team members estimate effort and define sprint goals.
Sprint backlog is prepared during this stage.
3. Sprint
Sprint is a short development cycle lasting 2–4 weeks.
Developers design, code, and test the software during sprint.
Sprint delivers a working software increment.
4. Daily Scrum Meeting
Daily Scrum is a short meeting conducted every day.
Team members discuss progress, issues, and next tasks.
Daily Scrum improves communication and coordination.
5. Sprint Review
Sprint Review evaluates completed software functionality.
Stakeholders provide feedback on developed features.
Team demonstrates working software increment.
6. Sprint Retrospective
Sprint Retrospective analyzes sprint performance and improvements.
Team identifies strengths, weaknesses, and solutions.
Retrospective improves future sprint efficiency.
Scrum Workflow
Product Backlog → Sprint Planning → Sprint → Sprint Review → Sprint
Retrospective
Scrum Artifacts
Product Backlog
Sprint Backlog
Increment
Scrum Events
Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
Advantages
Faster delivery
Improved collaboration
Better adaptability
Disadvantages
Requires experienced teams
Difficult in large projects
6. Extreme Programming (XP)
Extreme Programming (XP) is an Agile methodology focusing on software quality and customer
satisfaction.
Features of XP
Pair programming
Continuous testing
Continuous integration
Frequent releases
XP Practices
Small releases
Refactoring
Coding standards
Test-driven development
Advantages
High software quality
Early bug detection
Better teamwork
Disadvantages
Requires continuous customer involvement
Difficult for large distributed teams
7. Lean Methodology
Lean software development focuses on eliminating waste and improving efficiency.
Principles of Lean
Eliminate waste
Deliver fast
Build quality
Respect people
Continuous improvement
Advantages
Reduced cost
Improved productivity
Faster delivery
Disadvantages
Requires disciplined teams
Difficult implementation initially
8. Kanban Methodology
Kanban is an Agile method used to visualize workflow and improve efficiency.
Features of Kanban
Visual task boards
Continuous delivery
Work-in-progress limits
Workflow optimization
Kanban Workflow
Stages in Kanban Workflow
1. To Do
This stage contains tasks that are planned but not yet started.
Team members select tasks from this stage for development.
It represents pending work items in the project.
2. In Progress
This stage contains tasks currently being developed.
Developers work on coding, testing, or implementation activities.
Work-in-progress limits help avoid overloading team members.
3. Testing
Completed development tasks move to testing stage.
Testers verify functionality and identify defects.
Bugs are fixed before final deployment.
4. Done
Successfully completed and tested tasks move to Done stage.
This stage represents finished work items.
Completed tasks are ready for delivery or deployment.
Advantages
Better workflow visibility
Improved productivity
Flexible task management
Disadvantages
No fixed timelines
Difficult long-term planning
9. Agile Manifesto
The Agile Manifesto was introduced in 2001 by Agile software developers.
Four Values of Agile Manifesto
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
Importance
Promotes flexibility
Encourages teamwork
Focuses on customer satisfaction
10. Product Inception
Product inception is the initial stage of Agile development where project goals and requirements
are identified.
Activities in Product Inception
Define product vision
Identify stakeholders
Gather requirements
Create initial backlog
Advantages
Clear project understanding
Better planning
Reduced risks
11. Agile Requirements
Agile requirements are lightweight and flexible requirements used in Agile development.
Features
User-focused
Easily changeable
Simple documentation
Types
User stories
Personas
Story maps
12. User Personas
User personas are fictional representations of end users.
Purpose
Understand user needs
Improve product design
Focus on customer requirements
Components
Name
Goals
Behavior
Problems
Advantages
Better user understanding
Improved user experience
13. Story Mapping
Story mapping is a visual technique used to organize user stories according to workflow and
priorities.
Advantages
Better requirement visualization
Improved planning
Easier prioritization
14. User Stories
User stories are short descriptions of software features from user perspective.
Format
As a <user>, I want <feature> so that <benefit>
Example
As a customer, I want online payment so that I can purchase products easily.
Advantages
Simple requirement representation
Improved communication
15. 3Cs in User Stories
The 3Cs represent:
1. Card
2. Conversation
3. Confirmation
Explanation
Card
Short written requirement.
Conversation
Discussion between stakeholders.
Confirmation
Acceptance criteria for validation.
16. INVEST Criteria
INVEST is used to evaluate quality of user stories.
INVEST Meaning
Letter Meaning
Letter Meaning
I Independent
N Negotiable
V Valuable
E Estimable
S Small
T Testable
Advantages
Better story quality
Easier implementation
17. Acceptance Criteria
Acceptance criteria define conditions that software must satisfy to be accepted.
Purpose
Validate requirements
Ensure correct implementation
Advantages
Clear expectations
Better testing
18. Sprints
A sprint is a short development cycle in Scrum, usually lasting 2–4 weeks.
Sprint Activities
Planning
Development
Testing
Review
Advantages
Faster delivery
Frequent feedback
19. Product Backlog
Product backlog is a prioritized list of product requirements.
Managed By
Product Owner
Contents
Features
Bug fixes
Enhancements
Advantages
Better requirement management
Prioritization support
20. Backlog Grooming
Backlog grooming is the process of reviewing and updating backlog items regularly.
Activities
Prioritization
Requirement clarification
Removing outdated items
Advantages
Better sprint planning
Improved backlog quality
21. JIRA – Agile Tracking Tool
Jira
JIRA is a popular Agile project management and issue tracking tool developed by Atlassian.
Features of JIRA
Sprint planning
Task tracking
Kanban boards
Scrum boards
Reporting tools
Advantages
Easy project management
Improved collaboration
Real-time tracking
22. SAFe (Scaled Agile Framework)
Scaled Agile Framework
SAFe is a framework used to scale Agile practices across large organizations.
Features
Supports large teams
Aligns business and development
Provides structured scaling
Advantages
Better coordination
Enterprise-level Agile adoption
23. Scrum@Scale
Scrum@Scale
Scrum@Scale extends Scrum practices for large organizations.
Features
Multiple Scrum teams
Coordinated workflows
Scalable Agile practices
Advantages
Better collaboration
Faster enterprise delivery
24. Disciplined Agile
Disciplined Agile
Disciplined Agile is a process decision framework that combines Agile, Lean, and DevOps
practices.
Features
Flexible approach
Supports multiple methodologies
Enterprise-focused
Advantages
Better decision-making
Improved adaptability