New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here

CSE360 Week 4 Notes

by: Alexandra Notetaker

CSE360 Week 4 Notes CSE 360

Alexandra Notetaker
GPA 3.5

Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

These notes cover Agile Methods of Software Development
Software Engineering
Debra Calliss
Class Notes
CSE360, software engineering, Computer Science, classnotes, notes, Lecture Notes
25 ?




Popular in Software Engineering

Popular in Computer Science and Engineering

This 6 page Class Notes was uploaded by Alexandra Notetaker on Friday September 9, 2016. The Class Notes belongs to CSE 360 at Arizona State University taught by Debra Calliss in Fall 2016. Since its upload, it has received 5 views. For similar materials see Software Engineering in Computer Science and Engineering at Arizona State University.

Similar to CSE 360 at ASU

Popular in Computer Science and Engineering


Reviews for CSE360 Week 4 Notes


Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 09/09/16
CSE 360 CHAPTER 3-AGILE SODTWARE DEVELOPMENT  RapidSoftware Development  Rapiddevelopmentanddeliveryisnow often the mostimportantrequirementfor software systems.  Businessesoperate in afast-changing requirementanditis practicallyimpossible to produce asetofstable software requirements.  Software hastoevolve quicklytoreflectchanging businessneeds.  Plan-driven developmentisessentialfor some typesofsystemsbutdoesnotmeetthese businessneeds.  Agile developmentmethodsemergedin the late 1990s,with theaimtoradicallyreduce the deliverytime for working software systems.  Agile Methods  Dissatisfaction with theoverheadsinvolvedin softwaredesign methodsoflate 80sand90sled tocreation ofagile methods:  Focuson thecode ratherthan thedesign  Basedon iterative approach  Intendtodeliverworking software quicklyandevolvetoquicklychanging requirements.  The aimofagile developmentistoreduce overhead in thesoftware process(e.g.limiting documentation)andtobeable torespondquicklytothechanging requirements without excessive work.  Manifestofor Agile SoftwareDevelopment  “Weareuncovering better waysofdeveloping softwarebydoing itandhelping others.Through thisworkwe have come tovalue:  Thatis,while there isvaluein theitemson theright,we value the itemson theleftmore.”  PrinciplesofAgile Methods  Human Factors  The processmoldstotheneedsofthepeople andtheteam,notthe otherwayaround.  Keytraitsmustexistamong thepeopleon the agile teamandtheteamitself:  Competence  Common focus  Collaboration  Decision-making  Problem-solving  MutualTrust/Respect  Self-organization  TestDrivenDevelopment  Writingtestsbeforecode clarifiestherequirementstobe implemented  Testsarewritten asprogramsrather than datasothattheycan be executedautomatically.The test includesacheck thatithasexecutedcorrectly.  Usuallyrelieson testing framework(Junit)  Allpreviousandnew testsarerun automaticallywhen new functionalityisadded,thuschecking that thenew functionalityhasnotintroducederrors.  CustomerInvolvement  The role ofthecustomerinthetesting processistohelpdevelopacceptance testsfor the storiesthat aretobe implementedin thenextreleaseofthesystem  The customer,whoispartoftheteam,writestestsasdevelopmentproceeds.Allnew code is thereforevalidatedtoensurethat itiswhatthecustomerneeds.  However,people adoptingthecustomer role have limitedtime available andsocannotwork full-time with the developmentteam.Theymaynowfeelthat providing therequirementswas enough ofacontribution andmaybe reluctanttoget involvedin the testing process.  TestAutomation  Meansthattestsare written asexecutablecomponentsbefore the task isimplemented  Testing componentsshouldbe stand-alone,simulatesubmission ofinputtobe tested,and check theresults(Junit)  Astesting isautomated,there isalwaysa setofteststhat can be quicklyandeasilyexecuted.  Whenever functionalityisadded,thetestscan be runandproblemsthathave been introducedcan be caught.  Problemswith testdrivendevelopment  Programmersprefer programming totesting andsometimestakeshortcutswhen writing tests.  Sometestscan beverydifficulttowriteincrementally  Itisdifficultto judge completenessofasetoftests  Althoughyou mayhave alotoftests,yourtest maynotprovide fullcoverage.  Pair Programming  Involvesprogrammersworking in pairs,developing together  Helpsdevelopcommon ownership ofcode andspreadsknowledge acrossthe team.  Informalreview process  Encouragesrefactoring asthewhole teamcan benefitfromimproving systemcode  AgilityandCostofChange  Agile ProjectManagement  The principleresponsibilityofsoftwareprojectmanagersistomanage the projectsothat the software isdeliveredon timeandwithin theplannedbudget.  Standardapproachisplan-driven.Managersdraw up aplan for theproject;deliverables  Agile projectmanagementsrequiresadifferentapproach,whichisadaptedtoincremental developmentandthepracticesusedin agile methods.  SCRUM  Agile methodthat focuseson managing iterative developmentratherthan specific agile practices.  HerephasesofSCRUM:  Initialphase:outline planning phase  Establishgeneralobjectives  Design software architecture  Sprintcycles:eachcycle developsan incrementofthesystem  ProjectClosure Phase:completesrequireddocumentation  i.e.systemhelp,user manuals—lessonslearned)  SCRUM SprintCycle  Sprintsarefixedlength (2-4 weeks)  Startingpointfor planning=productbacklog  Listofworktobe done ontheproject  Selection phase:teamworkswith customer toselectfeaturesandfunctionalityfromproduct backlog—tobe developedduring sprint  The SprintCycle  Teamorganizestodevelopsoftware  Isolation fromcustomer communication thru ScrumMaster  ScrumMaster:protectteamfromdistractions  Endofsprint,workisreviewedandpresentedtostakeholders  Nextsprintcycle begins  DailySCRUM (3questions)  1.Whatdidyou work onyesterday?  2.Whatareyou going toworkon today?  3.Arethereanyproblems?  SCRUMBenefits  Manageableandunderstandable  Unstablerequirementsdonothold  Teamvisibility  Customer communication andfeedback  Trustisdeveloped  Refactoring  Lookfor possible software improvementsandmake them  Improvesunderstanding ofsoftwareandreducesdocumentation  Changesareeasier tomake because code isclear  Architecture refactoring ismore expensive  Ex:  re-organizing classhierarchytoremoveduplicate code  Tidingup/renaming attributes/methodsfor easierunderstanding  Replaceinline code with callstomethodsthatarein programlibrary  Practicalproblemswith Agile Methods  Informalityofagile developmentisincompatible withlegalapproach tocontractdefinition commonlyusedin legalcompanies  Agile methodsappropriatefor new software developmentrather than maintenance  Designedforsmallco-locatedteams  Agile andPlan-drivenMethods  Mostprojectsinclude elementsofboth:  Detailedspec/design plan-driven  Incrementaldeliveryagile  Smallsystemagile  Large systemplan-driven  People andTeams  Agile methodsrequire skilledprogrammers  Plan-driventranslate design intocode  Organization  Design documentsifteamisdistributed  Support?  IDEsupport andprogramanalysis  =essentialifdesign documentisnotavailable.


Buy Material

Are you sure you want to buy this material for

25 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Jim McGreen Ohio University

"Knowing I can count on the Elite Notetaker in my class allows me to focus on what the professor is saying instead of just scribbling notes the whole time and falling behind."

Amaris Trozzo George Washington University

"I made $350 in just two days after posting my first study guide."

Steve Martinelli UC Los Angeles

"There's no way I would have passed my Organic Chemistry class this semester without the notes and study guides I got from StudySoup."


"Their 'Elite Notetakers' are making over $1,200/month in sales by creating high quality content that helps their classmates in a time of need."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.