ABSTRACT
We believe that software engineering should be taught in a hands-on way such as through a project-based capstone course where students apply the learned concepts in a real setting. However, such a teaching format can be challenging and time-consuming for instructors.
In this paper we explain how we selected and introduced a set of metrics to improve the manageability of our large multi-project capstone course. We regularly run such a course with over 100 students developing applications in 10-12 parallel projects over the course of one semester.
Our approach focuses on measuring the success of three key workflows, namely Merge Management, Continuous Integration and Continuous Delivery. We show how these metrics help the instructors to keep track of the progress of multiple projects running at the same time, enabling them to identify and react to problems early.
- L. Alperowitz, Dora Dzvonyar, and B. Bruegge. iOS Praktikum SS 2015, July 2015. http://www1.in.tum.de/ios15.Google Scholar
- K. Beck, M. Beedle, et al. Manifesto for agile software development. The Agile Alliance, 2001.Google Scholar
- B. Bruegge, S. Krusche, and L. Alperowitz. Software engineering project courses with industrial clients. ACM Transactions on Computing Education (TOCE), 15(4):17, 2015. Google ScholarDigital Library
- V. Driessen. A successful Git branching model, 2010. http://bit.ly/1TghAwL.Google Scholar
- A. H. Dutoit and B. Bruegge. Communication metrics for software development. IEEE Transactions on Software Engineering, 24(8):615--628, 1998. Google ScholarDigital Library
- P. M. Duvall, S. Matyas, and A. Glover. Continuous Integration: Improving Software Quality and Reducing Risk. Addison-Wesley, 2007. Google ScholarDigital Library
- D. Dzvonyar, S. Krusche, and L. Alperowitz. Real projects with informal models. In MODELS'14 - Proceedings of the 10th Educators' Symposium, 2014.Google Scholar
- N. E. Fenton and M. Neil. Software metrics: roadmap. In Proceedings of the Conference on the Future of Software Engineering, pages 357--370. ACM, 2000. Google ScholarDigital Library
- R. B. Grady. Successfully applying software metrics. Computer, 27(9):18--25, 1994. Google ScholarDigital Library
- J. Humble and D. Farley. Continuous delivery: reliable software releases through build, test, and deployment automation. Pearson Education, 2010. Google ScholarDigital Library
- C. Kaner et al. Software engineering metrics: What do they measure and how do we know? In Proceedings of METRICS'04, 2004.Google Scholar
- S. Krusche and L. Alperowitz. Introduction of Continuous Delivery in Multi-customer Project Courses. In Companion Proceedings of the 36th International Conference on Software Engineering, pages 335--343. ACM, 2014. Google ScholarDigital Library
- K. Schwaber and M. Beedle. Agile Software Development with Scrum. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1st edition, 2001. Google ScholarDigital Library
Index Terms
- Metrics in Agile project courses
Recommendations
Rugby: an agile process model based on continuous delivery
RCoSE 2014: Proceedings of the 1st International Workshop on Rapid Continuous Software EngineeringIn this paper we introduce Rugby, an agile process model that includes workflows for the continuous delivery of software. It allows part-timers to work in a project-based organization with multiple projects for the rapid delivery of prototypes and ...
Software Engineering Project Courses with Industrial Clients
Special Issue on Team Projects in Computing EducationThere is an acknowledged need for teaching realistic software development in project courses. The design space for such courses is wide, ranging from single-semester to two-semester courses, from single-client to multicustomer courses, from local to ...
Understanding devops education with grounded theory
ICSE-SEET '20: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and TrainingDevOps stands for Development-Operations. It arises from the IT industry as a movement aligning development and operations teams. DevOps is broadly recognized as an IT standard, and there is high demand for DevOps practitioners in industry. Since ACM & ...
Comments