Introduction to Agile Development
Introduction to Agile Development
Introduction to Agile
Prepared by
Dr. S. Angel Deborah
Learning Objective
● To understand the basics of Agile, Agile manifestos and principles
● To understand Agile modeling
Outline
● What is agile?
● Real life examples of agile
● Agile manifesto
● Agile Principles
● Agile Methodology
● Agile Methods
● Agile Modelling
● Advantages & Disadvantages of Agile Method
What is agile?
● Agile is a process that allows a team to more efficiently manage a
project by breaking it down into several stages, each of which allows
for consistent collaboration with stakeholders to promote steady
improvements at every stage.
● In software development, agile practices involve discovering
requirements and developing solutions through the collaborative
effort of self-organizing and cross-functional teams and their
customer/end user.
Some of the real life examples of agile model:
● Restaurant orders:
○ Preparation of some of the food before opening the shop (sprint planning)
○ continuous delivery of orders (adhoc stories)
○ number of successful orders (velocity)
● cricket team:
○ Run rate (velocity)
○ team (scrum team self sufficient)
○ over (sprint length)
○ captain/ coach (scrum master)
Agile manifesto
8
Agility Principles - II
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self–organizing
teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.
9
Agile methodology
● Agile methodology is a type of project management process, mainly used for software
development, where demands and solutions evolve through the collaborative effort of
self-organizing and cross-functional teams and their customers.
● Agile software development refers to a group of software development methodologies
based on iterative development, where requirements and solutions evolve through
collaboration between self-organizing cross-functional teams.
● Agile methods or Agile processes generally promote a disciplined project management
process that encourages frequent inspection and adaptation, a leadership philosophy that
encourages teamwork, self-organization and accountability, a set of engineering best
practices intended to allow for rapid delivery of high-quality software, and a business
approach that aligns development with customer needs and company goals.
Examples of Agile Methodology
1. Requirements gathering
2. Design the requirements
3. Construction/ iteration
4. Testing/ Quality assurance
5. Deployment
6. Feedback
Advantages & Disadvantages of Agile Method
Advantages:
1. Frequent Delivery
2. Face-to-Face Communication with clients.
3. Efficient design and fulfils the business requirement.
4. Anytime changes are acceptable.
5. It reduces total development time.
Disadvantages:
1. Due to the shortage of formal documents, it creates confusion and crucial decisions taken
throughout various phases can be misinterpreted at any time by different team members.
2. Due to the lack of proper documentation, once the project completes and the developers
allotted to another project, maintenance of the finished project can become a difficulty.
When to use the Agile Model?
○ When frequent changes are required.
○ When a highly qualified and experienced team is available.
○ When a customer is ready to have a meeting with a software team all the time.
○ When project size is small.
Summary
● What is agile?
● Real life examples of agile
● Agile manifesto
● Agile Principles
● Agile Methodology
● Agile Methods
● Agile Modelling
● Advantages & Disadvantages of Agile Method
Check your understanding
● What is Agile Methodology ?
● What are different Agile methods?
Reference
1. Craig Larman, “Agile and Iterative Development: A Manager’s Guide”,Addison Wesley, 2004.