0% found this document useful (0 votes)
66 views42 pages

Agile Software Development Module 1ppt

The document provides information about an agile software development training course, including the course objectives, content, learning outcomes, recommended books, and assessment scheme. The course aims to give an understanding of agile development methodologies like Scrum and Kanban, and help participants effectively introduce agile practices at their organizations. The content will cover agile principles, roles, planning, and processes. Participants will learn to estimate tasks and end sprints with reviews and retrospectives.

Uploaded by

sahilsecondacc1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views42 pages

Agile Software Development Module 1ppt

The document provides information about an agile software development training course, including the course objectives, content, learning outcomes, recommended books, and assessment scheme. The course aims to give an understanding of agile development methodologies like Scrum and Kanban, and help participants effectively introduce agile practices at their organizations. The content will cover agile principles, roles, planning, and processes. Participants will learn to estimate tasks and end sprints with reviews and retrospectives.

Uploaded by

sahilsecondacc1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 42

Name of Institution

Amity Institute of Information


Technology

Agile Software Development


Module 1
Ms. Rajbala Simon

1
Name of Institution

Agile Software Development

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

Course Content cont.…

5
Name of Institution

Course Content cont.…

6
Name of Institution

Course Learning Outcomes:


 Articulate the agile principles, practices, and roles of
Scrum.
 Perform Scrum Release Planning, and Scrum Sprint
Planning.
 Deconstruct user stories into tasks and ideal day
estimates.
 End a Sprint with Sprint Reviews and Sprint
Retrospectives.
 Use Scrum with multiple, or distributed, project teams.
 Easily pass any Certified Scrum Master certification
class.
7
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

Assessment/ Examination Scheme


Theory:
 Home Assignment = 10 marks
 Quiz = 5 marks
 Presentation = 5 marks
 Mid Term Exam = 15 marks
 End Term Exam = 60 marks

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.

Why are we not doing 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

• Manage evolutionary change to culture, products,


and processes
• Frequently and incrementally deliver value to reach
a desired goal or outcome

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

• Agility is the ability to balance flexibility and


stability

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:

• 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, 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.

2.Working software over comprehensive


documentation: Documentation takes time. It’s part of a slower
process that agile is arguing against. Each piece of documentation,
from technical requirements to testing plans and other
specifications, requires approval. This delays development. Agile is
about streamlining, not eliminating documentation. While
documentation has its value, in the agile mindset, it is software that
is paramount.
23
Name of Institution

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.

4. Responding to changes over following a plan: While change


happens, it’s to be avoided as much as possible when working a
traditional project management methodology. However, agile works
in short iterations called sprints, because their brevity allows for
changes, even embraces them as a way to improve a project and
add value.
24
Name of Institution

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

• Scrum is a lightweight Agile project management framework that can be


used to manage iterative and incremental projects of all types. It is a
hands-on system consisting of simple interlocking steps and
components:
• A product owner makes a prioritized wish list known as a product
backlog.
• The scrum team takes one small piece of the top of the wish list called
a sprint backlog and plans to implement it.
• The team completes their sprint backlog task in a sprint (a 2-4 week
period). They assess progress in a meeting called a daily scrum.
• The ScrumMaster keeps the team focused on the goal.
• At the sprint’s end, the work is ready to ship or show. The team closes
the sprint with a review, then starts a new sprint.

28
Intro of Agile Scrum Name of Institution

Scrum is a development methodology commonly used to


oversee projects. Below figure represent agile example.

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.

• Here’s an example of how XP works: Bill builds a list of customer


requirements by having the customer tell “user stories” that outline
the features. From these, he builds a software release plan. The
software will be delivered in iterations, with one delivered every
couple weeks. The team works in programmer pairs, using daily
meetings to smooth roadblocks. The customer delivers feedback in
the form of more user stories. The cycle repeats until the software is
delivered.

30
Name of Institution

Feature Driven Development & Lean


Software Development
• Feature Driven Development (FDD) is an agile framework that
organizes software development around making progress on features.
Features in the FDD context, are not necessarily product features in
the commonly understood sense. In other words, “complete the login
process” might be considered a feature in the Feature Driven
Development (FDD) methodology.
• Lean Software Development (LSD) is an agile framework based on
optimizing development time and resources, eliminating waste, and
ultimately delivering only what the product needs. The Lean approach
is also often referred to as the Minimum Viable Product (MVP) strategy,
in which a team releases a bare-minimum version of its product to the
market, learns from users what they like, don’t like and want to be
added, and then iterates based on this feedback.

31
Name of Institution

Agile Project Management


• Agile project management is an iterative approach to
delivering a project throughout its life cycle.
• Iterative or agile life cycles are composed of
several iterations or incremental steps towards the completion
of a project. Iterative approaches are frequently used in software
development projects to promote velocity and adaptability since
the benefit of iteration is that you can adjust as you go along
rather than following a linear path. One of the aims of an agile or
iterative approach is to release benefits throughout the process
rather than only at the end. At the core, agile projects should
exhibit central values and behaviours of trust, flexibility,
empowerment and collaboration.

32
Name of Institution

Agile Project Management

33
Name of Institution

Test Driven Development


• Test-driven development starts with developing test for each one
of the features. The test might fail as the tests are developed
even before the development. Development team then develops
and refactors the code to pass the test.
• Test-driven development is related to the test-first programming
evolved as part of extreme programming concepts.

Test-Driven Development Process:


• Add a Test
• Run all tests and see if the new one fails
• Write some code
• Run tests and Refactor code
• Repeat
34
Name of Institution

Test Driven Development

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.

• One of the key benefits of integrating regularly is that


you can detect errors quickly and locate them more
easily. As each change introduced is typically small,
pinpointing the specific change that introduced a defect
can be done quickly.
36
Refactoring Name of Institution

• Refactoring consists of improving the internal structure of an


existing program’s source code, while preserving its external
behavior.
The following are claimed benefits of refactoring:
• refactoring improves objective attributes of code (length,
duplication, coupling and cohesion, cyclomatic complexity) that
correlate with ease of maintenance
• refactoring helps code understanding
• refactoring encourages each developer to think about and
understand design decisions, in the context of collective ownership
• refactoring favors the emergence of reusable design elements
(such as design patterns) and code modules

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.

Pair Programming Advantages


• Two heads are better than one.
• More efficient.
• Fewer coding mistakes.
• An effective way to share knowledge.
• Develops your staff’s interpersonal skills.

38
Simple Design Name of Institution

A team adopting the “simple design” practice bases its software


design strategy on the following principles:
• design is an ongoing activity, which includes refactoring and
heuristics such as YAGNI (You Aren’t Gonna Need It)
• design quality is evaluated based on the rules of code
simplicity
• all design elements such as “design patterns”, plugin-based
architectures, etc. are seen as having costs as well as
benefits, and design costs must be justified;
• design decisions should be deferred until the “last
responsible moment”, so as to collect as much information
as possible on the benefits of the chosen option before
incurring its costs.
39
Agile Testing Name of Institution

• A software testing practice that follows the principles of agile software


development is called Agile Testing.
• Agile is an iterative development methodology, where requirements
evolve through collaboration between the customer and self-organizing
teams and agile aligns development with customer needs

Advantages of Agile Testing


• Agile Testing Saves Time and Money
• Less Documentation
• Regular feedback from the end user
• Daily meetings can help to determine the issues well in advance

40
Agile Testing Name of Institution

• Testing is NOT a Phase: Agile team tests continuously and


continuous testing is the only way to ensure continuous
progress.
• Testing Moves the project Forward: Agile testing provide
feedback on an ongoing basis and the product meets the
business demands.
• Shortening Feedback Response Time: In agile for each and
every iteration, they are involved, and continuous feedback
shortens the feedback response time and cost involved in fixing
is also less.
• Clean Code: Raised defects are fixed within the same iteration
and thereby keeping the code clean.
• Reduce Test Documentation: Instead of very lengthy
documentation, agile testers use reusable checklist, focus on the
essence of the test rather than the incidental details.
• Test Driven: In agile testing, testing is done while
implementation. 41
Name of Institution

HAPPY LEARNING!!

42

You might also like