Line 9: |
Line 9: |
| <code>''Explain the business problem or opportunity that needs to be solved in one sentence.''</code> | | <code>''Explain the business problem or opportunity that needs to be solved in one sentence.''</code> |
| | | |
− | Current development of Government of Canada computer programs and solutions rely on mixed practices and version control systems specific to each department and agency. By providing a common place to develop and share development projects and solutions, there is an opportunity to: | + | Current development of Government of Canada computer programs and solutions rely on mixed practices and version control systems specific to each department and agency. By providing a common place to develop and share development projects and solutions, there is an opportunity to reuse the same platform across departments in most cases. |
− | | |
− | * Enable teams across the entire government to leverage best practices and tools for the development and reuse of source code in the GC.
| |
− | * Smaller departments may not have the financial resources to host and maintain such a development environment; by providing a common place for all to work together, we would be generating economies of scale beyond single departments.
| |
− | * Automate and scale CI/CD with automation and leveraging corporate level tools like automated scanning of known security vulnerabilities and legal compliance.
| |
− | * Enterprise standard use of open source components (inbound single version of package)
| |
− | * Set enterprise wide policies as well as department specific policies (prohibit or authorize use of AGPL, MIT, exceptions, etc.) for software inbound.
| |
− | * Identify duplicate custom code, reuse existing code and create communities around projects across departments. E.g.: meeting room reservation application from department A could be leveraged across the government and potentially even published as open source.
| |
| | | |
| Source code developed by GC employees (software engineering, scientists, researchers,...) to support key programs needs to be available for reuse across departments, and to be scanned for security vulnerabilities. | | Source code developed by GC employees (software engineering, scientists, researchers,...) to support key programs needs to be available for reuse across departments, and to be scanned for security vulnerabilities. |
Line 30: |
Line 23: |
| == Root Cause == | | == Root Cause == |
| | | |
− | Traditionally, software development is done within departments without a view to reuse the code for other projects, or across departments. Massive online collaboration tools did not exist to easily share source code outside departments and the public. | + | Traditionally, software development was done within departments without a view to reuse the code for other projects, or across departments. Massive online collaboration tools did not exist to easily share source code outside departments and the public. |
| | | |
| The current instance of Gitlab, GCcode, has provided departments with a common place to share their custom code and to experiment quickly without the constraints of a department specific version control system. | | The current instance of Gitlab, GCcode, has provided departments with a common place to share their custom code and to experiment quickly without the constraints of a department specific version control system. |
Line 44: |
Line 37: |
| * help developers share best coding practices | | * help developers share best coding practices |
| * Decrease time and cost to build new solutions | | * Decrease time and cost to build new solutions |
− | * Reduce costs maintenance cost of source code repositories | + | * Reduce overall maintenance costs for source code repositories by eliminating duplication |
| * Improve continuous integration (CI/CD) practices | | * Improve continuous integration (CI/CD) practices |
| + | * Enable teams across the entire government to leverage best practices and tools for the development and reuse of source code in the GC. |
| + | ** Smaller departments may not have the financial resources to host and maintain such a development environment; by providing a common place for all to work together, we would be generating economies of scale beyond single departments. |
| + | * Automate and scale CI/CD with automation and leveraging corporate level tools like automated scanning of known security vulnerabilities and legal compliance. |
| + | * Enterprise standard use of open source components (inbound single version of package) |
| + | * Set enterprise wide policies as well as department specific policies (prohibit or authorize use of AGPL, MIT, exceptions, etc.) for software inbound. |
| + | * Identify duplicate custom code, reuse existing code and create communities around projects across departments. E.g.: meeting room reservation application from department A could be leveraged across the government and potentially even published as open source. |
| | | |
| The use of GCcode is aligned with the GC Digital Standards "Work in the open by default" and "Collaborate widely". | | The use of GCcode is aligned with the GC Digital Standards "Work in the open by default" and "Collaborate widely". |