SYBTech_2021_Patt_Unit3 Agile Development.pdf

NitinShelake4 31 views 82 slides May 10, 2024
Slide 1
Slide 1 of 82
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
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82

About This Presentation

Agile Development, Scrum, XP, IXP


Slide Content

SoftwareEngineeringModelingandDesign
Unit –III AgileDevelopment
Agile Development: Agile manifesto, agility and cost of change, Agility principles,
myth of planned development.
Extreme Programming: XP values, process, industrial XP
SCRUM: processflow, scrumroles, scrumcycle description, product backlog,
sprint planning meeting, sprint backlog, sprint execution, daily scrum meeting,
maintaining sprint backlog and burn-down chart, sprint review and retrospective.
Agile Practices: test driven development, refactoring, pair programming,
Continuous integration, exploratory testing versus scripted testing.
Introduction to Kanbanand its comparison with SCRUM Process.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgileDevelopment
Agilesoftwareengineeringcombinesa philosophyandasetofdevelopment
guidelines
The philosophy encourages customer satisfaction and early incremental
deliveryofsoftware;small,highlymotivatedprojectteams;informalmethods;
minimal software engineering work products; and overall development
simplicity.
Thedevelopmentguidelinesstressdeliveryoveranalysisanddesign, andactive
andcontinuouscommunication betweendevelopersand customers.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
What is an AgileProcess?
Anyagilesoftwareprocessis characterizedinamannerthat addressesa numberof
keyassumptionsaboutthe majorityof softwareprojects:
Itisdifficulttopredictinadvancewhichsoftwarerequirementswillpersist
andwhichwillchange.Itisequallydifficulttopredict howcustomerpriorities
will changeastheprojectproceeds.
Formanytypesofsoftware,design andconstructionareinterleaved.That
is, both activities should be performed in tandem so that design models are
proven as they are created. It is difficult to predict how much design is
necessarybeforeconstructionisusedtoprovethe design.

SoftwareEngineeringModelingandDesign
What is an Agile Process?
Anyagilesoftwareprocessis characterizedinamannerthat addressesa numberof
keyassumptionsaboutthe majorityof softwareprojects:
Analysis, design, construction, and testing are not as predictable (from a
planningpointofview)aswe mightlike.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
What is Agility?
Agility in software engineering refers to the ability of a software development
team to respond quickly and effectively to changes in project requirements or
market demands.
The team works closely with the customer or product owner to prioritize
features and adjust the project scope as needed.
Twelve Principles
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
TheCostofChange
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Ourhighestpriority istosatisfythecustomerthroughearlyandcontinuous
deliveryofvaluablesoftware.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Welcomechangingrequirements,evenlate indevelopment.Agileprocesses
harnesschangefor thecustomer’scompetitiveadvantage.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Deliverworkingsoftwarefrequently,fromacoupleofweeksto acoupleof
months,witha preferenceto the shortertimescale.

SoftwareEngineeringModelingandDesign
AgilePrinciples
Businesspeopleanddevelopersmustworktogetherdaily throughoutthe
project
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Buildprojects aroundmotivatedindividuals.Givethemthe environmentand
supporttheyneed,andtrustthemto getthe job done.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Themostefficientandeffectivemethod ofconveyinginformationtoand
withina developmentteamisface-to-faceconversation
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Workingsoftwareisthe primarymeasure ofprogress
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Agileprocesses promotesustainabledevelopment.Thesponsors,developers,
andusersshouldbeableto maintainaconstantpaceindefinitely
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Continuous attention to technical excellence and good design enhances
agility.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Simplicity—the artofmaximizingtheamountofworknotdone—isessential.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
Thebestarchitectures,requirements,anddesignsemerge from self–organizing
teams.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePrinciples
At regularintervals,theteamreflectsonhowtobecomemoreeffective,then
tunesandadjustsitsbehavioraccordingly.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgileManifesto
Documentthatidentifiesfourkeyandtwelveprinciples
Fourcorevalues
Individualsandinteractions overprocessesandtools
Workings/wovercomprehensivedocumentation
Customercollaborationovercontractnegotiation
Respondingtochangeoverfollowingplan
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
SummaryAgileDevelopment
FastestDevelopmentMethodology
NoDocumentationOverhead
FocusonCodedevelopment
FrequentlyDelivery
Customersatisfaction
Changeaccepted
Facetofaceconversation
Customerinvolvedin development
Selforganizing,selfmotivatedandhighlyexperienced
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
HumanFactors
Agiledevelopmentfocusesonthetalentsandskillsofindividuals,moldingthe
processto specific peopleandteams
Competence-specific software-related skills, and overall knowledge of the
processthatthe team has chosento apply
Commonfocus-tasksandbringdifferentskills-focusedon onegoal-to
deliver a working software increment to the customer within the time
promised
Collaboration–stakeholders,comps/w& database
Decision-makingability-allowedthefreedomto controlitsowndestiny
Mutualtrust andrespect–amongall
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
ExtremeProgramming(XP)
mostwidely usedapproachto agilesoftwaredevelopment.
XP is lightweight, efficient, low-risk, flexible, predictable and fun way to develop
asoftware
Rapidlychangingrequirements
XPvalues-establishafoundationforallworkperformedaspartof XP
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
XPvalues
Communication
Effective communication betweens/wengg.andstakeholders
Toestablishfeatures andfunctionsforthes/w
Collaborationbetweencustomers&developerscontinuousfeedback,avoid f
voluminous documentation a communication Medium.
Simplicity
Restrictsdevelopersto designonlyfor immediateneeds
Intentistocreateasimpledesign
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
XPvalues
Feedback
Implementeds/witself,thecustomerands/wteammembers
Bydesigningandimplementinganeffectivetestingstrategy
the softwareprovidesthe agileteam withfeedback
Courage
Abetter wordmight bediscipline
“designingfortomorrow”
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
XPvalues
Respect
Respect amongmembers,betweenotherstakeholdersandteammembers and
indirectly,for thes/witself.
Astheyachievesuccessfuldeliveryof softwareincrements,theteamdevelops
growingrespectforthe XPprocess.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
The XPProcess

SoftwareEngineeringModelingandDesign
The XP Process
Extreme Programming uses an object-oriented approach as its preferred
development paradigm and encompasses a set of rules and practices that
occur within the context of four framework activities: planning, design,
coding, and testing.
The XP process and notes some of the key ideas and tasks that are
associated with each framework activity.
Asimpledesignis alwayspreferredoveramore complexrepresentation
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Framework Activities
Planning
Theplanningactivitybeginswithlistening,requirementsgathering
creation ofasetof“stories” (alsocalleduserstories)
basic commitment (agreement on stories to be included, delivery date, and
otherprojectmatters)
Design
XPdesignrigorouslyfollowsthe keepitsimpleprinciple
Asimpledesignis alwayspreferredoveramore complexrepresentation
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Framework Activities
Design
XPdesignrigorouslyfollowsthe keepitsimple
principle
Asimpledesignis alwayspreferredoveramore
complexrepresentation
If a difficult design problem is encountered
as part of the design of a story, XP recommends
the immediate creation of an operational prototype
of that portion of the design. Called a spike
solution,the design prototype is implemented and
evaluated
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Framework Activities
Coding
Refactoring
Pairprogramming
Continuousintegration
Testing
XPacceptancetests,alsocalledcustomertests
Overallfeatures&functionalitythatarevisible&reviewableby the customer.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
IndustrialXP
IXPisanorganicevolutionofXP
Its expanded role of customers & its upgraded technical practices
Incorporatesixnewpractices
Readinessassessment
anappropriatedevelopmentenvironmentexists to supportIXP
theteamwillbe populatedby thepropersetofstakeholders
theorganizationhasa distinctqualityprogramandsupportscontinuous
improvement
thebroaderprojectcommunitywillbe populatedappropriately
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
IndustrialXP
Projectcommunity
ClassicXPsuggeststhattheright peoplebeusedtopopulate theagile
teamtoensure success
Theimplicationisthat peopleontheteam mustbewell-trained,
adaptable andskilled,andhavethepropertemperamenttocontributetoa
self-organizingteam
Acommunitymayhaveatechnologist andcustomerswhoare centralto
thesuccessofaprojectaswellasmanyotherstakeholders(e.g.,legal
staff,qualityauditors, manufacturing orsalestypes)
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
IndustrialXP
Project charactering
Project itself to determine whether an appropriate business justification
for the project exists and the project will further overall goal-objectives
of organization.
Charteringalsoexaminesthecontext oftheprojecttodeterminehowit
complements,extends,orreplacesexistingsystemsorprocesses.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
IndustrialXP
TestDrivenManagement
An IXP project requires measurable criteria for assessing the state of the
projectandthe progressthathas been madetodate.
Test-drivenmanagementestablishesa series of measurable
“destinations”andthen definesmechanismsfordeterminingwhetheror
notthese destinations havebeen reached.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
IndustrialXP
Retrospectives
An IXP team conducts a specialized technical review after a software
incrementisdelivered.Calledaretrospective,
the review examines “issues, events, and lessons-learned” across a
software incrementand/ortheentiresoftware release.
The intentistoimprovetheIXPprocess.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
IndustrialXP
ContinuousLearning
Becauselearningisavital partofcontinuousprocessimprovement,
membersofthe XPteamareencouragedtolearnnewmethodsand
techniquesthatcanlead toahigherqualityproduct.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
OtherAgileProcessModels
ThemostwidelyusedofallagileprocessmodelsisExtremeProgramming
(XP).Butmanyotheragile processmodelshavebeenproposedandarein
useacrossthe industry.
Among themostcommonare:
AdaptiveSoftwareDevelopment (ASD)
Scrum
DynamicSystemsDevelopmentMethod(DSDM)
FeatureDrivenDevelopment (FDD)
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Scrum
IsanagilesoftwaredevelopmentmethodthatwasconceivedbyJeff
Sutherlandand hisdevelopmentteam intheearly1990s.
Scrumprinciplesareconsistentwiththeagile manifesto
usedtoguidedevelopmentactivitieswithinaprocessthatincorporatesthe
followingframeworkactivities:
requirements
analysis
design
Evolution
delivery
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Scrum
frameworkactivity,worktasks occurwithin aprocesspatterncalleda
sprint.
Theworkconductedwithin asprintisadaptedtotheproblem athandandis
definedandoften modifiedin realtimebytheScrumteam
Scrumemphasizesthe useofasetofsoftwareprocesspatternsthathave
proven effectiveforprojects withtighttimelines,changingrequirements,
andbusinesscriticality.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Scrum
Eachoftheseprocess patternsdefinesasetofdevelopmentactions:
Backlog—aprioritizedlistofprojectrequirementsorfeaturesthatprovide
businessvalue forthecustomer.Itemscanbeaddedtothebacklogat any
time(thisishowchangesare introduced).
The product manager assesses the backlog and updates priorities as
required.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Scrum
Sprints—consistofworkunitsthatarerequired toachievearequirement
definedinthebacklogthatmustbefitintoa predefinedtime-box.
Changesarenotintroducedduringthesprint.
Scrummeetings—are shortmeetingsheld daily bytheScrum team.
Threekeyquestionsareaskedandansweredbyallteammembers:
Whatdidyoudosincethelastteam meeting?
What obstaclesareyou encountering?
Whatdoyou plantoaccomplishbythe nextteammeeting?
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Scrum
A team leader, called a Scrum master, leads the meeting and assesses the
responsesfromeachperson.
The Scrum meeting helps the team to uncover potential problems as early as
possible
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Scrum
Demos—deliverthesoftwareincrementtothecustomersothat
functionalitythathasbeenimplementedcanbe demonstratedandevaluated
bythecustomer.
Itisimportanttonotethatthedemomaynotcontainallplanned
functionality, butratherthosefunctionsthatcanbedeliveredwithinthe
time-boxthatwasestablished
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
ScrumRole
AScrumteam consistsofthree roles:theScrumMaster,theproduct
owner,andthedevelopmentteam.
Whilethereisonly oneScrumMasterandoneproductowner,thereare
generallyseveraldevelopmentteammembers.
Scrumteamsaresmall.
TheScrumGuiderecommends10orfewertotalmemberstoensure optimal
communicationandproductivity
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
ScrumMaster
AScrumMaster isresponsibleforensuringaScrum team isoperatingas
effectively as possiblewithScrumvalues.
Thismeanstheykeepthe teamontrack,planandleadmeetings,andwork
outanyobstacles theteammightface
ScrumMastersmightalsoworkinalargerrolewithinanorganizationto
helpitincorporateScrumconceptsintotheirwork.
Becausetheyarebothaleaderandabehind-the-scenessupporter,theyare
oftendescribed asthe“servant leader”oftheScrumteam.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
ScrumMaster
Scrum can look different from organization to organization and team to team,
making the specific tasks of a Scrum Master varied. Broadly, however, a Scrum Master
mighthavethefollowing responsibilities:
FacilitatedailyScrummeetings(alsocalled“dailystandups”)
Leadsprintplanningmeetings
Conduct “retrospective” reviews to see what went well and what can be improved
forthefollowingsprint
Keepapulseon teammembers,throughindividualmeetingsorothermeans of
communication.
Manageobstaclesthat ariseforthe teambycommunicatingwithstakeholders
outsideoftheteam
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
ProductOwner
AproductownerensurestheScrumteamalignswithoverallproduct
goals.
They understand thebusinessneedsoftheproduct,likecustomer
expectationsandmarkettrends.
Becausetheyhaveto understandhowtheScrumteamfitsintobigger
picturegoals,
productownersusuallystayintouchwithproductmanagersandother
stakeholdersoutsidetheteam.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
ProductOwner
Productownersmightfindthemselveswiththefollowing responsibilities:
Managetheproductbacklogbyordering workbypriority
Settheproductvisionfor theteam
Communicatewithexternal stakeholdersandtranslatetheirneedsto
theteam
Makesuretheteam is focusedonhittingproductneedsthrough
communicationandevaluatingprogress
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
DevelopmentTeam
Adevelopmentteamiscomposedof professionalswhodothehands-on
workofcompletingthetasksinaScrumsprint.
Thismeansdevelopmentteam memberscan becomputerengineers,
designers,writers,dataanalysts,oranyotherroleneededtoreachsprint
goals.
Thedevelopment teamdoesn’tjustwaitfororders; they usuallycollaborate
tomapoutgoalsandplansforachievingthem.
Notall developmentteammemberswillalwayshavethesame
responsibilities
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
DevelopmentTeam
Developmentteamcanbetaskedwith the following:
Help insprint planningandgoalsetting
expertise toprogram,design,orimprove products
Usedatato findbestpracticesfor development
Testproductsandprototypes,plusotherformsofqualityassurance
Self-Organizedscrumsteams
SoftwareEngineeringModelingandDesign–Overview Agile Development Process
Mr. N. L. Shelake

SoftwareEngineeringModelingandDesign
ScrumCycleDescription
A Scrum sprint cycle is a time-boxed period when a team delivers a set
amount of work.
Itistypicallytwotofourweeksindurationandeachsprintstartsthe
momentthepreviousoneiscompleted.
TheScrumsprintcycleisoftenreferredtoas aprocessofcontinuous
development.
Itdeliversaconsistentworktaskforproductreleasesand keepsthe
project’s momentumgoinguntilcomplete.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Stages ofthe Scrum sprintcycle
TheofficialScrumGuidementionsfollowingeventsthatrepresentthe
Scrum sprintcycle
Sprintplanning-KickingofftheSprintanddefiningwhatneedstobe
completed
Daily Scrum-Developersmeetfor fifteen minuteseverydayto share
whattheyhaveworkedon, anyissuesblockingthem,andwhattheywill
beworking on next
Sprintreview-Evaluatewhatwasdeliveredanddecidewhatshouldbe
workedonin thenextsprint
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Stages ofthe Scrum sprintcycle
Sprintretrospective-Areviewoftheprocesstoimprovethenextsprint
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprintplanning
Sprintplanningisaneventinscrumthatdefineswhatcanbedeliveredin
the upcomingsprintandhowthatworkwillbe achieved.
Inscrum,thesprintis aset periodoftime whereallthe workisdone.
Sprintgoal,sprintstart-end,sprintagenda
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Burndown ChartinScrum
Aburndownchartisagraphicalrepresentationofworklefttodoversus
time
Itisoften usedinagilesoftwaredevelopment methodologiessuchas
Scrum.
burn downchartscanbeappliedtoanyprojectcontainingmeasurable
progressovertime.
Typically,inaburndownchart, theoutstandingworkisoftenonthevertical
axis,withtimealongthe horizontal.
Itisuseful forpredictingwhenalloftheworkwillbecompleted.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Burndown ChartinScrum
IntheDailyScrumtheDevelopmentTeamupdates theSprintBurnDown
andplots the remainingworkoftheday.Aburndownchartisalmosta
“must”have toolforaScrumteamforthefollowingmainreasons:
monitoringtheprojectscope
Keepingtheteamrunningonschedule
Comparingthe plannedworkagainstthe teamprogression.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Burndown Chart inScrum
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Review?
A sprint review is a key event in the Scrum framework for
agile software development.
It is held at the end of each sprint, which is a time-boxed
period of typically two to four weeks during which a
development team works on a set of prioritized user stories
or tasks.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Review?
During Review, demonstrates the work they have
completed during the sprint to the product owner,
stakeholders, and other members of the organization.
goal of the review is to assess the progress of the team,
obtain feedback from stakeholders, and planfor the next
sprint
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Review?
typically involves a presentation of the working
software or product increment that the team has developed
during the sprint.
The team walks through the completed user stories or
tasks, highlighting any challenges or accomplishments that
occurred during the sprint
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Review?
Stakeholders, including the product owner and other
members of the organization, are invited to provide
feedback on the work completed during the sprint.
They may ask questions or provide suggestions for
improvement. This feedback is then taken into consideration
when planning for the next sprint.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Review?
The sprint review is a critical event in the Scrum framework
that provides an opportunity for the development team to
showcase their work, obtain feedback, and plan for the
next sprint. It is a valuable tool for ensuring that the team is
on track and delivering value to stakeholders
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Retrospective?
The development team reflects on the previous Sprint and
examineshow they can improve their processes, teamwork,
and collaboration.
The goal of the retrospective is to identify what went well,
what didn't go well, and what changes the team can make
to become more effective in the next Sprint.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Retrospective?
typically led by the Scrum Master,who facilitates the
discussion and helps the team identify areas for improvement
The team reviews the results of the Sprint, including the
completed user stories or tasks, any issuesthat arose, and
any feedback received from stakeholders during the Sprint
review.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Sprint Retrospective?
The team then identifies specific action items that they can
take to improve their processes, teamwork, and
collaboration, documented in a Sprint backlog and become
part of the plan for the next Sprint.
Tool for the development team to continuously improve
their processes and become more effective.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
AgilePractices-Refactoring
Aconstructiontechniquethatisalsoamethodfordesignoptimization
Refactoring istheprocess ofchanging asoftwaresysteminsuchawaythat
it doesnotaltertheexternalbehavior ofthecodeyetimprovestheinternal
structure.
Refactoring allowsasoftwareengineer toimprovethe internalstructureofa
design (or source code) without changing its external functionality or
behavior.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Refactoring
Itisa disciplinedwaytocleanupcode[andmodify/simplifytheinternal
design]thatminimizesthechancesofintroducingbugs.
Inessence,whenyou refactoryouareimprovingthedesignofthecodeafter
ithas been written.
refactoring canbeused toimprovethe efficiency,readability,or
performance ofa design orthecodethatimplementsa design.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
PairProgramming
XPrecommendsthat twopeopleworktogetheratonecomputerworkstation
to createcodefora story.
This provides a mechanism for realtime problem solving (two heads are
oftenbetterthanone)andreal-timequalityassurance (thecode isreviewed
asit iscreated).
Italsokeepsthedevelopersfocusedon the problemathand.Inpractice,
eachpersontakesonaslightlydifferentrole
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
PairProgramming
Forexample,
one personmightthinkaboutthecodingdetailsofaparticularportionof
the designwhilethe otherensuresthatcodingstandards(arequiredpartof
XP)arebeing followedorthatthecodefor thestorywillsatisfytheunit
testthathasbeendevelopedto validatethecode against thestory
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
PairProgramming+continuousintegration
As pairprogrammerscompletetheirwork,thecodetheydevelop is
integrated withtheworkofothers.Insome casesthisisperformedona
dailybasisbyanintegrationteam.
Inothercases,the pairprogrammershaveintegrationresponsibility.
This“continuousintegration”strategyhelps toavoidcompatibilityand
interfacingproblemsandprovidesa“testing”environmentthathelpsto
uncovererrorsearly
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
PairProgramming
Pairprogrammingcanbecharacterizedasacontinuousdesk check.Rather
thanschedulinga review atsome pointintime,
pairprogrammingencouragescontinuousreviewasaworkproduct(design
orcode)iscreated.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Test-DrivenDevelopment
Test Driven Development (TDD) is a software development practice
that focuses on creating unit test cases before developing the
actual code.
It is an iterative approach combining programming, unit test
creation, and refactoring.
The TDD approach originates from the Agile manifesto principles
and Extreme programming.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Test-DrivenDevelopment
As the name suggests, the test process drives software development.
Moreover, it’s a structuring practice that enables developers and testers
to obtain optimized code that proves resilientin the long term.
Developerscreatesmalltestcasesforeveryfeaturebasedontheir
initialunderstanding.Theprimaryintentionofthistechniqueisto
modifyorwritenewcodeonlyifthetestsfail.Thisprevents
duplicationoftestscripts.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Test-DrivenDevelopment
Requirements drive design,anddesignestablishesafoundation
for construction
Requirements forasoftwarecomponentserveasthe basis forthecreation
of aseriesoftestcasesthatexercisetheinterfaceandattempttofinderrors
in thedatastructuresand functionalitydeliveredbythecomponent
TDDisnotreallyanewtechnologybutratheratrend thatemphasizesthe
designoftestcases before thecreationofsourcecode.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Test-DrivenDevelopment
Calculator Function:
Whenbuildingacalculatorfunction,aTDDapproachwouldinvolvewriting
atestcaseforthe“add”functionandthenwritingthecodefortheprocessto
passthattest.
Oncethe“add”functionisworkingcorrectly,additionaltestcaseswouldbe
writtenforotherfunctionssuchas“subtract”,“multiply”and“divide”.
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Test-DrivenDevelopment
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Agile Development Process Mr. N. L. Shelake Department of Information Technology

SoftwareEngineeringModelingandDesign
Agile Development Process Mr. N. L. Shelake Department of Information Technology
SCRIPTED TESTING EXPLORATORY TESTING
The test scripts can be traced back to
the original requirements and
specifications to demonstrate test
coverage.
In this testing no well-documented,
clear, and measurable test coverage.
All test scripts and test cases are
designed and reviewed in advance.
As with scripted testing, in this test
cases cannot be reviewed in advance.
At the end of the testing cycle, testers
can confirm if all the requirements
have been met or not.
As there are no clear and documented
test cases, there is no way to check
and confirm that all the requirements
have been met.

SoftwareEngineeringModelingandDesign
ThankYou
Agile Development Process Mr. N. L. Shelake Department of Information Technology