A description is given of the processes and tools used in a computer science capstone experience. Many elements are familiar. Clients submit proposals prior to the start of the semester. Care is taken to establish teams of equal strength, and an exercise is undertaken to promote team bonding. Much support material is made available digitally. Clients are expected to meet teams frequently. Progress is evaluated at the end of each agile sprint. At the end of the semester, clients decide if the software meets their needs or not.
In the setup described, most students had already acquired advanced skills such as web application development prior to taking the capstone experience. Web applications were built using a variety of technology platforms, for example, Ruby on Rails deployed on Heroku, ASP.NET MVC 3 with Azure, and Symfony with Amazon Web Services (AWS). Teams were required to use storyboards and prototypes to help ensure that the wishes of clients were being followed. Each team also had to use a Google community to facilitate communication and coordination. For project tracking, the Kanbanery tool was used. For version control, Git and GitHub were used. Client satisfaction with the delivered projects was very high.
Many readers will feel that the authors were remiss by not including a report of student course evaluations. Team sizes were between eight and ten, and it would be useful to know if the students viewed such teams as being too large.
This paper is recommended to computer science faculty supervising the capstone experience.