SlideShare a Scribd company logo
1 of 20
Adopting Agile
Ensuring Success

Copyright 2013 Coverity, Inc.
Today’s Reality
More. Better. Faster.
• Customers demand new, innovative features
• And quickly

• Features are often implemented in software
• Size of software projects is exploding
• And often includes third-party/open-source code

• Security and stability cannot be compromised
In other words: software
organizations must provide
more, with excellent
quality, security, and
stability, using reliably less
time
2
Agile
A popular way to address these challenges
Many organizations are adopting practices commonly
associated with Agile:

• Development via rapid iteration over bite-sized, selfcontained work units rather than large process phases

• Automated testing: unit, regression, etc.
• Continuous integration builds
• In some cases, even continuous delivery

3
Why Agile?
Business Benefits:

• More easily manage change

• Better align IT and business objectives
• Accelerate time to market
Development Benefits:

• Visibility: Discover problems sooner
• Efficiency: Fix problems more quickly and easily

• Predictability: Avoid late-stage schedule disruptions

4
Shorten Cycles, Distribute the Load
Theme: Avoid large backlogs; get early feedback
• Test code as it is written, minimizing significant last-minute
disruptions

Practice/Benefit
Split development cycle into bite-sized sprints
Improve responsiveness, predictability
Developers code, test, design
All team members are experts with the code; improve efficiency
Use small, fast, automated tests like unit tests
Get early feedback about whether the code is working properly
Routinely integrate, build, test code changes
Get early feedback about whether the product is in a working state
5
Adopting Agile
We need to go
Agile—it will
solve our
development
problems!

We can’t put the
business on hold
to rebuild
R&D, Bob!

6
It’s Not Always Easy
• Even with a plan and support, adopting Agile practices
often encounters resistance
• Business Risk: How to maintain developer productivity while
onboarding testing responsibilities?

• Culture: How to convince developers to actually write tests?
• Adoption: How to enforce adoption of the new practices?
• IT: How to manage infrastructure?
• Politics: How to assure QA that their jobs are safe?

• Governance: How to manage the transition to ensure it is successful?

7
Justifying Agile

We can’t
put the
business
on hold…

8

We don’t have to!
We’ll ease
in, starting with our
new code and new
projects.
Overcome the Resistance
• Business Risk (productivity with new testing requirements)
• Ease into Agile, e.g. focus on new code/projects first
• It’s not all-or-nothing, so plan a transition

• Culture (developers must write tests)
• Enforce testing standards for important/high-risk code
• Phased deployment convinces skeptics and provides escape hatch

• Adoption (new practices stick)
• Automate enforcement as part of standard process

• Politics and Governance
• Provide visibility into the new process
• Reassure stakeholders—process enables them to fulfill their

mission, e.g. independently verify quality or security; not police R&D

9
But…the Devil’s in the Details
• How do you determine if code is sufficiently tested?
• It’s not practical (or possible) to automate tests for all code
• Are you testing all of the important code?
• Are you wasting effort testing unimportant code?

• How do you enforce testing of changes to legacy code?
• You need to require tests for all important code
• Without trying to boil the ocean

• How do you eliminate manual interpretation and noise?
• You need to reduce adoption barriers and increase confidence
• Visibility without sufficient context is (worse than) useless

10
Is Code Sufficiently Tested?

Sweet, safeClose() is fully
tested now! I’m glad I
don’t need to test that
catch block—I’m not sure
I can even trigger an
IOException there.

11
Partial Visibility is Worse Than Useless
Only 86% coverage
for safeClose()?
That untested 14%
worries me…
dbgStub()

Why are we
wasting time
testing
dbgStub()?

12

Hey Bob, we
need to fix
this!
Let Your Tools Do the Heavy Lifting
• Leverage static analysis to get early feedback about
common coding errors
• No need to invest time writing test cases for these issues
• It’s critical to automate, look for important problems and configure
for minimal noise

• Don’t simply measure testing coverage
• Enforce a testing policy that focuses on the important/high-risk code
• Focus on certain components, modules, classes or functions

• Test all code impacted by recent changes
• No need to test debug, logging or exception-handling code
• Recognize field-tested code; consider code complexity

• Leverage SCM systems (age, author), testing artifacts, etc. to
improve accuracy and automation
13
Make It Easy On Developers
Just add a test
covering line
1084 and I’m
golden. Glad I
don’t need to
test those
aborts!

Don’t need
to be tested
14
Make It Easy On Developers
• Automate, automate, automate
• Use a consistent workflow for all types of issues
• Generate prescriptive work items for identified problems
• Automatically interpret and prescribe action
• “Here is your problem. Do this to fix it…”
• AVOID: “Does anything look wrong in this output? Don’t forget to check
the build logs and the test output, too.”

• Provide easy access to all information, especially the source code and
context relevant to the problem

• Automatically assign to appropriate team members for
accountability
• E.g. by most recent SCM committer, or component owner

15
Visibility With Context is Priceless

Awesome
progress on our
improvement
goals!
Development is
right on schedule

16
Visibility and Governance
• Measure coverage in the context of your testing policy and
definition of “important” and “high-risk” code

• Eliminate manual interpretation
• Measure performance against objective, meaningful standards
• All stakeholders will understand the reports

• Automate development testing in your process
• Objective, meaningful assessments enable you to automate with

confidence and accurately fail the build when something is wrong

• Developers become accountable for code quality/security
• Gain visibility into pending problems and completeness
• Gain scheduling predictability

17
Bob, you did a great
job fixing our
development
problems. I’m
giving you a raise!

18
Want to try Coverity on your code?
For a free trial, visit:
www.coverity.com

More Related Content

What's hot

Utility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDUtility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDXP Conference India
 
Code Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysisCode Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysisMikalai Alimenkou
 
Automated Unit Testing and TDD
Automated Unit Testing and TDDAutomated Unit Testing and TDD
Automated Unit Testing and TDDGreg Sohl
 
Java Code Review Checklist
Java Code Review ChecklistJava Code Review Checklist
Java Code Review ChecklistMahesh Chopker
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and MannersTrisha Gee
 
How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviewsJavaDayUA
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelinesLalit Kale
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best PracticesTrisha Gee
 
Testing strategies for legacy code
Testing strategies for legacy codeTesting strategies for legacy code
Testing strategies for legacy codeAlex Soto
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?Andy Zaidman
 
Clean code - Getting your R&D on board
Clean code - Getting your R&D on boardClean code - Getting your R&D on board
Clean code - Getting your R&D on boardRuth Sperer
 
Code review in practice
Code review in practiceCode review in practice
Code review in practiceEdorian
 

What's hot (20)

Utility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDUtility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDD
 
Code Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysisCode Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysis
 
Code Review for iOS
Code Review for iOSCode Review for iOS
Code Review for iOS
 
Code Review
Code ReviewCode Review
Code Review
 
Code review at large scale
Code review at large scaleCode review at large scale
Code review at large scale
 
Automated Unit Testing and TDD
Automated Unit Testing and TDDAutomated Unit Testing and TDD
Automated Unit Testing and TDD
 
Java Code Review Checklist
Java Code Review ChecklistJava Code Review Checklist
Java Code Review Checklist
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
 
How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviews
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
 
TDD Workshop UTN 2012
TDD Workshop UTN 2012TDD Workshop UTN 2012
TDD Workshop UTN 2012
 
clean code - uncle bob
clean code - uncle bobclean code - uncle bob
clean code - uncle bob
 
Testing strategies for legacy code
Testing strategies for legacy codeTesting strategies for legacy code
Testing strategies for legacy code
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
Code review
Code reviewCode review
Code review
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?
 
Clean code - Getting your R&D on board
Clean code - Getting your R&D on boardClean code - Getting your R&D on board
Clean code - Getting your R&D on board
 
Code review in practice
Code review in practiceCode review in practice
Code review in practice
 

Viewers also liked

Exploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsExploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsMike Cottmeyer
 
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarIBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarReedy Feggins Jr
 
Agile 2012 - An Agile Adoption and Transformation Survival Guide
Agile 2012 - An Agile Adoption and Transformation Survival GuideAgile 2012 - An Agile Adoption and Transformation Survival Guide
Agile 2012 - An Agile Adoption and Transformation Survival GuideMichael Sahota
 
Agile leadership assessment
Agile leadership assessmentAgile leadership assessment
Agile leadership assessmentRavi Tadwalkar
 
Agile adoption tales from the coalface
Agile adoption   tales  from the coalfaceAgile adoption   tales  from the coalface
Agile adoption tales from the coalfaceNish Mahanty
 
Brief Intro to Agile, Benefits & Transition
Brief Intro to Agile, Benefits & TransitionBrief Intro to Agile, Benefits & Transition
Brief Intro to Agile, Benefits & TransitionMichael Sahota
 
Transforming Lives using Agile
Transforming Lives using AgileTransforming Lives using Agile
Transforming Lives using AgileRahul Sudame
 
Technical Paper Competition - PMI's Project Management Regional Conference, P...
Technical Paper Competition - PMI's Project Management Regional Conference, P...Technical Paper Competition - PMI's Project Management Regional Conference, P...
Technical Paper Competition - PMI's Project Management Regional Conference, P...Rahul Sudame
 
Agile Methodology Assessment
Agile Methodology AssessmentAgile Methodology Assessment
Agile Methodology AssessmentSandy Lee
 
PMI Agile Certified Practitioner Certification Overview
PMI Agile Certified Practitioner Certification OverviewPMI Agile Certified Practitioner Certification Overview
PMI Agile Certified Practitioner Certification OverviewRahul Sudame
 
Agile pilot project selection
Agile pilot project selectionAgile pilot project selection
Agile pilot project selectionhemantg1
 
Change request for right mindset
Change request for right mindsetChange request for right mindset
Change request for right mindsetRahul Sudame
 
Agile case study
Agile case studyAgile case study
Agile case studySandy Lee
 
Conducting 'meaningful' retrospection meetings
Conducting 'meaningful' retrospection meetingsConducting 'meaningful' retrospection meetings
Conducting 'meaningful' retrospection meetingsRahul Sudame
 
Risks and strategies adopting agile in medium and large organizations
Risks and strategies adopting agile in medium and large organizationsRisks and strategies adopting agile in medium and large organizations
Risks and strategies adopting agile in medium and large organizationsAgile Software Community of India
 
User Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity MeasurementUser Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity MeasurementEthan Huang
 
Overcome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile AdoptionOvercome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile AdoptionAgile Velocity
 
How to Adopt Agile at Your Organization
How to Adopt Agile at Your OrganizationHow to Adopt Agile at Your Organization
How to Adopt Agile at Your OrganizationRaimonds Simanovskis
 
How to measure the outcome of agile transformation
How to measure the outcome of agile transformationHow to measure the outcome of agile transformation
How to measure the outcome of agile transformationRahul Sudame
 

Viewers also liked (20)

Exploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsExploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling Patterns
 
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarIBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
 
Agile 2012 - An Agile Adoption and Transformation Survival Guide
Agile 2012 - An Agile Adoption and Transformation Survival GuideAgile 2012 - An Agile Adoption and Transformation Survival Guide
Agile 2012 - An Agile Adoption and Transformation Survival Guide
 
Agile leadership assessment
Agile leadership assessmentAgile leadership assessment
Agile leadership assessment
 
Agile adoption tales from the coalface
Agile adoption   tales  from the coalfaceAgile adoption   tales  from the coalface
Agile adoption tales from the coalface
 
Brief Intro to Agile, Benefits & Transition
Brief Intro to Agile, Benefits & TransitionBrief Intro to Agile, Benefits & Transition
Brief Intro to Agile, Benefits & Transition
 
Transforming Lives using Agile
Transforming Lives using AgileTransforming Lives using Agile
Transforming Lives using Agile
 
Technical Paper Competition - PMI's Project Management Regional Conference, P...
Technical Paper Competition - PMI's Project Management Regional Conference, P...Technical Paper Competition - PMI's Project Management Regional Conference, P...
Technical Paper Competition - PMI's Project Management Regional Conference, P...
 
Agile Methodology Assessment
Agile Methodology AssessmentAgile Methodology Assessment
Agile Methodology Assessment
 
PMI Agile Certified Practitioner Certification Overview
PMI Agile Certified Practitioner Certification OverviewPMI Agile Certified Practitioner Certification Overview
PMI Agile Certified Practitioner Certification Overview
 
Agile pilot project selection
Agile pilot project selectionAgile pilot project selection
Agile pilot project selection
 
Change request for right mindset
Change request for right mindsetChange request for right mindset
Change request for right mindset
 
Agile case study
Agile case studyAgile case study
Agile case study
 
Conducting 'meaningful' retrospection meetings
Conducting 'meaningful' retrospection meetingsConducting 'meaningful' retrospection meetings
Conducting 'meaningful' retrospection meetings
 
Risks and strategies adopting agile in medium and large organizations
Risks and strategies adopting agile in medium and large organizationsRisks and strategies adopting agile in medium and large organizations
Risks and strategies adopting agile in medium and large organizations
 
User Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity MeasurementUser Story Cycle Time - An Universal Agile Maturity Measurement
User Story Cycle Time - An Universal Agile Maturity Measurement
 
Overcome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile AdoptionOvercome the 6 Antipatterns of Agile Adoption
Overcome the 6 Antipatterns of Agile Adoption
 
Implement Agile Practices That Work
Implement Agile Practices That WorkImplement Agile Practices That Work
Implement Agile Practices That Work
 
How to Adopt Agile at Your Organization
How to Adopt Agile at Your OrganizationHow to Adopt Agile at Your Organization
How to Adopt Agile at Your Organization
 
How to measure the outcome of agile transformation
How to measure the outcome of agile transformationHow to measure the outcome of agile transformation
How to measure the outcome of agile transformation
 

Similar to Adopting Agile

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 cycleDiUS
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CDRoger Turnau
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Kari Kakkonen
 
Tester career path
Tester career pathTester career path
Tester career pathgaoliang641
 
Top Devops bottlenecks, constraints and best practices
Top Devops bottlenecks, constraints and best practicesTop Devops bottlenecks, constraints and best practices
Top Devops bottlenecks, constraints and best practicesMike Kavis
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineeringMansiganeshJawale
 
Webinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roiWebinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roiCygnet Infotech
 
Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2Edmund FOng
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementationTerry Bunio
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...TEST Huddle
 
Agile testing
Agile testingAgile testing
Agile testingJoe Phan
 
Test driven development
Test driven developmentTest driven development
Test driven developmentSunil Prasad
 
Quality in Project Management
Quality in Project ManagementQuality in Project Management
Quality in Project Managementdaragao
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters MostRemedy IT
 

Similar to Adopting Agile (20)

Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Automation and Technical Debt
Automation and Technical DebtAutomation and Technical Debt
Automation and Technical Debt
 
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
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Agile testing
Agile testingAgile testing
Agile testing
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle
 
Tester career path
Tester career pathTester career path
Tester career path
 
Top Devops bottlenecks, constraints and best practices
Top Devops bottlenecks, constraints and best practicesTop Devops bottlenecks, constraints and best practices
Top Devops bottlenecks, constraints and best practices
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Webinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roiWebinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roi
 
Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
Quality in Project Management
Quality in Project ManagementQuality in Project Management
Quality in Project Management
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters Most
 

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 DevelopmentsTrustArc
 
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.pdfsudhanshuwaghmare1
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
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 FresherRemote DBA Services
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 FMESafe Software
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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...DianaGray10
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Adopting Agile

  • 2. Today’s Reality More. Better. Faster. • Customers demand new, innovative features • And quickly • Features are often implemented in software • Size of software projects is exploding • And often includes third-party/open-source code • Security and stability cannot be compromised In other words: software organizations must provide more, with excellent quality, security, and stability, using reliably less time 2
  • 3. Agile A popular way to address these challenges Many organizations are adopting practices commonly associated with Agile: • Development via rapid iteration over bite-sized, selfcontained work units rather than large process phases • Automated testing: unit, regression, etc. • Continuous integration builds • In some cases, even continuous delivery 3
  • 4. Why Agile? Business Benefits: • More easily manage change • Better align IT and business objectives • Accelerate time to market Development Benefits: • Visibility: Discover problems sooner • Efficiency: Fix problems more quickly and easily • Predictability: Avoid late-stage schedule disruptions 4
  • 5. Shorten Cycles, Distribute the Load Theme: Avoid large backlogs; get early feedback • Test code as it is written, minimizing significant last-minute disruptions Practice/Benefit Split development cycle into bite-sized sprints Improve responsiveness, predictability Developers code, test, design All team members are experts with the code; improve efficiency Use small, fast, automated tests like unit tests Get early feedback about whether the code is working properly Routinely integrate, build, test code changes Get early feedback about whether the product is in a working state 5
  • 6. Adopting Agile We need to go Agile—it will solve our development problems! We can’t put the business on hold to rebuild R&D, Bob! 6
  • 7. It’s Not Always Easy • Even with a plan and support, adopting Agile practices often encounters resistance • Business Risk: How to maintain developer productivity while onboarding testing responsibilities? • Culture: How to convince developers to actually write tests? • Adoption: How to enforce adoption of the new practices? • IT: How to manage infrastructure? • Politics: How to assure QA that their jobs are safe? • Governance: How to manage the transition to ensure it is successful? 7
  • 8. Justifying Agile We can’t put the business on hold… 8 We don’t have to! We’ll ease in, starting with our new code and new projects.
  • 9. Overcome the Resistance • Business Risk (productivity with new testing requirements) • Ease into Agile, e.g. focus on new code/projects first • It’s not all-or-nothing, so plan a transition • Culture (developers must write tests) • Enforce testing standards for important/high-risk code • Phased deployment convinces skeptics and provides escape hatch • Adoption (new practices stick) • Automate enforcement as part of standard process • Politics and Governance • Provide visibility into the new process • Reassure stakeholders—process enables them to fulfill their mission, e.g. independently verify quality or security; not police R&D 9
  • 10. But…the Devil’s in the Details • How do you determine if code is sufficiently tested? • It’s not practical (or possible) to automate tests for all code • Are you testing all of the important code? • Are you wasting effort testing unimportant code? • How do you enforce testing of changes to legacy code? • You need to require tests for all important code • Without trying to boil the ocean • How do you eliminate manual interpretation and noise? • You need to reduce adoption barriers and increase confidence • Visibility without sufficient context is (worse than) useless 10
  • 11. Is Code Sufficiently Tested? Sweet, safeClose() is fully tested now! I’m glad I don’t need to test that catch block—I’m not sure I can even trigger an IOException there. 11
  • 12. Partial Visibility is Worse Than Useless Only 86% coverage for safeClose()? That untested 14% worries me… dbgStub() Why are we wasting time testing dbgStub()? 12 Hey Bob, we need to fix this!
  • 13. Let Your Tools Do the Heavy Lifting • Leverage static analysis to get early feedback about common coding errors • No need to invest time writing test cases for these issues • It’s critical to automate, look for important problems and configure for minimal noise • Don’t simply measure testing coverage • Enforce a testing policy that focuses on the important/high-risk code • Focus on certain components, modules, classes or functions • Test all code impacted by recent changes • No need to test debug, logging or exception-handling code • Recognize field-tested code; consider code complexity • Leverage SCM systems (age, author), testing artifacts, etc. to improve accuracy and automation 13
  • 14. Make It Easy On Developers Just add a test covering line 1084 and I’m golden. Glad I don’t need to test those aborts! Don’t need to be tested 14
  • 15. Make It Easy On Developers • Automate, automate, automate • Use a consistent workflow for all types of issues • Generate prescriptive work items for identified problems • Automatically interpret and prescribe action • “Here is your problem. Do this to fix it…” • AVOID: “Does anything look wrong in this output? Don’t forget to check the build logs and the test output, too.” • Provide easy access to all information, especially the source code and context relevant to the problem • Automatically assign to appropriate team members for accountability • E.g. by most recent SCM committer, or component owner 15
  • 16. Visibility With Context is Priceless Awesome progress on our improvement goals! Development is right on schedule 16
  • 17. Visibility and Governance • Measure coverage in the context of your testing policy and definition of “important” and “high-risk” code • Eliminate manual interpretation • Measure performance against objective, meaningful standards • All stakeholders will understand the reports • Automate development testing in your process • Objective, meaningful assessments enable you to automate with confidence and accurately fail the build when something is wrong • Developers become accountable for code quality/security • Gain visibility into pending problems and completeness • Gain scheduling predictability 17
  • 18. Bob, you did a great job fixing our development problems. I’m giving you a raise! 18
  • 19.
  • 20. Want to try Coverity on your code? For a free trial, visit: www.coverity.com