-
Notifications
You must be signed in to change notification settings - Fork 14
Lifecycle policy and decommissioning guidance #317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
elerivaliant
wants to merge
2
commits into
main
Choose a base branch
from
AddLifecyclePolicy
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Empty file.
56 changes: 56 additions & 0 deletions
56
software-engineering-policies/Lifecycle/LifecyclePolicy.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| # Software Lifecycle Management Policy | ||
|
|
||
| ## Purpose | ||
|
|
||
| This policy ensures that all software systems are designed, developed, deployed, maintained, and retired in a consistent, secure, and efficient manner aligned with organizational standards. | ||
|
|
||
| ## Scope | ||
|
|
||
| This policy applies to all software engineers, contractors, and teams involved in developing or maintaining internal or customer-facing software. | ||
|
|
||
| ## Policy Requirements | ||
|
|
||
| ### Planning & Design | ||
|
|
||
| - All new software must include documented requirements, architecture diagrams, threat models and risk assessments. | ||
| - Designs must consider security (ref. [POL201 - Secure by Design](https://ukho.sharepoint.com/sites/docstore-prd/_layouts/15/Doc.aspx?sourcedoc=%7BD068DDEC-D0A6-49A6-AA88-B16D4A3B6A30%7D&file=POL201.docx&action=default&mobileredirect=true&DefaultItemOpen=1)), scalability, observability, and maintainability. | ||
| - Designs should be peer reviewed to identify any sharable components. | ||
| - [Naming conventions](../NamingConventions/NamingConventions.md) must be defined and followed consistently. | ||
|
|
||
| ### Development | ||
|
|
||
| - Code must be version-controlled using approved [source control](../SourceControl/SourceControl.md) solutions. | ||
| - Code must follow established [coding standards](../CodingStandards/CodingStandards.md). | ||
| - Code must be peer reviewed in line with [code review policy](../CodeReview/CodeReviewPolicy.md). | ||
| - [Secure Development](../SecureDevelopment/SecureDevelopment.md) practices must be followed to mitigate vulnerabilities. | ||
| - Automated testing (unit, integration, and security checks) must be implemented before merge. | ||
|
|
||
| ### Testing & Quality Assurance | ||
|
|
||
| - Testing must include unit, integration, system, and security tests. | ||
| - Testing should be automated where possible, following the [test strategy](../QualityAssurance/TestStrategy.md). | ||
| - Test coverage and results should be documented and reviewed. | ||
| - Performance and load testing should be conducted for critical systems. | ||
|
|
||
| ### Deployment & Release Management | ||
|
|
||
| - Deployment pipelines must comply with the [pipeline policy](../Pipelines/Baseline_Policy.md). | ||
| - Rollback procedures must be defined and tested. | ||
| - [IaC (Infrastructure as Code) practices](../InfrastructureAsCode/terraform.md) should be used for environment provisioning. | ||
|
|
||
| ### Operational Maintenance | ||
|
|
||
| - Teams must monitor system performance, security alerts, and error logs as per the [observability policy](../observability/observability_policy.md). | ||
| - Critical vulnerabilities must be remediated within defined SLAs (ref. [POL218 - Patch Management Policy](https://ukho.sharepoint.com/sites/docstore-prd/_layouts/15/Doc.aspx?sourcedoc=%7B82EA818D-00AA-44EE-B9A1-E901879DE72E%7D&file=POL218.docx&action=default&mobileredirect=true&DefaultItemOpen=1)). | ||
| - [Technical debt](../TechnicalDebt/TechnicalDebt.md) should be periodically reviewed and addressed. | ||
| - Disaster recovery procedures must be defined and tested. | ||
|
|
||
| ### Documentation | ||
|
|
||
| - Architecture, APIs, deployment steps, and dependencies must be kept up-to-date. | ||
| - [System documentation](../SystemDocumentation/SystemDocumentation.md) must be comprehensive and accessible. | ||
|
|
||
| ### Decommissioning | ||
|
|
||
| - Software approaching End-of-Life (EOL) must have a documented migration or decommission plan. For more information, refer to the [decommission guidance](../Lifecycle/DecommissionGuidance.md). | ||
| - Data retention and disposal must comply with organizational and regulatory requirements. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.