0% found this document useful (0 votes)
34 views66 pages

Agile Software Development Overview

The document outlines Agile Software Development methodologies, emphasizing adaptability, team collaboration, and customer satisfaction. It introduces the Theory of Constraints (TOC) as a framework for identifying and addressing bottlenecks in Agile development, promoting continuous improvement and efficient project completion. Additionally, it discusses Just-in-Time inventory management and Total Quality Management principles, highlighting their benefits and challenges in enhancing organizational performance.

Uploaded by

thanujasoma2004
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views66 pages

Agile Software Development Overview

The document outlines Agile Software Development methodologies, emphasizing adaptability, team collaboration, and customer satisfaction. It introduces the Theory of Constraints (TOC) as a framework for identifying and addressing bottlenecks in Agile development, promoting continuous improvement and efficient project completion. Additionally, it discusses Just-in-Time inventory management and Total Quality Management principles, highlighting their benefits and challenges in enhancing organizational performance.

Uploaded by

thanujasoma2004
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

(AUTONOMOUS)

Accredited by NAAC (A) of UGC & NBA of AICTE

Nandyala Road, Kurnool - 518 007, AP, India.

IV [Link] I SEM

Scheme-23

(Professional Elective –V)


G Pulla Reddy Engineering College, Kurnool UNIT-1

UNIT I
Theories for Agile Management – Agile Software Development – Traditional
Model vs. Agile Model - Classification of Agile Methods – Agile Manifesto and
Principles – Agile Project Management – Agile Team Interactions – Ethics in
Agile Teams - Agility in Design, Testing – Agile Documentations – Agile Drivers,
Capabilities and Values

AGILE SOFTWARE DEVELOPMENT

What is Agile?

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

WHAT IS AGILE?
 "Agile" means the ability to move quickly and respond to change easily. 

 It is a flexible software development methodology focused on:

o Adaptability

o Team collaboration

o Customer satisfaction

 The Agile model is designed to handle change requests efficiently.

 Its main goal is to enable quick and successful project COMPLETION.

WHY IS AGILE USED?


 Faster Value Delivery: Delivers usable features early for quick feedback and
improvement.

 Focus on Value: Encourages teams to prioritize meaningful, high-impact tasks.

 Agile Mindset: Promotes adaptability, collaboration, and customer satisfaction.

 Quick Response to Change: Handles shifting priorities and market changes


effectively. 

 Regular Demonstrations: Shows progress clearly with frequent updates to


stakeholders.

 Cross-Functional Teams: Encourages self-organizing teams with better


communication and teamwork.

THEORIES FOR AGILE MANAGEMENT:

 The Theory of Constraints (TOC) can be a valuable framework for identifying and
addressing bottlenecks in Agile development.
 By focusing on the most significant constraint within a system, TOC helps teams
prioritize improvements, optimize workflows, and ultimately deliver more value
faster.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Benefits:

 Increased Profit: the primary goal of TOC for most companies

 Fast Improvement: a result of focusing all attention on one critical area – the system
constraint

 Improved Capacity: optimizing the constraint enables more product to be


manufactured

 Reduced Lead Times: optimizing the constraint results in smoother and faster
product flow

 Reduced Inventory: eliminating bottlenecks means there will be less work-in-


process

The Five Focusing Steps

Identifying the constraint

 TOC encourages teams to identify the most significant constraint that limits the flow of
work in the development process.
 In software development, this constraint can vary, such as limited development
resources, slow feedback loops, or dependencies on external systems.
IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 By identifying and focusing on the constraint, teams can prioritize their efforts and
allocate resources accordingly.

Here are some aspects to consider when identifying the constraint:

1. Workflow Analysis

o Review entire process: from requirements to maintenance

o Spot stages with delays (e.g., code reviews, testing, integrations)

2. Critical Chain Analysis

o Map task dependencies

o Identify activities that frequently delay project timelines

3. Measurement & Data Analysis

o Use metrics: lead time, cycle time, throughput, defect rates, etc.

o Look for patterns indicating bottlenecks

4. Stakeholder Feedback

o Gather insights from developers, PMs, designers, and users

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

o Identify pain points not obvious in data

5. Resource Analysis

o Check availability of teams, tools, hardware, and skills

o Find under-resourced or overloaded areas

After Identifying the Constraint

 Focus on fixing the main bottleneck

 Apply solutions like:

o Resource optimization

o Process redesign

o Skill development

o New tools or technologies

 Reassess regularly — constraints can shift over time

 Continuously monitor and adapt

 Goal: Improve workflow, boost productivity, and get better results

Exploiting the constraint

 Once the constraint is identified, TOC suggests exploiting it by maximizing its


utilization.
 In software development, this means ensuring that the constrained resource, such as a
specialized developer or a specific tool, is used to its full potential. 
 By optimizing the utilization of the constraint, teams can increase the overall
throughput of the development process. 

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Here are some aspects to consider when exploiting the constraint:

Resource Allocation:
Assign the constrained resource to tasks needing its expertise most.

Prioritization:
Give high-priority, high-impact tasks to the constraint.

Parallelize Non-Constraint Tasks:


Run other activities that don’t depend on the constraint simultaneously.

Minimize Interruptions:
Reduce context switching; create a focused work environment.

Collaboration & Knowledge Sharing:


Use pair programming, mentoring, and reviews to multiply impact.

Automation & Tooling:


Automate routine work and use tools to save the constraint’s time.

Example: Exploiting the Constraint – Exam Scheduling

Constraint Identified:
There’s only one scheduling officer managing the exam timetable for all departments,
leading to delays and clashes.
IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Steps to Exploit the Constraint

 Resource Allocation
Assign the scheduling officer only to complex scheduling tasks (e.g., overlapping
electives, lab exams). Let admin assistants handle simple, non-overlapping course
entries.

 Prioritization
Focus first on departments with the largest number of students or final-year exams, as
these are more critical.

 Parallelize Non-Constraint Tasks


While the officer works on scheduling, department heads can collect invigilator
preferences or room availability details in parallel.

 Minimize Interruptions
Block scheduling officer’s hours during timetable creation. Avoid meetings or
additional work during this focused period.

 Collaboration & Knowledge Sharing


Cross-train 1–2 other staff members to assist with simpler parts of the schedule, like
assigning classrooms or exam shifts.

 Automation & Tooling


Use exam scheduling software (e.g., ASC Timetables, ExamSoft) to auto-suggest
optimal slots and detect conflicts.

Subordinating non-constraints

 TOC advises subordinating non-constraints to the constraint, meaning that other


elements in the development process should align their performance to support the
constraint’s requirements. For example, if the constraint is the development team’s
productivity, non-constraints such as testing or documentation should adapt their
processes to enable faster development cycles.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Use Case: Hostel Allotment as the Constraint

Constraint Identified:
The hostel warden's office can only process a limited number of hostel allotments per day
(due to verification, documentation, room inspection, etc.).

How to Subordinate Non-Constraints

 Process Alignment
Admission and fee departments align their processes so that hostel forms reach the
warden only when complete and verified — no incomplete requests.

 Synchronization
Departments follow a time-slotted schedule (e.g., department-wise or year-wise) to
send students in batches to the warden’s office.

 Buffer Management
Maintain a queue system or waiting list to avoid overcrowding or overwhelming the
warden’s team with students.

 Resource Allocation
Avoid assigning clerical/admin staff to tasks that aren’t urgent; instead, let them
support document checking or hostel fee verification.
IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Continuous Improvement
Introduce online pre-verification so that only students with complete documents reach
the final hostel allotment step.

 Monitoring & Feedback


Track how many allotments are completed daily and adjust flow accordingly — pause
or slow down other processes if necessary.

The overall goal is to create a cohesive and harmonized development process where all
components work in concert to maximize throughput and achieve the desired outcomes.

Elevating the constraint

 In some cases, the constraint cannot be easily resolved, or it might shift to another
part of the development process.
 TOC suggests “elevating” the constraint by investing resources and efforts to improve
or remove it. This might involve hiring additional developers, improving
infrastructure, or enhancing collaboration between teams. By elevating the constraint,
the overall system performance can be improved.

Example: Elevating the Constraint – Library Book Issuing System

Constraint Identified:
The library issuing counter gets overloaded during peak times (e.g., start of semester),
causing long queues and delays.

How to Elevate the Constraint

 Resource Allocation
Add more staff or volunteers during peak hours to assist with book issuing.

 Process Optimization
Allow students to pre-select books online so issuing is faster at the counter.

 Technology Enhancements
Install RFID scanners or self-checkout kiosks to speed up book issuing.

 External Collaboration
Partner with nearby libraries for inter-library loan or temporary access to resources.
IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Monitor & Shift Focus


After fixing the counter bottleneck, track whether book return or catalog search
becomes the next constraint.

Continuous improvement

 TOC emphasizes the importance of continuous improvement.


 In software development, this translates to regularly analyzing the system,
identifying new constraints, and taking steps to address them. 
 Applying the Theory of Constraints in software development helps teams focus their
efforts on the critical aspects that limit productivity and effectiveness. 
 By identifying and resolving constraints, organizations can improve their
development processes, reduce lead times, enhance quality, and ultimately deliver
software more efficiently. 

Here are some aspects to consider:

System Monitoring
Track key metrics (e.g., lead time, defect rates, satisfaction) to find improvement areas.

Feedback Loops
Gather regular input from developers, users, and stakeholders via meetings, surveys, or
retrospectives.

Root Cause Analysis


Use tools like 5 Whys or fishbone diagrams to find the real reason behind problems.

Experiment & Innovate


Try new ideas, tools, or workflows. Share learnings with the team.

Agile & Iterative Approach


Use Scrum or Kanban to reflect, adapt, and improve continuously.

Collaborative Problem-Solving
Work together as a team to solve issues — different views lead to better solutions.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Continuous Learning
Encourage training, workshops, and peer learning to boost team capability.

The Nature of Constraints

Constraint Type Description (Simplified)

Physical Tangible limits like lack of machines, space, materials, or staff.

Rules or procedures that slow things down — like company


Policy
policies, contracts, or regulations.

Old habits or beliefs that prevent change (e.g., "We must run
Paradigm
machines all the time").

When you can produce more than what customers are buying —
Market
sales is now the bottleneck.

Just-in-Time (JIT) Inventory Management

 JIT inventory ensures there is enough stock to produce only what you need, when you
need it. The goal is to achieve high-volume production with minimal inventory on hand
and to eliminate waste.

Benefits of JIT (Just-In-Time)

1. Reduce Inventory Waste


– Only produce what's needed → no extra stock lying around.

2. Saves Storage Cost


– No need to keep large inventory in warehouses.

3. More Control
– Company can quickly adjust production based on customer demand.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

4. Faster Local Sourcing


– Materials are often bought from local suppliers to save time.

5. Low Investment Needed


– You spend less money on stock, so ROI (Return on Investment) improves.

Disadvantages of JIT

1. Stock-Out Risk
– If demand suddenly rises or delivery is late, you may run out of stock.

2. Timing Problems
– If suppliers are late, your customers may also face delays.

3. Needs Proper Planning


– You must know when and how much to order based on seasonal demand.

4. High Supplier Dependence


– Your success depends on how reliable your suppliers are.

TQM (Total Quality Management)

 Total Quality Management (TQM) is a management approach focused on long-


term success through customer satisfaction.
 It involves everyone in the organization—from top management to employees—
working together to improve quality in every area: products, services, processes, and
culture.

Principles of Total Quality Management (TQM):

Customer Focus
Always listen to customer needs and improve products/services to keep them happy.

Continuous Improvement
Keep improving processes and systems regularly—even small changes matter.

Employee Involvement

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Everyone in the organization helps in improving quality, not just managers.

Process-Oriented Approach
Focus on improving how work is done (the process), not just the final result.

Data-Driven Decisions
Use real data and facts—not guesses—to find problems and make decisions.

Good Supplier Relationships


Work closely with suppliers to make sure raw materials or services are high-quality.

Leadership Commitment
Leaders must support, guide, and promote a quality-first culture in the whole organization

Pros

 Delivers stronger, higher-quality products to customers

 Results in lower company-wide costs

 Minimizes waste throughout the entire production and sale process

 Enables a company to become more adaptable

Cons

 May require substantial financial investment to convert to TQM practices

 Often requires conversion to TQM practices over a long period of time

 May be met with resistance to change

 Requires company-wide buy-in to be successful

LEAN PRODUCTION

Lean production, also known as lean manufacturing, is a management philosophy focused on


maximizing value for the customer while minimizing waste in the production process. It aims
to deliver higher quality products at lower costs by streamlining operations and eliminating
activities that don't add value.

Lean Manufacturing Principles

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

1. Identify and Create Customer Value


– Understand what the customer truly needs.
– Focus only on features that add value; eliminate the rest.

2. Value Stream Mapping


– Draw a step-by-step map of the production process.
– Use it to find and remove waste or delays.

3. Identify and Eliminate Waste (Muda)


– Watch the process to find waste like waiting, overproduction, or excess movement.
– Remove activities that don’t add value.

4. Create Flow
– Make sure the work moves smoothly between steps.
– Fix layout issues or barriers that slow down production.

5. Pull System (Just-in-Time)


– Only produce when there is demand.
– Avoid making extra stock or wasting resources.

6. Continuous Improvement (Kaizen)


– Always look for small changes to improve.
– Involve everyone in finding better ways to work.

7. Automation with a Human Touch (Jidoka)


– Use machines to help, not replace people.
– Workers should control and improve how automation is used.

8. Level Production (Heijunka)


– Keep production smooth and balanced.
– Avoid sudden peaks or drops in work to reduce stress and delays.

7 Wastes in Lean Manufacturing

1. Unnecessary Transportation
– Moving people, tools, or materials more than needed.
– Fix: Improve layout and material flow.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

2. Excess Inventory
– Holding more raw materials or finished goods than needed.
– Problems: Hides defects, increases storage cost, slows response time.

3. Unnecessary Motion
– Extra movement by workers or machines (e.g., walking too far for tools).
– Fix: Arrange tools and workstations smartly.

4. Waiting (Idle Time)


– Workers or machines are stuck waiting for parts, info, or maintenance.
– ‡=
K Fix: Improve scheduling, maintenance, and supply timing.

5. Overproduction
– Making more than what the customer needs.
– Fix: Use Just-In-Time — make only what’s needed.

6. Over-processing
– Doing extra work or adding features not needed by the customer.
– Fix: Stick to customer requirements only.

7. Defects
– Mistakes that lead to rework, waste, or unhappy customers.
– Fix: Improve quality checks and processes.

Benefits of Lean Production

 Cost Reduction: By eliminating waste and optimizing processes, operational costs


are reduced.

 Improved Quality: Continuous improvement measures and strict quality controls


enhance product quality, leading to higher customer satisfaction.

 Increased Efficiency: Lean methods streamline production processes, reduce cycle


times, and improve resource utilization.

 Greater Customer Value: By focusing on value-adding activities, Lean Production


ensures better service to customers, increasing the perceived value of products and
services.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Six Sigma

 Six Sigma is a data-driven method used by businesses to improve processes, reduce


defects, and increase quality and efficiency.
 This approach focuses on minimizing variability in processes, ensuring consistent and
reliable outcomes.

Why is it called Six Sigma?

 "Sigma (σ)" is a Greek letter used in statistics to measure variation in a process.


 Six Sigma means the process outcomes stay within six standard deviations from the
mean – ensuring very few defects.

DMAIC Process

Phase Description

Define Define the problem and customer requirements.

Measure Measure the current performance (collect data).

Analyze Find the root cause of problems/defects.

Improve Implement solutions to eliminate the root causes.

Control Maintain improvements over time.

AGILE SOFTWARE DEVELOPMENT PROCESS:


 Agile focuses on flexibility and practical delivery of software.

 Instead of a big launch, it delivers small, valuable updates over time.

 Teams adjust and improve continuously, ensuring each update adds real value.

 Emphasizes manageable steps and quick response to change.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Phases in Agile Software Development:

1. Requirements Gathering

o Collect user needs and high-level features (user stories).

2. Planning

o Define goals, prioritize tasks, and prepare sprint backlogs.

3. Development

o Build small, working increments of the product.

4. Testing

o Perform continuous testing (unit, integration, etc.) to ensure quality.

5. Maintenance

o Support and update the software based on user feedback.

6. Deployment

o Release the working product to users, often in stages.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

TRADITIONAL MODEL VS. AGILE MODEL


Traditional Software Development

 Traditional Software Development follows a linear and sequential approach to design


and develop simple software. It is best suited when requirements are fixed and security
is not a major concern.

Phases:

1. Requirements Analysis

2. Design

3. Implementation

4. Coding and Testing

5. Maintenance

Advantages:

 Well-Established: Proven, structured methodology. 

 Clear Requirements: Defined early, reduces ambiguity.

 Structured Phases: Each phase is well-documented.

 Quality Control: Extensive testing before release.

 Proven Success: Widely used in traditional industries.

Disadvantages:

 Slow Process: Long development cycles.

 Inflexibility: Hard to accommodate changes.

 Higher Cost (for large projects).

 Limited Customer Involvement during development.

 Less Innovation due to rigid process.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Agile Software Development

 Agile Software Development follows an iterative and flexible approach, ideal for
complex and secure systems. It emphasizes collaboration, adaptability, and
customer feedback.

Phases:

1. Planning

2. Requirement Analysis

3. Designing

4. Implementation

5. Testing

6. Deployment

Advantages:

 Flexibility: Easily accommodates requirement changes.

 Customer Involvement: Regular feedback ensures relevance.

 Continuous Delivery: Frequent updates and releases.

 Collaboration: Encourages teamwork and innovation.

 Early Testing: Bugs are found and fixed early.

Disadvantages:

 Unpredictable Outcomes: Hard to estimate final product features and timeline.

 Less Documentation: May affect long-term maintenance.

 Time-Intensive: Requires continuous team commitment.

 Scope Creep: Risk of uncontrolled feature additions.

 Cultural Resistance: Demands mindset shift in teams.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Traditional
Feature Agile SD Real-World Explanation with Examples
SD

 Traditional SD works well for basic


projects like a college result portal.
Complex and
Simple  Agile is used for complex, feature-rich
Complexity evolving
software apps like Zomato, which constantly
software
adds tracking, safety, wallet, and
offers.

 In Traditional, the full system is tested


at the end—like a desktop application
Done after built and tested once.
Done during
Testing complete  In Agile, testing happens
each iteration
development continuously—e.g., WhatsApp adds
new features like 'Chat Lock' and tests
in beta before global release.

 Building a hospital management


system using Waterfall means all
Linear (step- Iterative (repeat design must be locked before coding.
Approach
by-step) and improve)  In Agile, like in Flipkart, UI/UX and
offers are constantly redesigned based
on customer feedback.

 Traditional SD may not frequently


update security—like a standalone
inventory software.
High and
Security Basic security  Agile allows frequent patching—used
adaptive security
in apps like Google Pay or SBI
YONO, which update for fraud
prevention.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Traditional
Feature Agile SD Real-World Explanation with Examples
SD

 Traditional: Client gives requirements


once (e.g., government eOffice
Only in
Client Throughout the project).
beginning and
Involvement process  Agile: Client gives inputs in every
end
sprint (e.g., custom ERP for a startup
where features change weekly).

 Traditional apps like PDF readers


have basic functions.
Limited, fixed Evolving, user-
Functionality  Agile apps like Instagram constantly
features driven features
introduce features like Reels, Notes,
Shopping, etc.

 Traditional: Once school software is


made, adding new grading patterns is
Change Difficult to hard.
Easily adaptable
Handling accommodate  Agile: In EdTech apps like BYJU’S, if
students request quizzes or new
subjects, it’s added in future sprints.

 Students or freshers can handle a


library management system using
Suitable for Requires
Waterfall.
Developers freshers or experienced
 Agile projects, like building a cloud-
interns teams
based CRM (e.g., Salesforce), need
skilled devs, testers, UI/UX designers.

Lower upfront Higher, ongoing  Traditional: A fixed-cost project like a


Cost
cost cost billing system for a local shop.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Traditional
Feature Agile SD Real-World Explanation with Examples
SD

 Agile: Projects like healthcare apps


incur ongoing costs for updates,
compliance, and user support.

 Traditional: Build a leave


5 rigid phases
management system in order.
(e.g., Design 6 overlapping,
Phases  Agile: In Swiggy, design, code, test,
→ Code → flexible phases
and feedback happen together with
Test)
weekly improvements.

 Traditional: Still used in


manufacturing software or
Less common Widely adopted
embedded systems.
Usage in modern by tech
 Agile: Used by companies like
firms companies
Amazon, Infosys, Google for
continuous product evolution.

 Traditional: Focus on finishing the


project as planned—like an HR
Adapting to payroll system.
Sticking to
Focus feedback and  Agile: Focus on improving usability
initial plan
change based on feedback—like LinkedIn
adding features like Skill Badges, AI
messaging.

 Traditional: Emails, status reports


Formal and Daily, informal (e.g., in government sectors).
Communication document- team  Agile: Daily stand-up meetings (used
heavy communication in Scrum teams at companies like
TCS or Zoho).

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Traditional
Feature Agile SD Real-World Explanation with Examples
SD

 Traditional: Transport ticketing


Predictive Evolutionary software with full upfront specs.
(everything (plans change  Agile: Startups building an MVP,
Planning
planned based on then updating weekly with user
upfront) progress) insights (like Meesho or Cred in early
days).

4 CORE VALUES OF AGILE SOFTWARE DEVELOPMENT

1. Individuals and Interactions over Processes and Tools: It’s more important for people
to talk and work together than to follow rigid steps or use special tools.

2. Working Software over Comprehensive Documentation: Making something that


actually works is better than writing many long documents.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

3. Customer Collaboration over Contract Negotiation: It’s better to work closely with
the customer all the time than to just talk about contracts.

4. Responding to Change over Following a Plan: It’s smarter to change your plan when
needed, instead of always doing things the same way.

12 PRINCIPLES OF AGILE

1. Customer Satisfaction: Our top goal is to make customers happy. We do this by


giving them good things often and fast.
2. Welcome Change Requirement: If new needs pop up, even late, we should say yes.
This helps the customer win.
3. Deliver Value Frequently: Give working things to people every 2 weeks to 2
months. Shorter times are best.
4. Work Together Daily: Everyone involved, from clients to workers, should work
together every day.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

5. Motivate Individuals: Build teams with people who want to do a good job. Give
them what they need and trust them.
6. Face-to-Face Conversation: The best way for a team to share info is by talking in
person.
7. Progress Measurement: How much work is truly done is measured by seeing what
works.
8. Sustainable Development: Agile helps everyone work at a calm, steady pace for a
long time.
9. Technical Excellence: Always focus on doing excellent work and having good
designs. This makes Agile better.
10. Simplicity: Don’t do extra work. Keep things as easy as possible.
11. Self-Organizing Team: The best plans and ideas come from teams that organize their
own work.
12. Regular Reflection: Teams regularly check how they’re doing. Then they make
changes to work better.

AGILE PROJECT MANAGEMENT:

 Agile Project Management (APM) emphasizes collaboration, customer feedback,


and rapid delivery of functional components, allowing teams to respond quickly to
changes and evolving requirements.
 It enables the team members to work collaboratively with each other and with the
customer.
 It motivates team members to faster development of the project.
 It works by breaking the processes into smaller chunks known as sprints.
 It entertains customers' feedback, which helps the development team to the changes
in the sprint.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

How Agile Project Management (APM) Works:

When to Use Agile Project Management?

Agile Project management is not suitable for every project.

 It is best suited when a customer isn't very clear about the project and the exact
project description is not known.

 It is also best suitable for the project in which continuous feedback is entertained.

 This method will not work for very small projects and inexperienced team
members.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Agile Project Management Phases

The various steps in the Agile Project Management Framework and the activities involved
in each phase can be classified as follows:

 Envision helps create a high-level vision for the project.

 Speculate helps create a high-level roadmap for the project based on the available
information.

 Explore is where the team will start creating and delivering the features.

 The team will constantly Adapt and change its plan based on the feedback it
receives about the completed features.

 After the team has generated sufficient value, or whenever the customer has had
enough, the project will Close, and the features delivered will be finalized.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

1. Envision

It is the first phase of agile project management which involves the goal and purpose of the
project. It also creates a list that prioritizes the features and requirements.

2. Speculate

It involves breaking the process into smaller chunks known as sprint and detailed planning
is done to how to achieve the goal. In this phase, user stories are selected from the product
backlog.

3. Explore

In this phase, the product is divided into sprints which lasts for 1-4 weeks. Progress,
challenges, and plans are discussed in daily scrum meetings, and execution of the project
is done.

4. Adapt

It involves continuous adaptation of the plan based on the feedback provided by the
client. Scrum master continues to monitor the progress of the project and also address the
problems faced by the developers. It demonstrates what has happened and what needs to
be done.

5. Close
IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

It is the last phase of agile product management which deploys the final product or new
version of the product into the real world. It collects feedback from customers for future
improvement of the project.

Waterfall VS Agile Project Management – Key Differences

Agile Project Management Waterfall Project Management

It focuses on customer interaction


It focuses on plans and artefacts.
and satisfaction.

Changes are controlled through Responds to change that it is either


adaptive actions. corrective or preventative.

It is a progressive elaboration with


It is typically up-from-planning.
release and iterative planning.

Agile has self-organizing and cross- There is a top-down management


functional teams. control.

Agile project management has a


It offers a scope-based delivery.
time-boxed delivery

It is customer-oriented. It is contract-oriented.

Embraces uncertainties, using them Attempts to identify all risks upfront,


to steer improvements. with less room for adjustments.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Benefits of Agile Project Management

1. More Freedom
➤ Teams can work creatively and play to their strengths.

2. Efficient Use of Resources


➤ Minimizes waste and supports rapid development.

3. Greater Flexibility
➤ Easily adapts to changing requirements.

4. Quick Problem Detection


➤ Issues are identified and resolved early.

5. Better Collaboration with Users


➤ Results in products that better meet actual user needs.

6. Less Rigid Planning


➤ Doesn’t require fully defined goals at the start (unlike Waterfall).

Drawbacks of Agile Project Management

1. Inconsistent Results
➤ Lack of fixed structure can lead to scope drift.

2. Difficult Progress Tracking


➤ No fixed plan can make tracking and forecasting tough.

3. Time Pressure
➤ Requires fast decision-making; not ideal for slow-moving organizations.

4. High Communication Demand


➤ Requires constant collaboration and feedback to succeed.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Agile Software Vs Agile Project Management

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

AGILE TEAM INTERACTIONS:

What is an Agile team?

 An Agile team is a group of individuals with different multipurpose skills who are
dedicated to the success of an Agile project through all stages of development, testing,
and delivery.
 Agile teams typically consist of 5 to 10 individuals who have been carefully selected
for their expertise in specific business areas.
 These groups are carefully curated and have been assigned a direct purpose to fulfill for
the company, typically tied to a specific business objective.
 They are also self-directed and self-organized, share accountability, and provide
cross-functional assistance to meet goals.

Traits of a Successful Agile Team

1. Strong Collaboration
Team members work closely, share successes and failures, and function as a
united unit.

2. High Productivity
Clear roles and deadlines help members stay focused and deliver work efficiently.

3. Cross-Functionality
Members have deep expertise in one area but can also contribute across other
areas, reducing dependency on outside teams.

4. Well-Defined Roles
Each member knows their responsibilities, minimizing overlap and confusion.

5. Value-Focused
Teams are organized around delivering business value and understand how their
work contributes to bigger goals.

6. Emotional Intelligence
Members manage stress well, support one another, and separate emotions from
work challenges.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

7. Adaptability
Agile teams easily adjust to changes and thrive in different work environments.

8. T-Shaped Skills
Members have broad knowledge across disciplines and deep expertise in one,
enhancing flexibility and innovation.

Advantages of an Agile team

1. Improved Customer Engagement & Satisfaction

o Continuous delivery of updates strengthens customer relationships and boosts


retention.

2. Higher-Quality Products

o Ongoing process improvements lead to better quality control and faster


resolution of issues.

3. Greater Adaptability

o Teams can quickly adjust priorities or solutions with minimal disruption.

4. Better Project Control

o Regular reviews and progress tracking help teams stay aligned with project
goals.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

5. Reduced Risk

o Iterative development minimizes the chance of failure and allows for early issue
detection.

6. Enhanced Collaboration & Feedback

o Frequent communication fosters teamwork, innovation, and ongoing


improvement.

Roles and Responsibilities of an Agile Team

Product Owner

 Represents stakeholders and end users

 Defines product vision and roadmap

 Prioritizes product backlog

 Accepts or rejects deliverables

 Manages stakeholder expectations and ensures business value delivery

Scrum Master

 Manages Agile process and removes impediments

 Facilitates Scrum ceremonies (stand-ups, retrospectives, etc.)


IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Promotes collaboration and continuous improvement

 Acts as a coach and servant leader to the team

Developers (Development Team)

 Cross-functional team that builds the product

 Plans, designs, develops, tests, and delivers product increments

 Participates in daily stand-ups and sprint activities

 Self-organized, collaborative, and quality-focused

Stakeholders

 Individuals/groups affected by the project (internal or external)

 Provide feedback, validate progress, and evaluate final product

 Help ensure business needs are met by staying actively engaged

Integrator

 Ensures technical integration of all components

 Verifies compatibility between software/hardware elements

 Maintains system quality and smooth external integration

Independent Auditor/Tester

 Objectively tests the system for bugs and issues

 Audits product quality from a neutral perspective

 Reports defects and collaborates on fixes with the team

ETHICS IN AGILE TEAMS:

 Customer Responsibility – Deliver what the customer truly needs.


 Team Well-being – Work at a steady, healthy pace.
 Honest Communication – Be open about progress and problems.
 Accountability – Own success and failure as a team.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Continuous Improvement – Learn from mistakes and get better.


 Professional Integrity – Do what’s right, not what’s flashy.
 Trust and Respect – Value and support every team member.

Ethical Area Agile Response Example

Deliver working software The team delivers a demo every 2


Customer
frequently that aligns with real weeks and adjusts features based on
Responsibility
user needs and avoids waste. customer feedback.

Promote sustainable pace, work-


Sprint planning ensures no one is
Team Well-being life balance, and a positive,
overburdened, preventing burnout.
respectful environment.

Honest Encourage openness about A developer admits a delay in stand-


Communication progress, issues, and blockers. up, allowing reallocation of tasks.

The whole team discusses a failed


Teams self-manage and take
Accountability sprint during the retrospective—no
collective ownership of results.
blame, just solutions.

The team identifies unclear


Continuous Regularly reflect to improve
requirements and agrees to involve
Improvement practices and decision-making.
the PO earlier next sprint.

Build only what’s needed to meet Developers reject adding a non-


Professional
goals—avoid unnecessary essential feature to focus on priority
Integrity
features. items.

Foster psychological safety, value A junior member challenges an idea


Trust and Respect every voice, and celebrate shared during planning, and the team
success. welcomes the discussion.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

AGILITY IN DESIGN AND TESTING:


What is Agile Design?

 Agile design is a flexible, collaborative approach to designing software and systems


that embraces change and continuous feedback. Rooted in core principles, it ensures
that designs remain relevant and user-centered throughout the development process. By
fostering teamwork and adaptability, Agile design enables faster, more efficient
delivery of products that truly meet user needs.

Why is Agile Design Important?

Benefit Explanation

Agile design is responsive. Teams can adjust


1. Flexibility to Handle Change designs based on new requirements, user
feedback, or market trends.

Work is done in short cycles (sprints), enabling


2. Faster Iteration & Delivery
quick release of updates and improvements.

Frequent testing and user input help detect issues


3. Continuous User Feedback
early and improve the product's usability.

Agile promotes close teamwork between


[Link] Collaboration designers, developers, and stakeholders, leading
to shared understanding and quicker decisions.

The design is built around real user needs,


5. User-Centric Approach
ensuring better adoption and satisfaction.

Continuous feedback ensures that teams build


6. Reduced Waste
only what’s valuable, saving time and effort.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

1. Characteristics of an Agile Design Team

Characteristic Description

Team includes UX, UI, developers, writers, and testers


Cross-Functional
working together.

Design decisions are shared and discussed openly within the


Collaborative
team.

User-Centric Focus on solving user problems with empathy and research.

Iterative & Incremental Work is done in small cycles, with improvements each sprint.

Design can evolve quickly based on user feedback or product


Adaptable to Change
needs.

Designers work closely with developers to ensure


Integrated with Devs
implementation accuracy.

Transparent Workflow Daily stand-ups and sprint boards keep everyone aligned.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

2. Key Roles in an Agile Design Team


1. Team Lead (Scrum Master)
Role: Facilitator and process coach.
Responsibilities:
 Guides the team in applying Agile principles effectively.
 Organizes daily stand-ups, sprint planning, and retrospectives.
 Helps the team remove blockers that may affect progress.
 Encourages a culture of self-organization and continuous improvement.
Example: At Spotify, the Agile coach helps design squads maintain flow and stay aligned
without micromanaging.

2. Product Owner (PO)


Role: Voice of the customer and business strategist.
Responsibilities:
 Owns and manages the product backlog.
 Prioritizes tasks based on business value and user needs.
 Ensures team deliverables meet client expectations and goals.
 Acts as a bridge between stakeholders and the development team.
Example: At Atlassian, the PO for Jira ensures features address real pain points reported
by users and clients.

3. Agile Team Members


Role: Creators of the product—cross-functional experts.
Who’s included:
 Developers (front-end, back-end)
 Designers (UX, UI, visual)
 Testers/QA specialists
 Content designers or UX writers
Responsibilities:
 Collaborate to design, build, and test product features.
 Participate in planning, reviews, and retrospectives.
 Bring specialized expertise while contributing to team goals.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Continuously deliver working product increments.

Example: A team at Airbnb includes a UX designer, front-end engineer, and content


designer working together on improving the booking flow.

4. Stakeholders
Role: External influencers—business sponsors, customers, leadership, etc.
Responsibilities:
 Define the project vision, scope, and success criteria.
 Offer input during reviews and planning sessions.
 Provide feedback that shapes the product's direction.
 Ensure alignment between the project and organizational goals.
Example: At Microsoft, stakeholders from marketing and compliance review designs for
Office features to ensure they meet business and legal standards.

Advantages of Agile Design

Advantage Description

Agile allows teams to respond quickly to changing user


1. Flexibility & Adaptability
needs and priorities.

Frequent input from users improves product relevance


2. Continuous User Feedback
and usability.

Iterative development and rapid prototyping reduce


3. Faster Time to Market
release cycles.

Agile encourages open communication among


4. Improved Collaboration
designers, developers, and stakeholders.

Early testing and incremental delivery help identify


5. Risk Reduction
issues sooner.

By involving users throughout the process, the final


6. Customer Satisfaction
product better meets their expectations.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Disadvantages of Agile Design

Limitation Description

Due to evolving requirements, it can be hard to


1. Less Predictable Scope
define final deliverables up front.

Without clarity, team members may duplicate


2. Overlapping Roles & Confusion
work or miss responsibilities.

Focus on working software may lead to minimal


3. Incomplete Documentation design documentation, causing challenges for
future teams.

Agile thrives on user feedback, but users aren’t


4. Requires Constant User Involvement
always available.

Projects with fixed scope, budget, and timeline


5. May Not Suit All Projects (e.g., government or legal systems) may not align
with Agile flexibility.

Under time pressure, teams might skip deep user


6. Design Can Be Rushed
research or visual refinement.

What is Agile Testing?


Agile Testing is a software testing practice that follows the principles of Agile software
development. Unlike traditional testing done at the end of the development cycle, Agile testing
is continuous, collaborative, and integrated throughout the development process.

Main principles of Agile Testing

The main principles of agile testing are:

 Early & Continuous Testing: Start testing early and keep testing throughout the
process.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Whole Team Responsibility: Everyone—developers, testers, analysts, product


owners—shares quality ownership.

 Frequent Deliveries: Working software is delivered regularly, usually every 1–2


weeks.

 Close Collaboration: Team members work closely to stay aligned and avoid surprises.

 Customer Involvement: Customers give feedback every iteration to guide


improvements.

 Focus on Working Software: Prioritize functional, high-quality software over heavy


documentation.

 Flexibility: Requirements can evolve any time during development.

1. Test Planning

Purpose:

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Initial Preparation: Agile test planning begins during the project initiation phase.
Testers collaborate closely with product owners, developers, and stakeholders to
understand project requirements and user stories.

 User Story Analysis: Testers analyze user stories to identify acceptance criteria and
define test scenarios. This process ensures that test cases align with expected user
behavior and business goals.

 Test Strategy: Based on the analysis, testers formulate a test strategy outlining the types
of tests (unit, integration, acceptance, etc.), tools, and techniques to be employed.

 Test Estimation: Estimating testing efforts and resources required for each sprint or
iteration is crucial for planning purposes.

2. Daily Scrums (Stand-ups)

Purpose:

 Collaborative Planning: Daily scrum meetings, also known as stand-ups, bring


together the development and testing teams to synchronize efforts and discuss progress.

 Identifying Impediments: Testers highlight any testing impediments or challenges


they are facing, such as resource constraints or technical issues.

 Adaptation: Stand-ups provide an opportunity to adapt testing strategies based on


changes in user stories or project priorities decided in the sprint planning meeting.

3. Test Agility Review

Purpose:

 Continuous Review: Throughout the Agile testing life cycle, regular review sessions
are conducted to evaluate the agility of testing processes and adaptability to changing
requirements.

 Quality Assessment: Test agility reviews assess the effectiveness of test cases and
strategies in uncovering defects early in the development cycle.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Feedback Incorporation: Feedback from stakeholders, customers, and team members


is incorporated to refine testing approaches and improve overall quality assurance
practices.

4. Release Readiness

Purpose:

 Incremental Testing: Agile promotes frequent releases of potentially shippable


increments of the product. Release readiness testing ensures that each increment meets
quality standards and is ready for deployment.

 Regression Testing: Before a release, regression testing verifies that new features and
changes have not adversely affected existing functionality.

 User Acceptance Testing (UAT): Stakeholders participate in UAT to validate that the
software meets business requirements and user expectations before deployment.

5. Impact Assessment

Purpose:

 Change Management: Agile teams frequently encounter changes in requirements,


scope, or priorities. Impact assessment evaluates the effect of changes on existing test
cases, test scripts, and overall testing efforts.

 Risk Analysis: Testers analyze potential risks associated with changes to prioritize
testing activities and mitigate risks effectively.

 Communication: Impact assessment involves clear communication between


development, testing, and business teams to ensure everyone understands the
implications of changes on project timelines and quality goals.

What Does An Agile Tester Do?

 Validate user stories and define acceptance criteria


 Participate in daily stand-up meetings
 Perform exploratory and regression testing
 Conduct both automated and manual testing

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Collaborate with the entire team to ensure quality from start to finish
 Go beyond bug logging – help improve the overall delivery process
 Adopt an early and continuous testing approach
 Follow a product-focused and customer-oriented mindset
 Support communication, adaptability, and team collaboration for better results

Continuous Testing is The Key To Agile Development Success

In Agile, development happens in short, fast iterations. Continuous Testing ensures that:

 Code is tested early and often

 Bugs are caught quickly

 Feedback is immediate

 Releases are reliable

 Teams can move fast without sacrificing quality

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Agile Methodologies in Software Testing

1. Behavior-Driven Development (BDD)

 Describe Behavior with BDD using Gherkin (Given - When - And - Then)

o The Given statement sets up the initial context for the behavior and defines
the starting point of the system.
o The When statement describes the trigger that brings about a change or
behavior in the system.
o The Then statement defines the expected outcome that should be observed
after the event mentioned in the When statement

→ Define the expected system behavior using plain language (e.g., user stories or
scenarios).
 Write Step Definition
→ Convert the behavior into executable steps (often using tools like Cucumber or
SpecFlow).

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Run & Fail


→ Initially, the test will fail because the code isn't implemented yet.
 Write Code to Make Step Pass
→ Developers write the minimum code needed to fulfill the behavior.
 Run & Pass
→ Tests are run again, and now they pass if the behavior is correctly implemented.

Feature: User Login

Scenario: Successful login with valid credentials


Given the user is on the login page
When the user enters valid credentials
And clicks the login button
Then the user should be redirected to the dashboard

And see a welcome message

Why Do We Need BDD?

BDD is based on the idea that the tres amigos (i.e., three friends) in software development
don’t always share the same perspectives.

The tres amigos include:

 Product Owner: representing the business side, they simply want to solve a
problem they have. 

 Developer: representing the development side, they want to build a solution to solve
the problem of the Product Owner.

 Tester: representing the QA side, they want to know if the solution can actually solve
the problem, and what can possibly go wrong with the solution. 

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Steps To Do BDD Testing

Day-to-day BDD activity involves a three-step process:

1. Discovery

2. Formulation

3. Automation.

Discovery

 During the Discovery stage, stakeholders participate in structured conversations


called discovery workshops (also known as brainstorming sessions) where they
discuss and reach a mutual agreement on the desired goals.
 They start by stating the user story or requirement in a concise format, such as:

“As a [role], I want [goal] so that [benefit].”

 After that, they brainstorm examples of how the user story should behave in
different scenarios. These examples focus on concrete situations and help to define
the expected behavior.
 The team then writes each example on sticky notes or a digital tool, arranging them
in a structured format. A common format includes:

 Columns for the example

 A brief description

 Rules or constraints

 Any open questions or areas of uncertainty.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

2. Formulation Stage

 This stage ensures that both technical and non-technical team members can read
and validate the expected behavior before writing any code.
 Below are the detailed Gherkin statements to describe the business scenario of
“As a customer, I want to be able to place an online order for products and receive
real-time updates on the status of my order”

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Feature: Online Order Placement and Status Updates


As a customer,
I want to be able to place an online order for products
And receive real-time updates on the status of my order

Scenario: Placing an Online Order


Given I am a registered customer
And I am logged in to the online store
And there are available products for purchase
When I add a product to my cart
And I proceed to the checkout process
And I provide the necessary order details
And I confirm my order
Then my order should be successfully placed
And I should receive an order confirmation email

Scenario: Tracking Order Status


Given I have placed an order
And I have received an order confirmation
When I visit the order tracking page
Then I should see the current status of my order
And the status should be updated in real-time

Scenario: Order Status Notification


Given I have placed an order
And I have opted to receive order status notifications
When there is a change in my order status
Then I should receive a real-time notification

And the notification should include the updated status of my order

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

2. Acceptance Test-Driven Development (ATDD)

ATDD is a collaborative practice where testers, developers, and product owners define
acceptance criteria before coding begins.

Key Idea:

Write acceptance tests first — based on what the system should do — and then develop
code to pass those tests.

Who’s Involved?

 Customer/Product Owner – defines the business needs

 Developer – implements the solution

 Tester – ensures it meets requirements

ATDD Flow (Simple Steps)

1. Discuss – Team discusses a user story and defines acceptance criteria

2. Write – Create automated acceptance tests in plain language (before code)

3. Develop – Write just enough code to pass those tests

4. Test & Refine – Run the tests, fix failures, and improve both tests and code

Benefits of ATDD:

 Clear definition of done

 Fewer misunderstandings and bugs

 Early feedback on requirements

 Builds trust and collaboration

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

3. Exploratory testing

 Exploratory testing is a spontaneous and manual software testing approach where


testers investigate the system without predefined test cases or prior knowledge of
its workings. Rather than adhering to a rigid test plan, testers immediately engage
in testing and make real-time decisions about which areas to explore.

The Agile Testing Quadrants

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Agile Testing Vs Traditional Testing

Aspect Agile Testing Traditional Testing

Approach Iterative & incremental Sequential (Waterfall model)

Early – from the beginning of After development phase is


Testing Starts
development completed

Whole team involved (Dev, QA, QA team works independently


Team Collaboration
PO, etc.) after dev finishes

Fixed test plan before


Test Planning Continuous & flexible
development

Slow feedback – only after full


Feedback Loop Fast, continuous feedback
product is built

Documentation Lightweight, just enough Heavy, detailed documentation

Customer High – customers review features Low – customer usually involved


Involvement frequently at the end

Adaptability to High – can adapt to new Low – changes are costly and
Changes requirements anytime time-consuming

Often manual or limited


Automation Strong emphasis on automation
automation

Delivery Continuous delivery (CI/CD) One-time release at the end

Unit, Integration, Acceptance, Mostly functional, system, and


Testing Types
Exploratory, Regression UAT at the end

Deliver working software Deliver final tested product after


Goal
frequently full development

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Advantages of Agile Testing

There are some notable advantages to using it, including the following —

 Early Detection of Defects

Since testing is intertwined with development, issues are spotted and resolved
faster.

 Improved Collaboration

With developers, automation testers, and other team members working closely,
there’s better communication and understanding of the product’s requirements.

 Flexibility

Agile testing is adaptive by nature. As requirements evolve, testing adjusts,


ensuring that the product remains aligned with the user’s needs.

Disadvantages of Agile Testing

In addition, there are some disadvantages to it —

 Requires Experienced Testers

For beginners to testing, the rapid pace and iterative nature can be challenging.
It demands a deep understanding of the project and agile principles.

 Limited Documentation

Agile emphasizes working software over comprehensive documentation, which


can sometimes lead to misunderstandings.

 Scope Creep

With evolving requirements, there’s a risk of the project scope expanding


beyond initial expectations, potentially leading to delays.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

AGILE DOCUMENTATIONS:

 Agile documentation is a lightweight, flexible, and collaborative approach to creating


project documents.
 It supports the Agile principle of delivering working software quickly and iteratively.
 Instead of extensive upfront documentation, Agile teams create just enough
documentation—like user stories, acceptance criteria, and design notes—to guide
development and adapt to changing needs.
 It's maintained by the team and kept up-to-date throughout the project.

Benefits of agile documentation for software development

1. Value-Focused – Supports delivering features, not excessive paperwork.

2. Flexible & Easy to Update – Adapts to changes as the project evolves.

3. Boosts Collaboration – Improves team and stakeholder communication.

4. Improves Transparency – Keeps everyone informed and aligned.

5. Enhances Quality – Clear requirements lead to better outcomes.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

4 Key Rules of Agile Documentation

1. Just Barely Good Enough (JBGE)

 Create documentation that is simple, minimal, and sufficient for the task.

 Avoid over-documenting; focus on clarity and relevance.

 Why? Easier to maintain and update as the product evolves.

2. Just In Time (JIT)

 Write documentation when it's actually needed, not ahead of time.

 This reduces the risk of outdated or irrelevant information.

 Why? Agile environments change quickly—early documentation may become


obsolete.

3. Keep It Central and Accessible

 Store documentation in a single, centralized location (e.g., Confluence, GitHub,


Notion).

 Make sure it's easily accessible to all team members and stakeholders.

 Why? Good documentation is only valuable if people can find and use it.

4. Collaborate as a Team

 Encourage everyone on the team (developers, testers, designers, etc.) to contribute.

 Documentation should evolve through shared ownership.

 Why? Team knowledge is collective; shared contribution ensures accuracy and


completeness.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

9 Best Practices for Agile Documentation

1. Plan Strategically
Define what, why, and how much to document based on project goals and team needs.
Use templates to maintain consistency.

2. Clarify Document Purpose


For every document, ask: Who needs this? Why? How will it be used? Avoid writing for
the sake of it.

3. Collaborate, Don’t Isolate


Involve developers, testers, product owners, and users. Documentation should be a shared
team effort, not a solo task.c

4. Use Centralized Storage


Keep all documents in one accessible location (e.g., cloud platforms like Confluence,
Notion, or Mural) to avoid silos.

5. Document Continuously
Integrate documentation into your workflow. Update in real-time during sprints to avoid
forgotten details.

6. Keep It Lean and Visual


Avoid bulky text. Use bullet points, diagrams, white space, and visuals to improve
readability and engagement.

7. Support Conversations, Not Replace Them


Use documentation to supplement face-to-face communication—not to avoid it. Agile
values people over process.

8. Automate Where Possible


Use tools to auto-generate code docs, sprint summaries, or reports. Save time and reduce
errors.

9. Focus on Stable Info


Document what’s confirmed and currently relevant. Skip speculative or uncertain ideas
until they’re validated.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

Questions to ask while Creating Agile documentation:

 Creating documentation utilizing agile methodology is an art that can be mastered over
a period. There are three important questions you need to ask while creating an agile
documentation
1. What documentation to produce?

 The first step in Agile documentation is deciding:


“What exactly needs to be documented?”
 Once the Product Owner defines the “Why”, the documentation team
determines the “What”—the type and purpose of the documentation needed at
each phase of the Agile cycle.

Use the Diátaxis Framework

This framework helps classify documentation into 4 types based on purpose and
audience:

1. What documentation is needed before the project begins?


Use the Diátaxis framework to plan documentation types:

o Tutorials (step-by-step learning)

o How-To Guides (task-based help)

o Reference Docs (technical details)

o Explanations (conceptual clarity)


➤ Define which type suits each audience before the sprint starts.

2. What documentation is needed during the sprint?

o As requirements evolve, documentation must adapt.

o If sprint goals shift, update or modify the in-progress docs.


➤ Keep documentation dynamic and aligned with scope changes.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

3. What documentation is needed after deployment?

o If scope remained stable, finalize existing documents.

o If changes occurred, revise or add new documentation.


➤ Continuous updates are essential for relevance and accuracy.

2. Where to keep documentation?

Accessible Documentation Location


 Use SaaS-based knowledge base tools (e.g., Confluence, Notion) aligned
with Agile practices.
 Common practice: Publish documentation on a central knowledge base site
or documentation portal.
 Customers usually know this location:
o Internal links inside the product point to it.
o In-app help sections often guide users to this documentation.

Documentation Repository
 Store documentation in a repository for frequent updates (e.g., using Git).
 Ideal when using Git-based systems to maintain docs alongside code.
 Use static site generators (e.g., Jekyll, Hugo) to publish documentation from
the repo.
 Makes it easy to maintain, version, and deploy documentation continuously.
3. When to Choose the Agile Approach?
Choose Agile Documentation When:
 Documentation needs to be created alongside software development (not before or
after).
 You follow Agile methodology, where features are developed and released
incrementally.
 It aligns with just-in-time principles (borrowed from manufacturing), i.e., writing docs
only when needed.
 The product has frequent releases, and documentation must evolve with each release.
IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 The team collaborates closely with customers and values continuous feedback.
Avoid Agile Documentation If:
 You're using a traditional Waterfall model, where all documentation is written
upfront.
 Your software team works in isolation and doesn't engage much with customers.
 Product documentation is not required as part of the release cycle.

How to Do Technical Documentation in Agile


 Plan your agile documentation

o Define sprint objectives with product owner and project manager.

o Draft user stories and assign responsibilities.

o Documentation team breaks down tasks during sprint planning.

 Update activities during daily stand-ups

o Team members update documentation progress daily.

o Developers and others can contribute to documentation.

o Scrum master manages tasks and prioritizes based on dependencies.

 Showcase your documentation artifacts

o Present documentation during sprint demos/showcases.

o Share artifacts with all stakeholders for feedback.

 Take part in an agile documentation retrospective

o Discuss:

 What worked well

 What needs improvement

 What to stop doing

o Scrum master documents feedback for continuous improvement.


IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

 Maintain a product backlog

o Helps prioritize documentation work.

o Aligns documentation with the product roadmap.

o Enables strategic planning.

Document Across Agile Stages

Before Sprint

 Define needed documents (e.g., scope, specs, compliance).

 Choose Diátaxis types based on expected user interaction.

During Sprint

 Update docs as features evolve.

 Reflect scope changes in tutorials or how-to guides.

After Release

 Finalize and publish manuals, FAQs, or training docs.

 Version documents for Alpha, Beta, GA releases.


IV [Link] VII Sem
Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

AGILE DRIVERS, CAPABILITIES, AND VALUES:

Agile Capabilities

These are the core competencies or strengths that Agile teams possess:

1. Iterative Development

o Deliver software in small, functional increments instead of one big release.

o Enables feedback and course correction early.

2. Continuous Integration and Delivery (CI/CD)

o Code is integrated, tested, and deployed automatically and frequently.

o Helps reduce bugs and allows for faster release cycles.

3. Backlog Management

o Product Backlog is continuously refined and prioritized.

o Ensures the team always works on the most valuable items.

4. Cross-functional Teams

o Teams include developers, testers, designers, and other roles.

o They work together collaboratively, without silos.

5. Customer Collaboration

o Regular check-ins with customers/stakeholders.

o Feedback is collected and used to shape future iterations.

6. Adaptability to Change

o Agile teams welcome and embrace changes in requirements.

o Quick to pivot based on new inputs or market conditions.

7. Timeboxing (Sprints)

o Work is divided into short, fixed-length iterations (usually 1–4 weeks).

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

o Delivers value in a predictable rhythm.

8. Retrospective Learning

o Teams reflect after each sprint: what went well, what didn't, and how to
improve.

o Fosters a culture of continuous improvement.

Agile Values (from the Agile Manifesto)

Agile values emphasize people, flexibility, and delivering real value:

1. Individuals and Interactions over Processes and Tools

o Effective teamwork and communication are more important than rigid


procedures.

2. Working Software over Comprehensive Documentation

o The primary measure of progress is usable, tested software — not lengthy


documentation.

3. Customer Collaboration over Contract Negotiation

o Engage the customer continuously, not just at the start and end of a project.

4. Responding to Change over Following a Plan

o Plans are important, but being able to adapt is more valuable.

Agile Drivers

These are the reasons organizations choose Agile:

1. Faster Time-to-Market

o Get products/features into users’ hands faster.

2. Changing Customer Needs

o Markets and user expectations evolve quickly — Agile accommodates this


well.

IV [Link] VII Sem


Agile Methodologies
G Pulla Reddy Engineering College, Kurnool UNIT-1

3. Product Quality

o Continuous testing and feedback help identify and fix issues early.

4. Risk Reduction

o Early visibility of work reduces the risk of total project failure.

5. Team Empowerment

o Agile encourages autonomy, ownership, and self-organization.

6. Stakeholder Transparency

o Frequent demos, stand-ups, and reviews keep everyone informed.

7. Innovation and Flexibility

o Agile allows room for creative problem-solving and innovation.

IV [Link] VII Sem


Agile Methodologies

You might also like