Quality Assurance Management Of Capstone Course Projects

Transcription

Proceedings of Student-Faculty Research Day, CSIS, Pace University, May 6th, 2016Quality Assurance Managementof Capstone Course ProjectsAce Atienza, Joseph Martin, Devon Simmons, and Hugh EngSeidenberg School of CSIS, Pace University, Pleasantville, New YorkOur team, Team 9, is tasked specifically as theQuality Assurance team to help ensure standardizationand quality of project work. Quality Assurance (QA)is the adherence to proven processes, methodologies,and procedures, which help in completing a project orproducing a product, which meets or exceeds acustomer’s expectations. QA also includes qualitycontrol, which is the verification of produced outputagainst requirements. To do so, our deliverablesinclude oversight of the other teams’ weekly reportsand milestones, watching for changes in requirements,evaluating quality of project deliverables, creatingsurveys to capture project process details, and creatingtest cases and testing developed systems, and atechnical paper. In addition, the quality of the endproduct will be captured in a customer survey.Agile and Extreme Programming methodologiesare prescribed for the course and students are expectedto study and learn their team’s chosen methodologyindependently. Students are currently not required tofollow a specific methodology. This leads to achallenge in applying QA to Capstone courses: a teammay choose from a broad number of methodologies orthey may even choose not to use one. A methodologyor quality process should be applied to increase thequality of project work [4]. More importantly, qualityassurance should be incorporated from the verybeginning of the course [6] and students should betrained in the methodology that they will be using priortostartingprojectwork[12].Therefore, we propose adding a class-widedeliverable that a team must choose a methodology,and learn how to implement it prior to beginningproject work. An Agile methodology would bepreferred (ex: XP) for projects, which will createsystems, or Scrum for all other projects.This paper begins with an introduction to QA thenfollows with how Capstone courses have applied QA(State of the Industry). The paper then extends thework of the previous class (Spring 2015) byresearching and evaluating the current state of QAamong capstone projects in other universities. AfterAbstractPace University's Capstone provides real worldexperience to students by completing projects foruniversity faculty, the community, and businesses.Quality assurance is the management of processes aswell as verification of each teams output to ensure thatthey meet or exceed the customer's requirements Thispaper provides details on methods of qualityassurance such as standardization of reports,oversight of teams, manual test cases, and surveys forboth students and customers. In addition, the paperresearches current QA methods of other colleges anduniversities. Survey results suggest additionalrequirements and processes should be put in place toramp students up before they start on project work inorder to increase quality of the end product.1. IntroductionPace University’s IT691 Capstone Project courseteaches students how to complete real worldcomputing projects by working to solve problems andrequirements for University staff and externalcustomers in a systematic, process oriented way.Employers express that recent graduates are deficientin a number skill areas including communication,configuration management systems, teamwork, andproject management [11]. Capstone courses aim toalleviate the skills gap [11] [16]. Students learn how togather and analyze requirements, project eadership[15,p.691].The goal of all teams is to complete their projectrequirements and deliverables in the time provided, ofwhich there are 2 sets. The first sets of deliverables arethose for the class and the second set are those by theteam’s Customer. Completed projects then must notonly meet or exceed the expectations set forth by theirCustomer but, also of the expected level of quality inaMaster’sclass[15].A6-1

that section we detail the methods of QA, followed bythe team overviews. The rest of the paper in orderincludes the challenges faced, results, and finallyfuture work.2. Quality Assurance OverviewIn the 80s and 90s, software developmentgenerally followed the waterfall methodology (Fig. 1).Waterfall is a sequential development model whichgoes from requirements, to design, to development, totesting, and then finally to launch. As the pace ofchanging customer requirements increased, othermethodologies came about to address this such asLean, Scrum, Feature-Driven, Pragmatic, ExtremeProgramming (XP), Agile and others. XP is amethodology which includes principles such as smallreleases, pair programming, simple designs, testing,customer feedback, code standards, and refactoring[3]. Agile is a set of 12 principles born in 2001 as alightweight alternative to methodologies andprocesses (Fig. 2). Agile’s principles includecontinuous releases, a focus on the customer,accepting changing requirements, and self-organizingteams [17]. Scrum started in early 90s with the latestupdate in 2013. Scrum is a framework founded onempiricism, that knowledge is derived fromexperience, and employs small iterative releases whileadvocating transparency, inspection, and adaptation[14].Figure 2. Agile Methodology [19].3. State of the IndustryExtreme Programming (XP) methodology andAgile principles are prescribed for the course. Studieshave been carried out exploring the use of Agile, XP,andScruminCapstonecourses.Agile aided in teaching leadership, design,coding, testing, and sharing of code but “requires moretraining/coaching and stepwise introduction [9]”.Agile helped to increase product quality in a twosemester Capstone course by teaching students toadapt to changing requirements. It also helped inprofessionalskillsdevelopment.XP in particular has been beneficial to increasingquality in Capstone projects [7]. XP works with smallscale projects, increases completion of more productfeatures, and helps less skilled students in pairprogramming[1].Paasivaara et al. found that the Scrum frameworkworks for student projects and are suitable fordistributed students [11]. Scrum advocates selforganization and for developers to choose the tasksthey wish to work on. Findings showed that over timestudents learned more efficiently with self-selectedtasks, decreased team dependences, and helpedincrease communication [10]. Other benefits of Scruminclude increased learning of teamwork, better productquality, more customer focus, improved learning ofiterative development [13].Figure 1. Waterfall Model [18].In terms of organization, quality assurance amonguniversities and college capstone courses haveemployed a dedicated Quality Manager, created aseparate QA team, or brought in an external auditor[2].4. Team OverviewThis year’s projects fall in the categories ofA6-2

mobile, Internet of Things, biometrics, andinformation systems. Three of the teams aredeveloping systems, while the others are creatingsurveys, and user studies. All teams are required toproduce a technical paper or report to share theirresultsandconclusions.Nine teams used different methodologies tocomplete the project. Six teams used Agile, one usedXP, one team used none, and a one-person team didnot use a methodology. Of the nine teams, eightprovided project plans in the form of a Gantt chart.Communication for most teams was primarilyweekly and some bi-weekly using Skype and GoogleHangouts for face-to-face video conferences. Day today communications between team members was viatext messaging, emails, and IM programs such asGoogleHangouts.Appendix B along with facial recognition by Betafacein Appendix C.4.4 Team 4 – Android BiometricsTeam 4’s project is a continuation of previous projects.The project will try to finding ways to capture gesturesand motion orientation (scrolling and other non-textinput) on Android devices through the Pace biometricclassifier in Appendix D. They can take advantage ofapps already in existence. The team will focus oncapture of data, classification, and produce reports.4.5 Team 5 – PHP-MySQL SystemsTeam 5 is tasked with maintenance and upgradesof various systems. The first system they will work onis a Handwriting Forgery Quiz System. The second iscompletion of the Doctor of Professional Studies(DPS) Dissertation database which is a continuation ofthe 2012 project. The third system Team 5 will beworking on extending the Genealogy system, whichcapturesfamilyhistory.Additional details were provided for theHandwriting Forgery Quiz System. It is a web basedquiz which gathers data from novices and experts. Ithas these characteristics:4.1 Team 1 – Mobile Device SecurityTeam 1 will be continuing an ongoing project onmobile device security. Traditionally, users enter theiralphanumeric or numeric passcode. There are manynew ways for user authentication and this year’s teamwill create a user study focusing on Near FieldCommunication (NFC) and fingerprint as a method foruserauthentication.1.2.4.2 Team 2 – Biometric SecurityTeam 2’s project is a continuation of a previousBiometric security project. The team will create andconduct usability testing to determine acceptabilityand ease of use of biometric systems and will includeliveliness testing. Liveliness testing will try to detectwhether a sample is from a living user or from aninanimate object such as a picture. The biometrictesting specifically focuses on facial recognition. Theteam expanded upon the previous test data byincluding 3 bilingual women. In addition, the teamwill try to fool the system by using simple disguisessuch as using a wig and different types of glasses.3.4.5.Explanation of the quizOne question: Are you a handwriting Expertor Novice?10 questions with 4 choices (1 genuine, 3forgeries)Comments fieldSubmit button4.6 Team 6 – PHP-MySQL SystemTeam 6 is creating an advanced interactive webinterface written in Javascript. Data input via theinterface will provide data validation. The selection ofMYSQL for the database will have four main tablesof research. PHP scripts will be implemented toallow for ease in query of collected MetaData.4.3 Team 3 – Biometric ROC CurvesA receiver operating characteristic (ROC) is agraphical plot to determine the performance of aclassifier system. Team 3 is tasked with researchingand obtaining classifier output scores from publiccommercial biometric demos and then to create ROCcurves. They will create a report with their results.Team 3 chose to evaluate the Chrome browser plugin,Keyboard Privacy, for dwell and gap times inAppendix A. They also chose to evaluate Microsoft’sFacial Recognition which is part of Project Oxford in4.7 Team 7 – Internet of ThingsTeam 7 is to perform research on the Internet ofThings (IoT) to determine if IoT can make societysafer via a targeted industry. Methane detection will bethe primary focus which will be analyzed throughresearch of sensors, sensor data research, and dataanalytics. A deliverable of a technical paper andpresentation of the data will be completed.A6-3

4.8 Team 8 – Smartphone/Smartwatch Study2.Team 8 will research smartphone and smartwatchhabits to determine if the data proves these devicespromote good habits. The technology field isexploding with promises from companies such asFitBit, Samsung, Apple, and many more stating thesedevices will promote better fitness, nutrition, real timedata, and much more that will be discussed. The dataalthough relatively small should help determine if thisclaimismorefactualthannot.3.5.2 Method 2 – Standardization of the WeeklyProgress ReportEach week all teams were responsible for fillingout a progress report to share with their customer, theprofessor, and each other. We created a template tostandardize the weekly reports in order to make iteasiertoreadforallinvolved.We applied the concept of a Daily Scrum, fromScrum methodology with four simple questions listedbelow [14]. The 4 questions are:4.9 Team 10 – Project Group AssignmentSystemTeam 10 contains one member and the goal of theproject is to help automate the group projectassignment system. The system groups students to adesired project of choice. Students fill out a form with5 preferences of the capstone projects while listingtheir own skillsets. The system then collects the data,assigns students to projects based on an algorithmprovided by the customer. The characteristics of thistool are:1.2.3.4.What did you accomplish last week?What roadblocks did you have?What are you going to next week?Is there anything else you would like to share?These questions are simple and allowed us, thecustomer, and Professor Tappert to identify anyroadblocks easily. In addition, we added one lastquestion for information that the teams would like toshare outside of the first 3 main questions.1. ExplanationofSurvey2. ImportBlackBoardRoster3. ImportStudentSurveyResults4. Input skill importance rankings for each project5. Assign each project one (and only one) TeamLead6. Assign remaining students to one and only oneproject7. Provide project roster list that is easily accessedandused5.3 Method 3 – Evaluation and Oversight ofProject Requirements and DeliverablesWe split the teams among the 3 members of ourteam so that each was responsible for 3 teams ofvarying project types. This reduced the points ofcontact and helped to manage the large amount ofemails going back and forth. It also allowed eachmember to get to know the project a bit more than ifall 3 of us were managing all 9 teams simultaneously.We then asked all teams to provide a project planwhich includes a breakdown of deliverables into tasksand estimates on how long each task will take. Wesuggested to teams to provide the project plan in theform of a Gantt chart (Fig. 3). Each week, wecompared the weekly progress reports against theproject plans and discussed the teams in our ownweekly meeting. We noted any exceptions and thingsthat may affect a team’s project timeline in our ownprogress report for Professor Tappert.5. MethodologyMethod 1 – Research Quality AssuranceAmong Universities and Colleges5.1Research was performed identifying capstoneproject courses at numerous universities and colleges.The purpose was to determine if other universities andcolleges had dedicated quality assurance roles orteams or none at all to support our research. Eachcoursewasreviewedindetail.In addition, email was sent to six professors atdifferent universities asking about quality assurance.Three questions were asked:1.Based on your previous experience do you feel asingle QA person or team is needed to provide asuccessful deliverable? (Yes/No)Do you have any additional feedback related toQA you would like to provide regarding capstoneprojects?Do your teams have a QA person within the teamor from an outside source? (Yes/No; if so whichone?)A6-4

product due to time constraints of this paper.6. University ResultsQuality assurance focuses on providingconfidence that quality requirements are met fordeliverables. Throughout our research we have foundonly one University that has a quality assuranceprocess such as Pace University’s IT691 CapstoneProject.6.1 Saint Louis UniversityFigure 3. Team 4’s Gantt chart.The capstone course for Saint Louis University ispart of the two semester long Computer Sciencecurriculum.Teams following an agile method will be requiredto deliver incremental deliverables with a plan for thefollowing week. Research based teams will deliverpapers that describe the work and results [20].5.4 Method 4 – Manual Test CasesManual test cases were created for projects thatproduced an application or system: Team 5, 6, and 10.The test cases were provided in a Microsoft Excelspreadsheet with each row containing a test casescenario. Each test case scenario contained thefollowing fields: 6.2 UC Santa BarbaraStudents at UC Santa Barbara (UCSB) will havea partner, mentor, project overview, visions statement,and project requirements document, end of quarterpresentation, final poster, and final presentation. The2015/2016 student teams consist of 10 separate teamswith partners such as Citrix, Raytheon, and other wellknown corporations [21]. After reviewing all 10 teamvisions statements, the only identified team memberroles were the leader and a scribe. No evidence of anyquality assurance was identified.Test Case NameDescriptionPrerequisiteStepsInputExpected ResultActual ResultStatusCommentsReferences6.3 Michigan State UniversityWe were going to manually test the systems but,due to time constraints, we were not able to test thefinal products.Michigan State University’s capstone project hasstudents complete software projects for corporateclients [22]. Every team will be responsible fororganizing themselves as deemed fit. The onlyrequirement is each team must have a designatedmember to communicate with the client. Teams arerequired to divide the project up into smallerdeliverables and used as milestones. Quality assuranceis not a specific part on the capstone class at MSU.5.5 Method 5 – SurveysA Survey is a procedure, which gathersinformation from a small sample of people to helpmake an educated assumption based on the results.We created two surveys on Surveygizmo.com.One survey was for students and the second surveywas for customers. The student survey is a 21 questionsurvey meant to capture the areas of demographics,methodology and process, quality and testing,communication, and Capstone course. Questions fromlast year’s project surveys will be reviewed, revised,andre-usedasneeded.The customer survey captured the quality of theend product as defined by the customer and thecustomer’s overall experience with their team. Notethat the survey attempts to capture the expectedoutcome of the delivered products and not the final6.4 University of South CarolinaThe University of South Carolina' (USC)capstone project spans 2 semesters. The class is brokenup into milestones for each team to meet throughoutthe class. Milestone 12 is for behavioral and automatedtesting. This step requires a third-party unit-testingframework and some form of behavioral testing. Thisstep is as close of a step as there is to ensure a qualityproduct.Quality assurance is milestone 15 which will beA6-5

completed two weeks after you get a copy of the otherteam's project. Each team will get a copy of anotherteam's project and do extensive testing of the project.Teams will identify every bug using screenshots andsend to the team to fix the issues before milestone 15,which is release 1.0 [23]. 6.5 University CorrespondenceOut of the 6 emails sent, we received 2 responses.Chandra Krintz, Professor, UCSB RACELabDirector at UC Santa Barbara answered [8]:1.2.3.“Yes” both” to question 1, “No, QA feedbackmust come from a wide range of constituents(project owners, mentors, peers, potential users”“Our projects are 6 months in duration (3 monthsfor spec, design, prototyping; 3 months forimplementation and user testing)."I recommend that QA be an integral partthroughout the entire process, not an add-on"Figure 4. Did you receive any Agile training (class, worktraining, etc) prior to this course?Dr. Michael Goldwasser, Director of ComputerScience at Saint Louis University answered [5]:1.2.3.71.4% of students did not receive training and71.4% did not have experience in Agile (Fig. 45).52.4% of students felt that if a methodology wasrequired, it could possibly help product qualitywith 19% agreeing, and 28.6% disagreeing (Fig.6).The top 3 blockers, things that slowed orprevented a student from completing work, were:lack of customer feedback, waiting for otherteams, and gathering data."There is not typically a dedicated QA role withinthe team.""While QA should be addressed in some form, wehave not felt it necessary to have a single QAperson on the team, nor would this work for ourcurrent structure.""No additional feedback.Figure 5. Did you have experience with Agile or any Agilemethodologies (Scrum, XP, etc) prior to this course?7. Survey Results7.1 Student Survey Results21 out of 38 students completed the survey, withat least 1 student from each team. Most students arelocal to the New York City / Pleasantville, NY area.Here are the notable results: Most students did not do any programming. Outof the 7 students that did program, only 1completed unit or functional tests.Ease of communication with customers rangedfrom not responsive and not easy to reach to veryresponsive and easy to reach, while most studentsstated that their teammates were easy to reach andresponsive.55% of students stated that customer expectationswere clear and understandable and 62% statedthat the level of quality expected was clear andunderstandable.Figure 6. Do you feel that if a methodology such as Agile, or XPwas required (set as a deliverable), would it have helped yourteam’s organization and final output?7.2 Customer Survey ResultsThere were a total of 12 questions answered by 10customers for the survey. Two of the customersbelonged to the same team. A6-6Most customers communicated with their team 12 times per week. These communications were via

phone, IM, email, video conferencing, and inperson.40% of customers changed their deliverablesduring the course.40% of products were tested by the customer.8 teams met their requirements. An average ratingof 8.5 out of 10 was the result for the quality ofthe delivered product.On average 7 out of 10 customers stated that theirteam provided timely communication, adapted tochanges in requirements, was organized, and keptthem in the loop of their progress (Fig. 7).within the curriculums, although via email weconfirmed quality assurance is an important aspect ofthe projects. The two responses we received haddifferent opinions on the importance of QA within thecapstone project. We conclude that there should beQA, but whether it should be a single dedicatedresource or external team is dependent on the project.From the student survey, we gathered that thereare only a small number of students who programmed.Out of those, only one student stated that theycompleted unit testing of their code. We are unsure ifthis student’s team had accounted for testing in theirproject plan. We do suggest that all teams adjust theirscopetoallowtimefortesting.The student survey also showed that moststudents were not trained or experienced in themethodology they used in their project. Learning theprocess while also completing project work alongsidemay have affected quality. In the student survey, whenasked if additional requirements such as amethodology would help increase product quality,52% of students answered “possibly”. Although this istechnically the majority, we believe that the lack ofexperience in proven processes led to these results.The customer survey results showed that customerswere happy with the product created by the studentteams. 40% of customers changed deliverables, 60%stated that the team adapted and made necessarychanges. This result proves we have inaccurate datawithin the survey results. A paid version of SurveyGizmo with added features that allow additionalquestions to be answered contingent on previousresponses would be beneficial in trying to alleviate baddata.In general, the teams created products successfullyfor their customer as shown by the customer survey.Results show 90% of products met the requirements.As noted, our results are based on expected outcomesand the high satisfaction rating may be optimistic. Thecustomer survey also showed that frequentcommunication with multiple methods is important tothedeliveryofaqualityproduct.Based on all of our findings, we believe that therequirement of using a methodology would increasethequalityoftheendproduct.Figure 7. What went well?8. ChallengesWe faced a number of challenges while applyingQA and these are listed below along with possiblesolutions that were implemented. Communication with teams were untimely on anumber of occasions and included late weeklyreports, feedback on questions, and gettingsurveys filled out. Reminders, even those whichincluded the professor, did not elicit a fasterresponse.Weekly reports submitted were of variousformats, which were solved by asking all teams tofollow a template that we provided.Inability to test final products of team 5, 6, and 10due to time constraints. This could be alleviated ifthere was time allotted during the project planningphase.9. ConclusionsQuality assurance and testing is commonplaceamongst real world projects to ensure products meetcustomerneeds.Research of other Universities capstone coursesrevealed that a number of them are 2 semesters long.This provides time for design, planning, testing andespecially time for learning how to complete projectsby learning processes and methodologies. In addition,USC had a milestone requirement specific to testing.Continued research of multiple UniversityCapstone Projects do not mention quality assurance9. Future WorkFuture projects could extend the surveys toincrease and widen captured data to further ourproposal of additional quality assurance relatedrequirements prior to starting project work.Another suggestion for future work would be toresearch the QA role in regards to being a dedicatedresource on a team or keeping the current structure asan external resource. Our small data sample may evenA6-7

suggest a hybrid role, one where a QA person partiallyparticipates in the team project while maintainingsome autonomy by also being a part of a QA team.Our last suggestion would be to further researchScrum or some form of Scrum as a possiblemethodology that teams can use.[11]Appendix[12]A: Keyboard Privacy Plugin for Chrome l en[13]B:Project Oxford Facial #detectionC: Betaface. http://betaface.comD:Pace University Biometrichttp://www.csis.pace.edu/ 10][16]G. Assassa, H. Mathkour, and H. Al Dossari,“Extreme programming: A case study in softwareengineering courses,” 2006.E. Bauer, W. Chrisley, H. Eng, A. Haigler, K. Inman,and C. Tappert, “Using QA/Testing/Maintenance toEnsure Standardization and Quality of CapstoneProject Work,” presented at the Proceedings ofStudent-Faculty Research Day, CSIS, PaceUniversity, May 1st, 2015, Seidenberg School ofCSIS, Pace University, White Plains, New York,2015.K. Beck, Extreme programming explained: embracechange. Addison-Wesley Professional, 2000.T. Clear, “THINKING ISSUES: A ‘Potted Guide’ toQuality Assurance for Computing CapstoneProjects,” ACM Inroads, vol. 2, no. 2, pp. 14–15, /Feedback,” 14-Nov-2015.T. B. Hilburn and M. Townhidnejad, “SoftwareQuality: A Curriculum Postscript?,” in Proceedingsof the Thirty-first SIGCSE Technical Symposium onComputer Science Education, New York, NY, USA,2000, pp. 167–171.K. Keefe and M. Dick, “Using Extreme Programmingin a Capstone Project,” in Proceedings of the SixthAustralasian Conference on Computing Education Volume 30, Darlinghurst, Australia, Australia, 2004,pp. 151–160.C. Krintz, “Capstone Project Assistance/Feedback,”15-Nov-2015.B. Lu and T. DeClue, “Teaching Agile Methodologyin a Software Engineering Capstone Course,” JComput Sci Coll, vol. 26, no. 5, pp. 293–299, May2011.M. Paasivaara, C. Lassenius, D. Damian, P. Räty, andA. Schröter, “Teaching Students Global g Skills Using Distributed Scrum,” inProceedings of the 2013 International Conference onSoftware Engineering, Piscataway, NJ, USA, 2013,pp. 1128–1137.A. Radermacher, G. Walia, and D. Knudson,“Investigating the skill gap between graduatingstudents and industry expectations,” in CompanionProceedings of the 36th International Conference onSoftware Engineering, 2014, pp. pp. 291–300.D. F. Rico and H. H. Sayani, “Use of Agile Methodsin Software Engineering Education,” in AgileConference, 2009. AGILE ’09., 2009, pp. 174–179.D. Rover, C. Ullerich, R. Scheel, J. Wegter, and C.Whipple, “Advantages of agile methodologies forsoftware and product development in a capstonedesign project,” presented at the 2014 IEEE Frontiersin Education Conference (FIE), 2014, pp. 1–9.J. Sutherland and K. Schwaber, “The scrum guide.The definitive guide to scrum: The rules of thegame.” Scrum.org, Oct-2013.C. Tappert, “IT691 Capstone Project,” sis.pace.edu/ ctappert/it69115fall/default.htm. Accessed: 14-Oct-2015.S. Uzubell, S. Liles, and K. Jiang, “An Analysis ofthe Common Body of Knowledge of SoftwareAssurance,” in Proceedings of the 2010 ACMConference on Information Technology Education,New York, NY, USA, 2010, pp. 125–130.“Manifesto for Agile Software Development.”Online. Available: http://www.agilemanifesto.org/.Accessed: 14-Oct-2015.“Commonplaces. ‘waterfall method.png,’” Agile vs.Waterfall: How to Approach your Web ch-your-web-developmentproject/.“Commonplaces. ‘agile method-01.png,’” Agile vs.Waterfall: How to Approach your Web ch-your-web-developmentproject/.“Saint Louis University - Capstone Project, Fall2015,” Capstone Project, Fall 2015. Online.Available: http://cs.slu.edu/ goldwasser/capstone/.Accessed: 15-Nov-2015.“University of California, Santa Barbara,” UCSB s.ucsb.edu/index.html. Accessed:15-Nov-2015.“The Michigan State University Computer ://www.cse.msu.edu/ cse498/2015-08/home/.Accessed: 14-Nov-2015.“University of South Carolina,” CSCE 490/492Capstone Computing Project: The Coding BootcampQualityAssuran

and Scrum in Capstone courses. Agile aided in teaching leadership, design, coding, testing, and sharing of code but "requires more training/coaching and stepwise introduction [9]". Agile helped to increase product quality in a two semester Capstone course by teaching students to adapt to changing requirements.