Understanding Agile Software Development
Understanding Agile Software Development
Understanding Agile Software Development
Understanding Agile Software Development
Agile
Agile
Agile
Agile
I
I
I
I
Gaurav
Gaurav
Gaurav
Gaurav
I
I
I
I
Feb 18, 2021
Feb 18, 2021
Feb 18, 2021
Feb 18, 2021




What is Agile?
Agile is a set of values and ideas that encourages flexible response to changes. The emerging requirements and their solutions are collaborative efforts of different teams, organisations and customers.
In software development, adopting Agile practices means welcoming changing requirements, adaptive planning, early and continuous delivery and collaboration between clients, developers, testers in order to improve the quality of software and the agility of teams and software professionals.
Agile is not a tool or some framework, but rather a set of values emerged from the Manifesto of agile software development. The philosophy behind Agile development is very simple:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is to say, the items on the left are valued more than the items on the right.
Tools and processes are important, but it is more important to have competent people working together effectively. Good documentation is useful in helping people to understand how the software is built and how to use it, but the main point of development is to create software, not documentation.
A contract is important but is no substitute for working closely with customers to discover what they need. A project plan is important, but it must not be too rigid to accommodate changes in technology or the environment, stakeholders' priorities, and people's understanding of the problem and its solution.
Agile software development principles
The Manifesto for Agile Software Development is based on twelve principles:
Welcome changing requirements, even in late development
Deliver working software frequently (weeks rather than months)
Close, daily cooperation between business people and developers
Projects are built around motivated individuals, who should be trusted
Face-to-face conversation is the best form of communication (co-location)
Working software is the primary measure of progress
Sustainable development, able to maintain a constant pace
Continuous attention to technical excellence and good design
Simplicity—the art of maximizing the amount of work not done—is essential
Best architectures, requirements, and designs emerge from self-organizing teams
Regularly, the team reflects on how to become more effective, and adjusts accordingly
What is Agile Project Management ?
Manifesto of Agile Software development and 12 principles were established by software developers and testers to tackle the common problems that software developers faced. Agile provides a common solution to common recurring problems and can be utilized in other various activities.
Agile management is an interactive, incremental method of managing and delivering a project in accordance with the principles expressed in the Manifesto for Agile Software Development.
Iterative or agile life cycles are composed of several stages towards the completion of a project. In each delivery cycle (iterations), Agile methods complete small portions of the deliverables, while iterative methods evolve the entire set of deliverables over time, completing them near the end of the project. One of the aims of an agile or iterative approach is to release benefits throughout the process rather than only at the end. Most importantly, Agile Projects should manifest collaboration, flexibility and behaviour of trust as its core value.
Agile Metrics
Metrics that can be collected for effective usage of Agile is:
Drag Factor
Effort in hours which do not contribute to sprint goal
Drag factor can be improved by reducing the number of shared resources, reducing the amount of non-contributing work
New estimates can be increased by a percentage of drag factor - New estimate = (Old estimate+drag factor)
Velocity
Amount of backlog (user stories) converted to the shippable
Functionality of sprint
Number of Unit Tests added
Time interval taken to complete daily build
Bugs detected in an iteration or in previous iterations
Production defect leakage
Agile Planning Processes and Methods
Agile planning activities for large-scale development efforts can be broken down into five levels:
Product Vision
Product Roadman
Release Plan
Iteration/Sprint Plan
Daily Commitment / Scrum
What are the benefits of Agile Development?
Agile allows early testing and rejection, the tight feedback loops provide benefits in agile that are not very noticeable in the waterfall.
What is Agile?
Agile is a set of values and ideas that encourages flexible response to changes. The emerging requirements and their solutions are collaborative efforts of different teams, organisations and customers.
In software development, adopting Agile practices means welcoming changing requirements, adaptive planning, early and continuous delivery and collaboration between clients, developers, testers in order to improve the quality of software and the agility of teams and software professionals.
Agile is not a tool or some framework, but rather a set of values emerged from the Manifesto of agile software development. The philosophy behind Agile development is very simple:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is to say, the items on the left are valued more than the items on the right.
Tools and processes are important, but it is more important to have competent people working together effectively. Good documentation is useful in helping people to understand how the software is built and how to use it, but the main point of development is to create software, not documentation.
A contract is important but is no substitute for working closely with customers to discover what they need. A project plan is important, but it must not be too rigid to accommodate changes in technology or the environment, stakeholders' priorities, and people's understanding of the problem and its solution.
Agile software development principles
The Manifesto for Agile Software Development is based on twelve principles:
Welcome changing requirements, even in late development
Deliver working software frequently (weeks rather than months)
Close, daily cooperation between business people and developers
Projects are built around motivated individuals, who should be trusted
Face-to-face conversation is the best form of communication (co-location)
Working software is the primary measure of progress
Sustainable development, able to maintain a constant pace
Continuous attention to technical excellence and good design
Simplicity—the art of maximizing the amount of work not done—is essential
Best architectures, requirements, and designs emerge from self-organizing teams
Regularly, the team reflects on how to become more effective, and adjusts accordingly
What is Agile Project Management ?
Manifesto of Agile Software development and 12 principles were established by software developers and testers to tackle the common problems that software developers faced. Agile provides a common solution to common recurring problems and can be utilized in other various activities.
Agile management is an interactive, incremental method of managing and delivering a project in accordance with the principles expressed in the Manifesto for Agile Software Development.
Iterative or agile life cycles are composed of several stages towards the completion of a project. In each delivery cycle (iterations), Agile methods complete small portions of the deliverables, while iterative methods evolve the entire set of deliverables over time, completing them near the end of the project. One of the aims of an agile or iterative approach is to release benefits throughout the process rather than only at the end. Most importantly, Agile Projects should manifest collaboration, flexibility and behaviour of trust as its core value.
Agile Metrics
Metrics that can be collected for effective usage of Agile is:
Drag Factor
Effort in hours which do not contribute to sprint goal
Drag factor can be improved by reducing the number of shared resources, reducing the amount of non-contributing work
New estimates can be increased by a percentage of drag factor - New estimate = (Old estimate+drag factor)
Velocity
Amount of backlog (user stories) converted to the shippable
Functionality of sprint
Number of Unit Tests added
Time interval taken to complete daily build
Bugs detected in an iteration or in previous iterations
Production defect leakage
Agile Planning Processes and Methods
Agile planning activities for large-scale development efforts can be broken down into five levels:
Product Vision
Product Roadman
Release Plan
Iteration/Sprint Plan
Daily Commitment / Scrum
What are the benefits of Agile Development?
Agile allows early testing and rejection, the tight feedback loops provide benefits in agile that are not very noticeable in the waterfall.
Categories
Categories
Categories
Accessibility Testing
Accessibility Testing
Accessibility Testing
Agile
Agile
Agile
Agile Development
Agile Development
Agile Development
Agile Testing
Agile Testing
Agile Testing
Analytics and Insights
Analytics and Insights
Analytics and Insights
API Testing
API Testing
API Testing
Appium
Appium
Appium
Automation
Automation
Automation
Automation Testing
Automation Testing
Automation Testing
Automation Testing
Automation Testing
Automation Testing
Awards & Recognitions
Awards & Recognitions
Awards & Recognitions
Big Data Testing
Big Data Testing
Big Data Testing
Blockchain Testing
Blockchain Testing
Blockchain Testing
Business
Business
Business
Business Strategy
Business Strategy
Business Strategy
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Testing>Cloud Computing
Cloud Testing>Cloud Computing
Cloud Testing>Cloud Computing
Cloud Testing>Cloud Management
Cloud Testing>Cloud Management
Cloud Testing>Cloud Management
Cloud Testing>Cloud Security
Cloud Testing>Cloud Security
Cloud Testing>Cloud Security
Cloud Testing>Cloud Technology
Cloud Testing>Cloud Technology
Cloud Testing>Cloud Technology
Cloud Testing>In-House Testing
Cloud Testing>In-House Testing
Cloud Testing>In-House Testing
Continuous Delivery (CD)
Continuous Delivery (CD)
Continuous Delivery (CD)
Continuous Integration (CI)
Continuous Integration (CI)
Continuous Integration (CI)
Cryptocurrency
Cryptocurrency
Cryptocurrency
Customer Relationship Management Software
Customer Relationship Management Software
Customer Relationship Management Software
Cyber Security
Cyber Security
Cyber Security
Data Quality Assurance
Data Quality Assurance
Data Quality Assurance
Detox
Detox
Detox
DevOps
DevOps
DevOps
Digital Transformation
Digital Transformation
Digital Transformation
Economic Impact
Economic Impact
Economic Impact
Exploratory Testing>Structured Testing
Exploratory Testing>Structured Testing
Exploratory Testing>Structured Testing
Financial Technology (FinTech)
Financial Technology (FinTech)
Financial Technology (FinTech)
Fintech
Fintech
Fintech
Information Security
Information Security
Information Security
Iot Testing
Iot Testing
Iot Testing
IT Industry
IT Industry
IT Industry
IT Infrastructure
IT Infrastructure
IT Infrastructure
Microservices Architecture
Microservices Architecture
Microservices Architecture
Microservices Testing
Microservices Testing
Microservices Testing
Mobile Application Testing
Mobile Application Testing
Mobile Application Testing
Mobile Testing
Mobile Testing
Mobile Testing
Network Security
Network Security
Network Security
Network Security Testing
Network Security Testing
Network Security Testing
Pandemic Resilience
Pandemic Resilience
Pandemic Resilience
Penetration Testing
Penetration Testing
Penetration Testing
Project Management
Project Management
Project Management
Quality Assurance
Quality Assurance
Quality Assurance
Regression Testing
Regression Testing
Regression Testing
Risk Management
Risk Management
Risk Management
Risk-Based Testing
Risk-Based Testing
Risk-Based Testing
Salesforce Testing
Salesforce Testing
Salesforce Testing
Sanity Testing
Sanity Testing
Sanity Testing
Security Auditing
Security Auditing
Security Auditing
Security Testing
Security Testing
Security Testing
Software Development
Software Development
Software Development
Software Testing
Software Testing
Software Testing
Team
Team
Team
Technology
Technology
Technology
Test Automation
Test Automation
Test Automation
Test Management
Test Management
Test Management
Test Planning
Test Planning
Test Planning
Testing Methodologies
Testing Methodologies
Testing Methodologies
Uncategorized
Uncategorized
Uncategorized
Vulnerability Assessment
Vulnerability Assessment
Vulnerability Assessment
Web Application Testing
Web Application Testing
Web Application Testing
Work-Life Balance
Work-Life Balance
Work-Life Balance
/ blog /
/ blog /
/ blog /
/ blog /