Professional Documents
Culture Documents
Unit- 4
Agile Development Process
Prepared By: Prof. V. K. Wani
Introduction To Agile Development Process
2
It can be Defined as
A well-designed agile process may “flatten” the cost of change curve by coupling
incremental delivery with agile practices such as continuous unit testing and pair
programming.
1. Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes
harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the
project.
5. Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and
within a development team is face–to–face conversation.
7. Working software is the primary measure of progress.
Prepared By: Prof. V. K. Wani
Agility Principles
8
Myths Reality
Agile Development is Methodology It is set of principles that help to
develop the product technically.
agile development has more value for
working software than on
Agile has no documentation documentation But it doesn't mean it
has removed documentation
completely
Agile allows to accommodate the
Agile has no planning changes if necessary during the
software development process and
then plans the development further.
agile is not short lived. It is
Agile is temporary practiced since 70’s. hence it neither
short lived or temporary.
Prepared By: Prof. V. K. Wani
Myths of Planned Development
10
Myths Reality
As agile does not have the fixed
process, it is considered as
Agile is Undisciplined undisciplined which is not true. Agile
places greater value on individuals
and interactions than on processes
and tools.
The agile development has a focus to
create simple upfront design that
represents the general structure of
Agile has no upfront design software system. Hence designing
the features that may or may not be
required in future is avoided.
the agile process breaks the large,
Agile does not scale complex project into small modules.
Due to this agile is scalable.
Prepared By: Prof. V. K. Wani
Toolset & Methodologies for Agile Process
11
1. JIRA
2. Kanban
3. Extreme Programming
4. SCRUM
Every JIRA application (JIRA Core, JIRA Software, JIRA Service Desk) is
built on JIRA platform
JIRA platform provides a set of functionalities which are shared with all
JIRA application
Embedded Crowd is Atlassian’s Identity Management and Single Sign On (SSO) tool.
Both Jira and Confluence now embed a subset of Crowd’s core modules for powerful and
consistent user management which uses Lightweight Directory Access Protocol (LDAP).
Atlassian’s Scheduler : The Scheduler will create the issues for you. Your issues can be
created daily, weekly, monthly, or using your own custom interval. You can either use our
user-friendly interval wizard, or simply use the cron expression.
OFBiz EE is just an abstraction layer for moving between database tables and fancy
maps called GenericValues
20
The Control Chart shows the Cycle Time (or Lead Time) for your product,
version, or sprint. It takes the time spent by each issue in a particular status, and
maps it over a specified period of time. A Control Chart helps you identify
whether data from the current sprint can be used to determine future
performance.
The most widely used agile process or Metghod , It follows the principle of
Agility.
3. XP Values :- Beck defined the set of five values that serve as a basis for the
work performed in the xp.
4) Test Driven Management :- for assessing the state of project and its
progress the industrial XP needs some measurable criteria. In test driven
management the project is tested with the help of these measurable
criteria.
Roles
• Product Owner
• Scrum Master
• Team
Ceremonies
• Sprint Planning
• Daily Scrum Meeting
• Sprint Review
• Sprint Retrospective
Artifacts
• Product Backlog
• Sprint Backlog
• Sprint Burndown Chart
Type Example
Feature As a recruiter I want to search candidates using
keywords so that I can find the suitable job seeker
Change As a job seeker I want default ordering job search
results to be by freshness rather than location so
that its easier to see latest jobs first
Defects Please fix defect #148 so that space characters in
search wont crash the system
Technical Improvement Upgrade to the latest version of Internet
Information Server
Knowledge Acquisition Create integration prototype using MSSQL Server
and Salesforce.com and run performance test to
check real time integration speed and reports.
• The Sprint Backlog defines the work team will perform to turn selected
Product Backlog items into a “Done” Increment
• The list emerges during the Sprint.
• Every team member takes responsibility / ownership of each task in
progress task
• Each Tasks has information about estimated amount of work remaining on
the task on any given day during the Sprint
Prepared By: Prof. V. K. Wani
Sprint Backlog
39
The sprint burndown chart helps the Scrum team to monitor its progress and works as
an indicator of whether it will meet its commitment at the end of the sprint.
It requires teams to estimate the duration of each task in hours and on a daily basis to
chart the total remaining hours for all uncompleted tasks.
Helps to:
• Estimate new tasks and re-estimating in-progress tasks requires effort
• Re-estimate inaccurate tasks
• Completion of tasks delivers no value; only completed stories (features)
deliver value
The Team and the Product Owner collaborate to help the Team determine
how much Product Backlog it can turn into functionality during the upcoming
Sprint.
The Team create plans (Sprint Backlog) by identifying tasks for converting
selected Product Backlog into functionality
Team selects items from the product backlog that they can commit to
complete within a Sprint
Sprint backlog is created
Tasks are identified and each is estimated (1-16 hours)
Collaboratively, not done alone by the Scrum Master
High-level design is considered
Since the team is collaborating, it’s essential to ensure that continued project
progress and avoiding work blockages.
The team continuously assess its own progress towards achieving its sprint goal
and NOT report progress to the ScrumMaster or Product Owner or anyone else.
Observes
Provides
Facilitates
feedback
A Scrum Board is a tool that helps Teams make Sprint Backlog items visible.
The board can take many physical and virtual forms but it performs the same
function regardless of how it looks.
The board is updated by the Team and shows all items that need to be
completed for the current Sprint.
54
Continuous Review.
Less Defects caught early.
Better Problem Solving.
More Economical.
“Pair-Pressure” ensures timely delivery.
Rapid Hands-on Approach to Learning.
Better Induction of new Team Members.
Economy
Design Quality
Satisfaction
Learning
Team Building and Communication
Software Testing Types: Manual testing is the process of testing the software
manually to find the defects.
Testing Approaches:
1. Black Box Testing: is a software testing techniques in which functionality
of the software under test is tested without looking at the internal code
structure, implementation details and knowledge of internal paths of the
software
Testing Levels:
1. Unit Testing: individual units/ components of a software are tested. A unit
is the smallest testable part of any software
2. Integration Testing: In this individual units are combined and tested as a
group.
3. System Testing: is the testing of a complete and fully integrated software
product.
4. Acceptance Testing: This is a type of testing done by users, customers, or
to determine software needs and business processes.