Agile Software Development Module 1ppt
Agile Software Development Module 1ppt
1
Name of Institution
2
Name of Institution
Course Objectives:
• Agile Development training course will give an
understanding of what Agility means, when and
why to employ Agile development, the pitfalls,
issues and common mistakes to watch out for,
and will cover key methodologies including
Scrum and Kanban. We will also cover
approaches, tools and scenarios to introduce
Agile to your organization effectively.
3
Name of Institution
Course Content:
4
Name of Institution
5
Name of Institution
6
Name of Institution
Recommended Books
Textbook:
• Agile Software Development with Scrum by Ken Schawber, Mike
Beedle Publisher: Pearson
• Agile Software Development, Principles, Patterns and Practices
by Robert C. Martin Publisher: Prentice Hall
• Agile Testing: A Practical Guide for Testers and Agile Teams by
Lisa Crispin, Janet Gregory Publisher: Addison Wesley
Reference Book:
• Agile Software Development: The Cooperative Game By Alistair
Cockburn Publisher: Addison Wesley.
• User Stories Applied: For Agile Software by Mike Cohn
8
Name of Institution
9
Name of Institution
10
Name of Institution
Content
Introduction to Agile
Principles of Agile (Agile Manifesto)
The People Involved
Product Manager vs. Product Owner
Release vs. Sprint vs. Iteration
Product Backlog vs. Sprint Backlog
Agile Reports
Agile Solution Providers
Problems with Agile and how we can Help
Resources
11
Name of Institution
Agile.
We need to be Agile.
12
Name of Institution
Introduction to Agile
• Agile software development refers to a group of software development
methodologies that are based on similar principles. Agile methodologies generally
promote:
● A project management process that encourages frequent inspection and
adaptation;
● a leadership philosophy that encourages team work, self-organization and
• accountability;
● a set of engineering best practices that allow for rapid delivery of high-quality
• software;
● and a business approach that aligns development with customer needs and
company goals.
• MYTH : No documentation
• MYTH : Undisciplined MYTH : Agile is a process
13
Name of Institution
AGILE
• An iterative and incremental (evolutionary) approach
to software development which is performed in a
highly collaborative manner by self-organizing teams
within an effective governance framework with “just
enough” ceremony that produces high quality
software in a cost effective and timely manner which
meets the changing needs of its stakeholders.
• Scott Ambler
http://www.agilemodeling.com/essays/agileSoftwareD
evelopment.htm
14
Name of Institution
AGILITY
15
Name of Institution
WHY AGILITY
• Need to more effectively respond to change
– Organizational needs
– Market demands
– Threats and opportunities
16
Name of Institution
AGILITY
• Agility is the ability to both create and respond to
change in order to profit in a turbulent business
environment
Jim Highsmith
Agile Project Management (2nd Edition, 2010
17
Name of Institution
18
Name of Institution
BENEFITS
• Greater responsiveness
• Measured increase in productivity
• Lower costs
• Managed risk through greater visibility
• Increased customer satisfaction
• Better overall quality
• Improved team morale
19
Name of Institution
Agile Development
What is Agile?
• Agile is the ability to create and respond to change. It is a way of
dealing with, and ultimately succeeding in, an uncertain and
turbulent environment.
• It’s really about thinking through how you can understand what’s
going on in the environment that you’re in today, identify what
uncertainty you’re facing, and figure out how you can adapt to that
as you go along.
• 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.
20
Name of Institution
Agile Development
• One thing that separates Agile from other approaches to software
development is the focus on the people doing the work and how
they work together.
• A cross-functional team is a group of people with different
functional specialisms working together, collaboratively to deliver
something.
• Its main focus is on client satisfaction through continuous
delivery.
• An agile project sets a minimum number of requirements and
turns them into a deliverable product.
21
Name of Institution
Agile Manifesto
We are uncovering better ways of developing software by doing it
and helping others do it. Through this work we have come to value:
That is, while there is value in the items on the right, we value the
items on the left more.
22
Name of Institution
Agile Manifesto
1. Individuals and interactions over process and tools: Agile
places more importance on people over process and even tools.
People respond to business needs and drive the development
process. Process and tools by their very nature are less responsive
to change and can be unable to meet customer needs.
Agile Manifesto
3. Customer collaboration over contract negotiation:
Customers must work out the details of delivery, but rather than
negotiate this process, agile champions collaboration. For example,
in traditional project management methodology, customers
negotiate the requirements for the product in detail—before work
starts. However, agile includes the customer throughout the life
cycle of the project for their continual feedback.
25
Name of Institution
26
Name of Institution
Classification of Agile
Methodology
• Agile Methodology is a people-focused, results-focused
approach to software development that respects our rapidly
changing world. It’s centered around adaptive planning, self-
organization, and short delivery times.
• We will be covering 4 agile methodologies:
Scrum
Extreme Programming
Feature Driven Development
Lean Software Development
27
Scrum Name of Institution
28
Intro of Agile Scrum Name of Institution
29
Name of Institution
eXtreme Programming.
• Often used with scrum, XP is an example of how Agile can heighten
customer satisfaction. Rather than deliver everything the customer
could ever want far in the future, it gives them what they need now,
fast. XP is centered on frequent releases and short development
cycles. It uses code review, pair programming, unit testing, and
frequent communication with the customer.
30
Name of Institution
31
Name of Institution
32
Name of Institution
33
Name of Institution
35
Name of Institution
Continuous Integration
• Continuous Integration (CI) is a development practice
where developers integrate code into a shared
repository frequently, preferably several times a day.
Each integration can then be verified by an automated
build and automated tests. While automated testing is
not strictly part of CI it is typically implied.
37
Name of Institution
Pair Programming
• As the name implies, pair programming is where two developers work
using only one machine. Each one has a keyboard and a mouse. One
programmer acts as the driver who codes while the other will serve as the
observer who will check the code being written, proofread and spell check
it, while also figuring out where to go next. These roles can be switched at
any time: the driver will then become the observer and vice versa.
38
Simple Design Name of Institution
40
Agile Testing Name of Institution
HAPPY LEARNING!!
42