Role of Agile model in software development

RaviRai305867 12 views 52 slides Sep 17, 2024
Slide 1
Slide 1 of 52
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52

About This Presentation

Agile software development


Slide Content

Agile
❑Extreme Programming (XP)
❑Scrum
S K Goel VESIT

Software Development Methodologies:
Waterfall Model
The waterfall model is a relatively linear sequential design approach for
certain areas of engineering design. In software development, it tends to
be among the less iterative and flexible approaches, as progress flows in
largely one direction ("downwards" like a waterfall) through the phases of
conception, initiation, analysis, design, construction, testing, deployment
and maintenance.
This is a traditional way of software development.
S K Goel VESIT

Problems with Waterfall Model:
S K Goel VESIT

Software Development Methodologies:
What is Agile?
Agile is an iterative approach to software development under which
requirements and solutions evolve through the collaborative effortof self-
organizing cross-functional teams and their customer(s).
It advocates adaptive planning, evolutionary development, early delivery,
and continuous improvement, and it encourages rapid and flexible
response to change.”
S K Goel VESIT

Why Agile:
•Faster Time to Market
•Early Delivery of Customer Value
•Early and Frequent Testing
•Transparency and Visibility
•Early Risk Identification and Mitigation
•Improves Return on Investment
•Accommodates change easily
•Early and Regular Process Improvement
•Breaks complex projects into smaller logical chunks
S K Goel VESIT

History of Agile:
In 2001, seventeen software developers met at a resort inSnowbird,Utahto
discuss these lightweight development methods, including among others.
Together they published the Agile manifesto (http://agilemanifesto.org).
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 overprocesses and tools
•Working software over comprehensive documentation
•Customer collaboration overcontract negotiation
•Responding to change overfollowing a plan
That is, while there is value in the items on the right, we value the items on
the left more.
S K Goel VESIT

Agility
Important in Agility
S K Goel VESIT

Agility and cost of change
S K Goel VESIT

What is an Agile Process
An agile SW process is characterized in a manner that addresses a number of key
assumptions
1.It is difficult to predict the priorities of a customer and also which sw requirement
persist and which will change.
2.2.For many types of sw , design and construction are interleaved
3.Analysis, design , construction and testing are not as predictable
How do we create a process that can manage unpredictability?
Ans: Process of Adaptability……
But Continuous Adaption without forward progress accomplishes a little….Hence
Agile Process model must adapt Incrementally, to accomplish incremental adoption
continuous feedback of customer is required , for this operational prototype is
required ,
S K Goel VESIT

Principles of Agile:
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.
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.
S K Goel VESIT

Various Agile Methods in Market:
•Scrum –Widely used
•Kanban –JIT –Reduce
Waste
•Extreme Programming (XP)
•Pair Programming
•Feature Driven Development
•Crystal
•Dynamic Systems
Development Method
•Agile Unified Process
S K Goel VESIT

Human Factors in Agile Development
Competence-Swrelated skills, Knowledge of process
Common Focus-deliver a working swIncrement to customer within time
promised
Collaboration-Among team members and other stakeholders
Decision making ability-Team is given Autonomy
Fuzzy Problem Solving ability-Today problem may not be tomorrow (but
Lesson learn may be benefit to the team later)
Mutual Trust And Respect
Self Organization-a. for the work itself b. process with best fit in the
environment c. work schedule
S K Goel VESIT

Agile Process models
13

14
Extreme Programming
(XP)
▪XP uses an object oriented approach.
▪XP has 4 framework activities:-Planning,
Design, Coding and testing.

➢XP Planning
Begins with the creation of user stories
Agile team assesses each story and assigns a
cost
Stories are grouped to for a deliverable increment
A commitmentis made on delivery date
After the first increment project velocityis used to
help define subsequent delivery dates for other
increments
15

16
➢XP Design
Follows the KIS principle
Encourage the use of CRC cards
For difficult design problems, suggests the creation of spike
solutions—a design prototype
Encourages refactoring —an iterative refinement of the internal
program design
➢XP Coding
Recommends the construction of a unit testfor a store before
coding commences
Encourages pair programming
➢XP Testing
All unit tests are executed daily
Acceptance testsare defined by the customer and executed to
assess customer visible functionality

17
Extreme Programming (XP)

IXP-Industrial XP
IXPdiffersmostfromtheoriginalXPinitsgreaterinclusionofmanagement,itsexpandedrolefor
customers,anditsupgradedtechnicalpractices.”IXPincorporatessixnewpracticesthatare
designedtohelpensurethatanXPprojectworkssuccessfullyforsignificantprojectswithinalarge
organization.
A)Readinessassessment.PriortotheinitiationofanIXPproject,theorganizationshouldconducta
readinessassessment.Theassessmentascertainswhether
(1)anappropriatedevelopmentenvironmentexiststosupportIXP.
(2)theteamwillbepopulatedbythepropersetofstakeholders.
(3)theorganizationhasadistinctqualityprogramandsupportscontinuousimprovement
(4)theorganizationalculturewillsupportthenewvaluesofanagileteam
(5)thebroaderprojectcommunitywillbepopulatedappropriately.

B)Projectcommunity.ClassicXPsuggeststhattherightpeoplebeusedtopopulatetheagileteamto
ensuresuccess.InIXP,thecommunitymembersandtheirrolesshouldbeexplicitlydefinedand
mechanismsforcommunicationandcoordinationbetweencommunitymembersshouldbeestablished.
C)Projectchartering.TheIXPteamassessestheprojectitselftodeterminewhetheranappropriate
businessjustificationfortheprojectexistsandwhethertheprojectwillfurthertheoverallgoalsand
objectivesofthe organization.Charteringalsoexamineshowitcomplements,extends,orreplaces
existingsystemsorprocesses.
D)Test-drivenmanagement.AnIXPprojectrequiresmeasurablecriteriaforassessingthestateofthe
projectandtheprogressthathasbeenmadetodate.Test-drivenmanagementestablishesaseriesof
measurable“destinations”[Ker05]andthendefinesmechanismsfordeterminingwhetherornotthese
destinationshavebeenreached.

E)Retrospectives.AnIXPteamconductsaspecializedtechnicalreviewafterasoftwareincrementis
delivered,Calledaretrospective,thereviewexamines“issues,events,andlessons-learned”acrossasoftware
incrementand/ortheentiresoftwarerelease.TheintentistoimprovetheIXPprocess.
F) Continuouslearning.Becauselearningisavitalpartofcontinuousprocessimprovement,membersof
theXPteamareencouraged(andpossi-bly,incented)tolearnnewmethodsandtechniquesthatcanleadto
ahigher-qualityproduct.
Inadditiontothesixnewpracticesdiscussed,IXPmodifiesanumberofexistingXPpractices.
➢Story-drivendevelopment(SDD)insiststhatstoriesforacceptancetestsbewrittenbeforeasinglelineof
codeisgenerated.
➢Domain-drivendesignDDDsuggeststheevolutionarycreationofadomainmodelthat“accurately
representshowdomainexpertsthinkabouttheirsubject
➢PairingextendstheXPpair-programmingconcepttoincludemanagersandotherstakeholders.The
intentistoimproveknowledgesharingamongXPteammemberswhomaynotbedirectlyin-volvedin
technicaldevelopment.
➢Iterativeusabilitydiscouragesfront-loadedinter-facedesigninfavorofusabilitydesignthatevolvesas
softwareincrementsaredeliveredandusers’interactionwiththesoftwareisstudied.
➢IXPmakessmallermodificationstootherXPpracticesandredefinescertainrolesandresponsibilitiesto
makethemmoreamenabletosignificantprojectsforlargeorganizations.

S K Goel VESIT

Example:
Develop a Product –Generic
Steps Involved.
1.Identify What do you need in a product.
2.How to build the product
3.Gather a team and required resources
4.Team Works on Building a prototype
5.Test the product that is developed
6.Build the complete Product
S K Goel VESIT

Video: Scrum
https://www.youtube.com/watch?v=2Vt7Ik8Ublw
https://www.youtube.com/watch?v=iJ_sl6J8PRg
S K Goel VESIT

Scrum:
• Scrum: Iterative and incremental Agile software development
framework for managing software projects and product or application
development.
• Sprint: Time-boxed iteration during which a potentially releasable
product Increment is created.
• Design, Build and Test activities are performed within the Sprint.
• Sprint Duration:
Can be between 2-4 weeks; typically it is 4 weeks.
• Optimal SCRUM team size is 7-10 empowered and self-organizing
members.
S K Goel VESIT

Scrum Rules:
S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

Scrum Roles:
Scrum Master:
•Facilitating (not participating in) the daily stand-up
•Setting up retrospectives, sprint reviews or sprint planning sessions
•Removing obstacles that affect the team
•Walking the product owner through more technical user stories
•Encouraging collaboration between the Scrum team and product owner
Product Owner
•Contributes to Product vision and managing Product backlog.
•Define the features of the product.
•Decide on release date and content.
•Be responsible for the profitability of the product.
•Prioritize features according to market value .
Team –Co-located, Size should be 7 to 9 members
•Cross-functional:
•Programmers, testers, user experience designers, Leads etc.
•Teams are self-organizing
S K Goel VESIT

Scrum Ceremonies:
Sprint Planning:
A Sprint begins with a Sprint planning meeting and ends with a Sprint
Review and Retrospective meetings.
Daily Stand Up: A Huddle. A short organizational meeting that is held each
day.Limited to 15 minutes long, and is referred to as a stand-up, or a daily
scrum. Each team member has to answer the following three questions:
1) What did you do yesterday?
2) What will you do today?
3) Are there any impediments in your way? ( Impediment Log)
•Not for Problem Solving
Sprint Review: A meeting with project Stakeholders to demonstrate the
completed solution capabilities from that Sprint
Sprint Retrospective: A meeting with the Project Team to reflect on the
experiences of the Sprint
S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

Scrum Lifecycle:
S K Goel VESIT

S K Goel VESIT

S K Goel VESIT

Terms used in Agile:
Product Backlog: List of user stories(features) that product should have. It includes Epic, Stories,
Bug and Non Functional Requirements along with the priority. It has requirements of what that is
going be build , sorted by importance.
Sprit Backlog – Is a Subset of Product backlog and has stories prioritised for the sprint.
Epic : Features at a high level
User Story: A granular requirement of a feature.
e.g.As an internet banking customer I wantto see a rolling balance for my everyday accounts so
that I know the balance of my account after each transaction is applied
Rule - INVEST - Independent ,Negotiable, Valuable, Estimable, Small, Testable.
Priority - MoSCoW(Must Have, Should Have, Could Have, Won’t have)
Acceptance criteria: Are a set of statements, each with a clear pass/fail result, that specify both
functional and non-functional requirements, and are applicable at the Epic, and Story Level
•The rolling balance is calculated for each transaction
Definition of Done
In order to be able to decide when an activity from the Sprint Backlog is completed, the
Definition of Done (DoD) is used. It is a comprehensive checklist of necessary activities that ensure
that only truly done features are delivered, not only in terms of functionality but in terms of quality
as well.
S K Goel VESIT

Estimations in Scrum.
Story Point:
Story points are used to express the size of user story. = Effort X Complexity X Uncertainty
Numbers from Fibonacci sequence is used to represent story points
•It’s a relative estimation based on individual's gut feel
•Story Points does not have any ‘unit’
•Planning poker is a popular method used for estimating
A. Each team member
•Reads the user story
•Privately picks up a poker card
•All members display card at once
B. There will be variation in estimates !
C. If the estimations are close; team quickly discuss and agree upon a value
D. If the variation is too wide then rationale for lowest and highest estimate are discussed
E. Team repeats step A
S K Goel VESIT

Scrum Metrices:
Team Velocity:
Amount of work completed by team in last completed sprint. I.e. Sum of
story points delivered in the recent sprint.
Burn down chart is a graphical representation of work left to do versus time.
The outstanding work (or backlog) is often on the vertical axis, with time
along the horizontal. That is, it is a run chart of outstanding work. It is useful
for predicting when all of the work will be completed.
Burn up chart:
This is used to track progress of the release, Amount of work completed so
far in the release.
S K Goel VESIT

Tools Used widely in industry for Agile Projects
Jira by Atlassian –Can create sprint boards, Manage Product backlog etc.
Trello by Atlassian –Used primarily for Kanban boards
Asana –Agile Project Management tool
Version One –By Agile Enterprises
Mingle –ThoughtWorksInc
S K Goel VESIT

Review :
Video: Scrum
https://www.youtube.com/watch?v=2Vt7Ik8Ublw
https://www.youtube.com/watch?v=iJ_sl6J8PRg
S K Goel VESIT

THE END
S K Goel VESIT
Tags