The Master of Information Systems with a Specialization in Software Engineering program at the University of Maryland Global Campus ends with a capstone course. In this course, the students are divided over several development teams, and a DevSecOps team. UMGC is divided into a stateside, a European, and an Asian division, and has tens of thousands of students all over the world. Many of their students are full-time employed in the Military or the civilian sector. A direct result of this is that development teams are geographically separated. A standardized development environment is more difficult to realize. The ADF that we propose will provide that standardized development environment for the development teams.
Provide a continuity of communication, integration, and automation across the Capstone projects, to increase both the velocity and quality of software production.
DevOps aims to standardize the project team development environment to improve the core competencies associated with the software production effort.
Providing the foundation of efficiency, assurance, and maintainability of the code creation process and delivery flow.
Empowering individual project teams to build, test, and deploy the codebase with minimal oversight from the DevOps team.
Management of all official code repositories for the project teams.
Research, author, and enforce industry-standard coding paradigms through periodic code reviews.
Standardized application deployment plan utilizing the tenants of Continuous Integration and Continuous Deployment ideologies.
Communicate automated test status and code coverage results to the project teams at pre-designated development points.
Continuous integration (CI) is the continual process of integrating changes back into the main code branch.
to ensure that breaking modifications are identified earlier in the development effort versus later after a significant amount of changes are done.
DevOps choice for implementation has been to utilize an automated CI system designed to perform automated testing and code analysis.
To minimize the technical debt of employing multiple systems, the DevOps team opted to conduct all CI process directly within confines of Github.
The current DevOps strategy leverages the requirement that all pushes into main and release branches must be done through a developer pull request to inject code checks before peer and code reviews are done.
Upon initial opening of the pull request, the automated actions build the codebase and executes its automated test, after which it performs code analysis. This wealth of information is quickly available to reviewers to assist in determining the quality of the code under consideration.