Technical Strategy - amitbhilagude/userfullinks GitHub Wiki
-
Tech Debt Framework
- Overview
- Technical Debt is an area of improvement in the mature applications.
- This item will improve the application continuously and help to innovate faster and release new features without additional complexity.
- As per SAFe, Dedicated capacity should be allocated in each sprint to focus on the Tech Debt. Range should be between 20% to 60%.
- What includes in Tech debt
- All NFR requirements e.g. Azure Well-architected Framework pillars
- Old Framework
- Old Tooling
- Code Refactoring
- Improvement in any area
- Test coverage like missing unit test cases, Automation etc.
- Measuring Tech debt
- Best way to measure tech debt is to use each pillar and set a grade for application. e.g. A is the highest grade and it can lower down to E.
- There should be an automated way to measure these grades for you application using tools like Sonarqube, Checkmarx, Blackduck, etc.
- Reliability Measuring
- can be measured using Operations feedback, Customer incident frequency, Error rate, SonarQube Reliability grade
- Security Measuring
- Can be measured using Sonarqube, Blackduck, and Checkmarx
- Operational Excellence and Testablitly
- can be measured using unit testing coverage is done using Sonarqube
- Performance\Scalablity
- can be measured based on load testing reports, Production monitoring, customer feedback
- Overview
-
Architecture Review Framework
- Overview
- Review the architecture of existing products or new Products.
- New Product architecture to be reviewed which is compliance with Microsoft recommendations, Organisational Best Practices
- Existing product which is releasing new feature or issue in existing architecture that is creating problems in Production/load testing.
- Framework Template
- Set of artifacts to be products in the first review based on Well-Architected Framework, Cloud Adaption Framework etc.
- Reliability :
- Infrastructure overview e.g. ARM template viewer or Lucidchart? Cost report.
- Azure Cost Analysis Report e.g. Sample Report and Advisor Recommendation Report
- Incidents and failed releases report e.g. Report CI/CD Pipelines description
- Data/Storage architecture e.g. Database Diagram in SQL
- Advisor Score Report. Advisor Score Report e.g. Sample Report
- Security
- Threat model Link
- Checkmarx Report
- Blackduck hub report
- Pen Testing Report
- Azure Security Posture Score Report Link e.g. Sample report and Recommendation Report
- WAF Rules and Policies Report
- Performance
- Application map report to find out performance bottleneck Link e.g. Sample Report
- APM tool report e.g. Azure Application Insights Dashboard report Link Sample Report
- Profiling tool e.g. Visual studio profiling tool Link like CPU, Memory, DB and Async performance
- Testing
- coverage expectations
- load\Performance testing Report
- Regression Testing Automation
- Functional Testing Automation
- Unit Testing Automation
- Maintainability
- Sonarqube report
- Organisational Standards
- Tooling to choose
- Third-party license to use
- Recommended nuget packages
- any other standards for naming convention, tagging etc.
- Overview
-
Security Review Framework
-
DevSecOps Framework
- Branching Strategy: GitFlow and Code review
- Build Strategy with Quality gates
- Build Quality: Unit Testing automation, Static code analysis, Scanning with security tool like Checkmarx and black duck
- Release strategy
- Stages per Environment
- Smoke Testing automating
- API Testing Automation
- Functional Automation
-
Coding Best Practices
- c# coding conventions : https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions
- Secure Coding: https://learn.microsoft.com/en-us/dotnet/standard/security/secure-coding-guidelines
- SOLID Principals https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/may/csharp-best-practices-dangers-of-violating-solid-principles-in-csharp
-
Architecture Best Practices
- Well-architected Framework
- Cloud adaption framework
-
ARB