SlideShare a Scribd company logo
1 of 9
Download to read offline
Managing Technical
Debt with Azure
DevOps
HELLO!
I am Eng Teong
Twitter: @walkercet
Short deadlines, a lack of coding
standards, and poor technical skills can
lead to code that is NOT:
▸ Clear and readable
▸ Documented
▸ Efficient
▸ Maintainable
▸ Extensible
▸ Secure
Code
Quality
Defined
1
▸ Technical Debt describes the future
penalty that you incur today by making
easy or quick choices in software
development practices.Sources and
Impacts of
Technical
Debt
2
Common sources of technical debt are:
▸ Lack of coding style and standards
▸ Lack of or poor design of unit test cases
▸ Ignoring or not understanding object orient
design principles
▸ Poorly envisioned use of technology,
architecture and approach
▸ Insufficient comments and documentation
▸ Not writing self-documenting code
▸ Taking shortcuts to meet deadlines
Sources and
Impacts of
Technical
Debt
2
Technical debt:
▸ Adds problems during development that makes
it more difficult to add customer value
▸ Saps productivity and frustrates development
teams
▸ Makes code both hard to understand and fragile
▸ Increases the time to make changes, and to
available those changes
▸ Starts small and grows over time
One way to minimize the accumulation of
technical debt, is to use automated testing and
assessment
Using
Automated
Testing to
Measure
Technical
Debt
3
▸ NDepend is a Visual Studio extension that
assesses the amount of technical debt that a
developer has added during a recent
development period, typically in the last hour
▸ Resharper Code Quality Analysis is a command
line tool and can be set to automatically fail
builds when code quality issues are found.
Integrating
Other Code
Quality
Tools
4
Demo
Managing Technical Debt with Azure DevOps and SonarCloud
5
THANKS!
Any questions?
You can find me at
▸ @walkercet

More Related Content

What's hot

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Poonam Bhasin
 
Introduction to software Engineering
Introduction to software EngineeringIntroduction to software Engineering
Introduction to software Engineering
Mohamed Gaafar
 
Imperatives of Tools and Engineering Practices
Imperatives of Tools and Engineering PracticesImperatives of Tools and Engineering Practices
Imperatives of Tools and Engineering Practices
Jeyaprakash Rajaram (JP)
 
Evolution of Software testing from Detection to prevention the lean six sigm...
Evolution of Software testing from Detection to prevention  the lean six sigm...Evolution of Software testing from Detection to prevention  the lean six sigm...
Evolution of Software testing from Detection to prevention the lean six sigm...
Anuj Magazine
 

What's hot (20)

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
The Essentials Of Test Driven Development
The Essentials Of Test Driven Development The Essentials Of Test Driven Development
The Essentials Of Test Driven Development
 
Introduction to software Engineering
Introduction to software EngineeringIntroduction to software Engineering
Introduction to software Engineering
 
overview introduction to Software Engineering
overview introduction to Software Engineeringoverview introduction to Software Engineering
overview introduction to Software Engineering
 
Imperatives of Tools and Engineering Practices
Imperatives of Tools and Engineering PracticesImperatives of Tools and Engineering Practices
Imperatives of Tools and Engineering Practices
 
The 5 Stages of Software Development
The 5 Stages of Software DevelopmentThe 5 Stages of Software Development
The 5 Stages of Software Development
 
Difference between traditional and agile software development
Difference between traditional and agile software developmentDifference between traditional and agile software development
Difference between traditional and agile software development
 
Agile Testing Methodology- Principles of Agile Testing Methodolgy
Agile Testing Methodology- Principles of Agile Testing Methodolgy  Agile Testing Methodology- Principles of Agile Testing Methodolgy
Agile Testing Methodology- Principles of Agile Testing Methodolgy
 
Better project deployment follow up’s
Better project deployment follow up’sBetter project deployment follow up’s
Better project deployment follow up’s
 
Design Sprints
Design SprintsDesign Sprints
Design Sprints
 
01 the value of quality
01   the value of quality01   the value of quality
01 the value of quality
 
Phases of the Software Development Process - Meerakics
Phases of the Software Development Process - MeerakicsPhases of the Software Development Process - Meerakics
Phases of the Software Development Process - Meerakics
 
Risk management
Risk managementRisk management
Risk management
 
Unit 1 sepm software myths
Unit 1 sepm software mythsUnit 1 sepm software myths
Unit 1 sepm software myths
 
Code audition
Code auditionCode audition
Code audition
 
Taking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelTaking Open Source Security to the Next Level
Taking Open Source Security to the Next Level
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Evolution of Software testing from Detection to prevention the lean six sigm...
Evolution of Software testing from Detection to prevention  the lean six sigm...Evolution of Software testing from Detection to prevention  the lean six sigm...
Evolution of Software testing from Detection to prevention the lean six sigm...
 
Why se script
Why se scriptWhy se script
Why se script
 
Lect7
Lect7Lect7
Lect7
 

Similar to Managing Technical Debt with Azure DevOps

VeeShell presentation
VeeShell presentationVeeShell presentation
VeeShell presentation
Cherniak Soft
 
Abdulla ali it career software development manager
Abdulla ali it career software development managerAbdulla ali it career software development manager
Abdulla ali it career software development manager
Dan Rieb
 

Similar to Managing Technical Debt with Azure DevOps (20)

Cost estimation
Cost estimationCost estimation
Cost estimation
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2
 
Making the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentMaking the Move to Behavior-Driven Development
Making the Move to Behavior-Driven Development
 
VeeShell presentation
VeeShell presentationVeeShell presentation
VeeShell presentation
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
Abdulla ali it career software development manager
Abdulla ali it career software development managerAbdulla ali it career software development manager
Abdulla ali it career software development manager
 
Software Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use CasesSoftware Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use Cases
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Technical debt a Business Perspective
Technical debt a Business PerspectiveTechnical debt a Business Perspective
Technical debt a Business Perspective
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Project Mgt
Project MgtProject Mgt
Project Mgt
 
Beating the product credit crunch
Beating the product credit crunchBeating the product credit crunch
Beating the product credit crunch
 
Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Why Is Managing Software So Hard?
Why Is Managing Software So Hard?
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
 
Making the Move to Behavior Driven Development
Making the Move to Behavior Driven DevelopmentMaking the Move to Behavior Driven Development
Making the Move to Behavior Driven Development
 
Management of time uncertainty in agile
Management of time uncertainty in agileManagement of time uncertainty in agile
Management of time uncertainty in agile
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
 
ecse ppt.pptx
ecse ppt.pptxecse ppt.pptx
ecse ppt.pptx
 
ODD: Extending Agile 1.3
ODD: Extending Agile 1.3ODD: Extending Agile 1.3
ODD: Extending Agile 1.3
 

More from Eng Teong Cheah

More from Eng Teong Cheah (20)

Monitoring Models
Monitoring ModelsMonitoring Models
Monitoring Models
 
Responsible Machine Learning
Responsible Machine LearningResponsible Machine Learning
Responsible Machine Learning
 
Training Optimal Models
Training Optimal ModelsTraining Optimal Models
Training Optimal Models
 
Deploying Models
Deploying ModelsDeploying Models
Deploying Models
 
Machine Learning Workflows
Machine Learning WorkflowsMachine Learning Workflows
Machine Learning Workflows
 
Working with Compute
Working with ComputeWorking with Compute
Working with Compute
 
Working with Data
Working with DataWorking with Data
Working with Data
 
Experiments & TrainingModels
Experiments & TrainingModelsExperiments & TrainingModels
Experiments & TrainingModels
 
Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine Learning
 
Getting Started with Azure Machine Learning
Getting Started with Azure Machine LearningGetting Started with Azure Machine Learning
Getting Started with Azure Machine Learning
 
Hacking Containers - Container Storage
Hacking Containers - Container StorageHacking Containers - Container Storage
Hacking Containers - Container Storage
 
Hacking Containers - Looking at Cgroups
Hacking Containers - Looking at CgroupsHacking Containers - Looking at Cgroups
Hacking Containers - Looking at Cgroups
 
Hacking Containers - Linux Containers
Hacking Containers - Linux ContainersHacking Containers - Linux Containers
Hacking Containers - Linux Containers
 
Data Security - Storage Security
Data Security - Storage SecurityData Security - Storage Security
Data Security - Storage Security
 
Application Security- App security
Application Security- App securityApplication Security- App security
Application Security- App security
 
Application Security - Key Vault
Application Security - Key VaultApplication Security - Key Vault
Application Security - Key Vault
 
Compute Security - Container Security
Compute Security - Container SecurityCompute Security - Container Security
Compute Security - Container Security
 
Compute Security - Host Security
Compute Security - Host SecurityCompute Security - Host Security
Compute Security - Host Security
 
Virtual Networking Security - Network Security
Virtual Networking Security - Network SecurityVirtual Networking Security - Network Security
Virtual Networking Security - Network Security
 
Virtual Networking Security - Perimeter Security
Virtual Networking Security - Perimeter SecurityVirtual Networking Security - Perimeter Security
Virtual Networking Security - Perimeter Security
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Managing Technical Debt with Azure DevOps

  • 2. HELLO! I am Eng Teong Twitter: @walkercet
  • 3. Short deadlines, a lack of coding standards, and poor technical skills can lead to code that is NOT: ▸ Clear and readable ▸ Documented ▸ Efficient ▸ Maintainable ▸ Extensible ▸ Secure Code Quality Defined 1
  • 4. ▸ Technical Debt describes the future penalty that you incur today by making easy or quick choices in software development practices.Sources and Impacts of Technical Debt 2
  • 5. Common sources of technical debt are: ▸ Lack of coding style and standards ▸ Lack of or poor design of unit test cases ▸ Ignoring or not understanding object orient design principles ▸ Poorly envisioned use of technology, architecture and approach ▸ Insufficient comments and documentation ▸ Not writing self-documenting code ▸ Taking shortcuts to meet deadlines Sources and Impacts of Technical Debt 2
  • 6. Technical debt: ▸ Adds problems during development that makes it more difficult to add customer value ▸ Saps productivity and frustrates development teams ▸ Makes code both hard to understand and fragile ▸ Increases the time to make changes, and to available those changes ▸ Starts small and grows over time One way to minimize the accumulation of technical debt, is to use automated testing and assessment Using Automated Testing to Measure Technical Debt 3
  • 7. ▸ NDepend is a Visual Studio extension that assesses the amount of technical debt that a developer has added during a recent development period, typically in the last hour ▸ Resharper Code Quality Analysis is a command line tool and can be set to automatically fail builds when code quality issues are found. Integrating Other Code Quality Tools 4
  • 8. Demo Managing Technical Debt with Azure DevOps and SonarCloud 5
  • 9. THANKS! Any questions? You can find me at ▸ @walkercet