(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