ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
AGILE TECHNOLOGIES
Module-5
Mastering Agility: Values and Principles: Commonalities, About Values, Principles, and Practices,
Further Reading.
Improve the Process: Understand Your Project, Tune and Adapt, Break the Rules, Rely on People:
Build Effective Relationships, Let the Right People Do the Right Things, Build the Process for the
People.
Eliminate Waste: Work in Small, Reversible Steps, Fail Fast, Maximize Work Not Done, Pursue
Throughput, Deliver Value: Exploit Your Agility, Only Releasable Code Has Value, Deliver Business.
Deliver Value Frequently, See the Whole, Technical Excellence: Software Doesn’t Exist, Design Is
a Process, Improve the Design, Hard Trade-Offs, Software at an Angle, Great Designs.
Mastering Agility
Definition: Mastering Agility in Agile technologies refers to achieving a deeper level of
expertise in applying Agile principles, values, and practices consistently and effectively
across projects. It goes beyond just following the process—it means embodying Agile
thinking in decision-making, problem-solving, and collaboration.
1. Strong Understanding of Agile Values: Teams internalize values like customer
collaboration, adaptability to change, and continuous improvement, ensuring they
drive every action and decision.
2. Iterative and Incremental Approach: Work is broken down into small, manageable
iterations, with frequent releases that provide value to customers while allowing for
quick adaptation.
3. Continuous Feedback Loops: By engaging stakeholders and customers regularly,
teams gather feedback to refine features, enhance quality, and align development with
business needs.
4. High Level of Team Maturity: Teams demonstrate self-organization, cross-
functionality, and collective ownership of outcomes, leading to better problem-
solving and innovation.
5. Embracing Change with Confidence: Mastering agility means being comfortable
with uncertainty and responding effectively to changing requirements or
environments.
Benefits:
o Ensures faster delivery of valuable software.
o Promotes higher product quality through continuous testing and integration.
o Strengthens customer satisfaction as products are closely aligned with user needs.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
o Builds a culture of collaboration, transparency, and trust within the team.
o Enhances business adaptability, enabling organizations to stay competitive in
dynamic markets.
Outcome:
Mastering agility is not just about “doing Agile” but about “being Agile.” It signifies maturity
where teams and organizations continuously evolve, improve, and innovate to maximize
value delivery and achieve long-term success.
Values and Principles
In Agile technologies, values and principles form the backbone of the entire methodology,
guiding teams in their decision-making, collaboration, and problem-solving. They ensure that
Agile is not just a set of practices, but a mindset and culture for delivering better outcomes.
Agile Core Values (from the Agile Manifesto):
1. Individuals and interactions over processes and tools – Focuses on people,
teamwork, and effective communication rather than relying heavily on rigid tools or
frameworks.
2. Working software over comprehensive documentation – Prioritizes delivering
functional products that add value rather than spending excessive time on lengthy
documentation.
3. Customer collaboration over contract negotiation – Encourages continuous
engagement with customers and stakeholders to ensure the product meets evolving
needs.
4. Responding to change over following a plan – Promotes flexibility, adaptability,
and responsiveness to new insights or changing market conditions.
Agile Principles (12 guiding principles):
These principles extend the core values into practical actions, such as:
o Delivering valuable software early and continuously to ensure customer satisfaction.
o Embracing changing requirements, even late in development.
o Delivering working software frequently in short cycles (weeks rather than months).
o Ensuring close collaboration between business stakeholders and developers.
o Building projects around motivated individuals and trusting them.
o Promoting face-to-face communication for effectiveness.
o Measuring progress primarily through working software.
o Maintaining a sustainable pace of development for long-term productivity.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
o Paying continuous attention to technical excellence and good design.
o Keeping things simple and avoiding unnecessary complexity.
o Encouraging self-organizing teams for innovation and accountability.
o Regularly reflecting on performance and adjusting processes for improvement.
Impact on Agile Teams:
Together, these values and principles create a flexible, adaptive, and customer-centric
environment. They allow teams to deliver high-quality products faster, improve
collaboration, and continuously learn and adapt to ensure long-term success.
Commonalities
Agile methodologies like Scrum, Kanban, and Extreme Programming (XP) may differ in their
specific frameworks, but they share several common principles and practices:
Collaboration and Communication: Agile teams work closely with stakeholders and
customers to ensure the product aligns with expectations. Cross-functional teams enhance
knowledge sharing and accountability.
Flexibility and Adaptability: Agile thrives in environments where requirements frequently
change. Teams are prepared to pivot quickly in response to new insights or market demands.
Customer Satisfaction: Delivering value to the customer is the highest priority. Agile ensures
software is usable, functional, and continuously improved.
Iterative Development: Work is broken into short, time-boxed iterations (sprints or cycles)
that result in small, functional increments of the product.
Transparency and Continuous Feedback: Frequent reviews, retrospectives, and stakeholder
input help identify issues early and improve processes.
Commitment to Quality: Practices like automated testing, refactoring, and continuous
integration ensure high-quality outputs throughout the lifecycle.
Together, these commonalities help agile methods remain lightweight, people-centered, and
outcome-focused.
About Values
Agile values are derived from the Agile Manifesto and form the foundation of all agile practices:
1. Individuals and Interactions over Processes and Tools
o Agile emphasizes people, collaboration, and teamwork as more valuable than rigid
processes or tool dependency.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
2. Working Software over Comprehensive Documentation
o Documentation is important but should not delay delivering a functional product. The
real measure of progress is working software.
3. Customer Collaboration over Contract Negotiation
o Agile promotes engaging with customers throughout the project rather than sticking
rigidly to initial agreements. This ensures evolving requirements are met.
4. Responding to Change over Following a Plan
o Plans provide direction, but agile accepts that change is inevitable and adapts
accordingly to maximize value.
These values encourage flexibility, trust, empowerment, and continuous improvement, ensuring
teams focus on delivering real-world results rather than getting stuck in formalities.
Principles and Practices
Agile is guided by 12 key principles (from the Agile Manifesto) that focus on customer satisfaction,
adaptability, sustainable development, and simplicity. A few important ones include:
Deliver working software frequently, with preference for shorter timescales.
Welcome changing requirements, even late in development.
Build projects around motivated individuals and trust them to get the job done.
Maintain a constant pace for sustainable development.
Continuous attention to technical excellence and good design enhances agility.
Agile Practices put these principles into action:
Iterative and Incremental Development: Products are delivered in small increments that
add value.
Daily Stand-Ups (Scrum Meetings): Short meetings for progress updates and problem-
solving.
Continuous Integration and Testing: Ensures software remains functional and defect-free at
all times.
Pair Programming and Code Reviews: Promote collaboration and improve software
quality.
Retrospectives: Regular reflection meetings to identify what worked, what didn’t, and how to
improve.
Kanban Boards: Visual tools to track workflow and identify bottlenecks.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
Together, principles give direction and practices provide execution methods to ensure agile teams
succeed in delivering value.
Further Reading
To deepen understanding of agile concepts, students and practitioners can explore:
Books:
o Agile Estimating and Planning by Mike Cohn
o Scrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland
o Extreme Programming Explained by Kent Beck
Articles & Whitepapers: Published by the Agile Alliance, IEEE, and various software
engineering journals.
Online Resources: Agile Alliance website, Scrum.org, and Agile coaching blogs.
Courses and Certifications:
o Certified Scrum Master (CSM)
o Professional Scrum Master (PSM)
o Agile Project Management certifications
Engaging with further reading and resources ensures learners stay updated with industry practices,
case studies, and real-world applications of agile methodologies.
Improve the Process
In Agile, improvement is not a one-time task but a continuous cycle.
Teams regularly conduct retrospectives after each sprint or iteration to identify what worked,
what didn’t, and what could be improved.
Improvements may involve:
o Adopting better tools or automation.
o Refining workflows to reduce bottlenecks.
o Enhancing team communication.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
This mindset creates a culture of continuous learning and adaptation, ensuring the team
evolves with the project and consistently delivers value.
Understand Your Project
Agile projects succeed when the team has a clear understanding of:
o Goals & Vision: What is the end product supposed to achieve?
o Stakeholder Needs: What customers and business users expect.
o Scope & Requirements: What features are essential versus optional.
o Constraints: Budget, time, technology, and resources.
A well-understood project allows teams to make informed decisions, prioritize effectively,
and adapt quickly to change.
This principle emphasizes clarity before action—without understanding, agility can become
chaos.
Tune and Adapt
Agile teams continuously monitor their progress and make small adjustments.
Examples include:
o Refining backlog grooming processes.
o Adjusting sprint length to better match workload.
o Adopting new testing or CI/CD tools.
This principle highlights the iterative nature of Agile—not just in product development but
also in team processes.
The result is a self-optimizing system that improves efficiency, productivity, and quality over
time.
Break the Rules
Agile provides guidelines, not rigid rules.
If a practice doesn’t fit a project, teams are encouraged to adapt it. For example:
o A team might replace daily stand-ups with async updates if time zones differ.
o A sprint review could be adjusted to involve more stakeholders for better feedback.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
The key idea is outcomes over orthodoxy—success is more important than strict adherence
to rules.
This flexibility fosters innovation, creativity, and practicality.
]
Rely on People
Agile strongly believes that people are the most valuable asset in any project.
Instead of micromanagement, Agile trusts teams to:
o Self-organize.
o Make decisions collectively.
o Take ownership of their work.
By empowering people, teams become more motivated, adaptive, and productive.
This principle underlines that technology and tools are enablers, but people drive success.
Build Effective Relationships
Agile projects thrive on trust, respect, and open communication.
Relationships extend beyond the development team to include:
o Customers and Users: Engaged in feedback loops.
o Stakeholders: Kept informed and aligned with progress.
o Team Members: Encouraged to collaborate and resolve conflicts constructively.
Strong relationships ensure smoother collaboration, fewer misunderstandings, and faster
problem-solving.
This creates an environment where shared ownership and collective responsibility flourish.
Let the Right People Do the Right Things
Agile shifts from hierarchical delegation to skill-based empowerment.
Tasks are assigned based on expertise and strengths, not just roles or seniority.
Benefits include:
o Higher efficiency, as skilled individuals handle relevant work.
o Increased trust and autonomy in the team.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
o Better quality outcomes due to domain expertise.
The result is a collaborative, empowered team that maximizes its potential.
Build the Process for the People
Agile processes are designed around the team and users, not imposed top-down.
Instead of forcing people to fit rigid systems, processes are tailored to fit how the team
works best.
Key aspects:
o Collect feedback from the team regularly.
o Ensure workflows are intuitive, efficient, and human-friendly.
o Adapt processes as team size, tools, or goals evolve.
This principle reinforces user-centric design thinking, not just for products but also for the
way teams operate.
Eliminate Waste
Definition: Eliminating waste means removing any activity, process, or task that does not
directly add value to the customer.
Examples of waste:
o Redundant processes.
o Excessive documentation.
o Over-engineering features no one needs.
o Waiting time between tasks.
Benefits:
o Improves efficiency.
o Reduces cost and delivery time.
o Allows teams to focus on customer value.
Work in Small
Definition: Breaking projects into small, manageable increments (sprints/iterations).
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
Advantages:
o Enables faster feedback from customers.
o Identifies risks early.
o Reduces chances of large-scale project failure.
Outcome: Continuous delivery of small, usable chunks of value, maintaining steady progress.
Reversible Steps
Definition: Taking small steps that can be easily undone without major losses.
Importance:
o Encourages experimentation and innovation.
o Helps correct mistakes quickly.
o Reduces risk of costly failures.
Outcome: Teams stay flexible and confident in adapting to changes.
Fail Fast
Definition: Quickly identifying and addressing problems instead of discovering them late in
the project.
Approach:
o Test ideas early.
o Run small experiments.
o Fix or discard failing approaches quickly.
Outcome: Saves time, money, and ensures faster learning and improvement.
Maximize Work Not Done
Definition: Focus on what is essential instead of doing unnecessary work.
Key Idea: “Simplicity—the art of maximizing the amount of work not done—is essential.”
Benefits:
o Avoids over-engineering.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
o Ensures only features that deliver customer value are built.
o Increases productivity and efficiency.
. Pursue Throughput
Definition: Maximizing the smooth flow of work through the system.
Practices:
o Remove bottlenecks.
o Streamline workflows.
o Reduce delays between tasks.
Outcome: Faster delivery, steady pace of work, improved customer satisfaction.
Deliver Value
Definition: Ensuring every piece of work adds real, measurable value to the customer or
business.
Key Focus:
o Build features that solve customer problems.
o Avoid work that looks good but adds no impact.
Outcome: Continuous alignment with customer needs and business goals.
Exploit Your Agility
Definition: Using agility as a competitive advantage by embracing flexibility and
adaptability.
Practices:
o Rapid response to changing requirements.
o Leverage collaboration and iterative development.
Outcome: Organizations remain innovative, competitive, and customer-focused.
Only Releasable Code Has Value
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
Definition: Code is valuable only when it is functional, tested, and deployable.
Key Idea: Writing code is not enough; it must be usable by customers.
Benefits:
o Delivers immediate business value.
o Provides faster feedback.
o Reduces waste from unused features.
Deliver Business Results
Definition: Agile development must align with and support business goals and success
metrics.
Practices:
o Prioritize features based on business impact.
o Regularly review outcomes against objectives.
Outcome: Drives innovation, profitability, and organizational success.
Deliver Frequently
Definition: Delivering working software regularly and incrementally, instead of waiting for
the end.
Benefits:
o Early and continuous feedback.
o Reduced time to market.
o Higher customer satisfaction.
Outcome: Teams remain adaptive and reduce risks of failure.
Seek Technical Excellence
Definition: Continuous pursuit of high-quality, clean, and well-crafted software solutions.
Practices:
o Write clean and maintainable code.
o Adopt coding standards and best practices.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
o Encourage continuous learning and improvement.
Importance: Reduces technical debt, increases system reliability, scalability, and long-term
efficiency.
Outcome: Teams deliver software that is robust, cost-effective, and easy to maintain.
Software Doesn’t Exist
Definition: Software is never “finished”; it constantly evolves to meet changing user needs
and environments.
Key Idea: Software is not a one-time product but a living system.
Importance: Encourages continuous iteration, updates, and improvement.
Outcome: Teams focus on delivering incremental value, adapting to real-world feedback
and evolving requirements.
Design Is for Understanding
Definition: Software design should prioritize clarity, simplicity, and understanding for
developers and stakeholders.
Practices:
o Write clear code and modular architecture.
o Ensure interfaces and structures are intuitive.
Importance: Makes collaboration easier, reduces misunderstandings, and improves
maintainability.
Outcome: Teams spend less time fixing confusion and more time delivering value.
Design Trade-offs
Definition: Balancing conflicting factors in design decisions (e.g., speed vs. quality,
flexibility vs. performance).
Examples:
o Choosing performance over flexibility for a gaming app.
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
o Choosing simplicity over robustness in a prototype.
Importance: Helps teams make realistic choices based on time, budget, and customer needs.
Outcome: Software that balances practicality with performance, delivering the best possible
results within constraints.
Quality with a Name
Definition: Defining specific quality attributes (like usability, performance, security,
reliability) rather than vague “quality”.
Importance: Teams clearly know what “quality” means for the project.
Outcome: Products consistently meet customer expectations with measurable standards of
quality.
Great Design
Definition: Creating adaptable, scalable, and simple systems that meet current and future
needs.
Principles:
o Modularity.
o Scalability.
o Flexibility for change.
Importance: Reduces rework, improves collaboration, and ensures the product can evolve
with customer needs.
Outcome: Long-lasting, efficient, and user-friendly software systems.
Universal Design Principles
Definition: Building software that is accessible and usable for the widest range of users
(including people with disabilities).
Practices:
o Clear navigation.
o Intuitive interfaces.
o Accessibility features (alt text, screen reader support, etc.).
ATRIA INSTITUTE OF TECHNOLOGY
(An Autonomous Institution, Bengaluru)
Approved by AICTE, Affiliated to VTU,
Belagavi
Accredited by NAAC A++ & NBA
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
Importance: Promotes inclusivity and equity.
Outcome: Broader user base, improved usability, and compliance with accessibility
standards.
Principles in Practice
Definition: Applying agile principles (like collaboration, adaptability, and frequent delivery)
in real-world development.
Examples:
o Stand-up meetings for communication.
o Retrospectives for continuous improvement.
o Customer collaboration in planning sessions.
Importance: Converts theory into action, ensuring agile values guide everyday work.
Outcome: Teams remain responsive, customer-focused, and consistently improve their
processes.
Pursue Mastery
Definition: Commitment to continuous improvement in both technical and non-technical
skills.
Practices:
o Learning new tools and frameworks.
o Improving collaboration, leadership, and communication.
Importance: Encourages growth mindset, innovation, and resilience in teams.
Outcome: Individuals and teams become more capable, adaptive, and high-performing,
leading to long-term success and innovation.