SlideShare a Scribd company logo
 
	
  
	
  
	
  
	
  
T24	
  
Special	
  Topics	
  
10/5/17	
  15:00	
  
	
  
	
  
	
  
	
  
Testing	
  Enterprise	
  Software	
  Rewrites	
  
	
  
Presented	
  by:	
  
	
  
Umang	
  Nahata	
  
	
  Progressive	
  Insurance	
  
	
  
Brought	
  to	
  you	
  by:	
  	
  
	
  	
  
	
  
	
  
	
  
	
  
	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  	
  
888-­‐-­‐-­‐268-­‐-­‐-­‐8770	
  ·∙·∙	
  904-­‐-­‐-­‐278-­‐-­‐-­‐0524	
  -­‐	
  info@techwell.com	
  -­‐	
  http://www.starwest.techwell.com/	
  	
  	
  
	
  
	
  	
  
	
  
	
  
Umang	
  Nahata	
  
Progressive	
  Insurance	
  
	
  
Umang	
  Nahata	
  is	
  a	
  senior	
  system	
  test	
  engineer	
  with	
  Progressive	
  Insurance,	
  
where	
  he	
  applies	
  architectural,	
  technical,	
  and	
  process	
  knowledge	
  to	
  deliver	
  
software	
  assets	
  that	
  add	
  value	
  by	
  increasing	
  the	
  breadth,	
  coverage,	
  and	
  speed	
  of	
  
testing.	
  He	
  has	
  an	
  inquisitive	
  spirit	
  and	
  researches	
  new	
  approaches,	
  tools,	
  and	
  
techniques	
  to	
  solve	
  complex	
  testing	
  problems.	
  A	
  software	
  developer	
  at	
  heart	
  
with	
  a	
  passion	
  for	
  building	
  quality	
  software,	
  Umang	
  has	
  a	
  talent	
  for	
  creating	
  
effective	
  test	
  strategies.	
  He	
  has	
  been	
  in	
  the	
  IT	
  industry	
  for	
  more	
  than	
  ten	
  years	
  in	
  
a	
  variety	
  of	
  roles	
  and	
  experiences.	
  Umang	
  is	
  passionate	
  about	
  software	
  testing,	
  
test	
  automation,	
  and	
  advocating	
  better	
  collaboration	
  for	
  building	
  better	
  
software.	
  
	
  
	
  
1
Tes$ng	
  Enterprise	
  So/ware	
  
Rewrites	
  
	
  
Umang	
  Nahata	
  
Progressive	
  Insurance	
  	
  
Star	
  West	
  Tes$ng	
  Conference	
  2017
Page 1
•  Senior Systems Test Engineer
§  Progressive Insurance – Ohio
§  Hybrid Developer / QA
§  Create tools and processes to solve testing
challenges
§  10+ years in IT
§  Avid learner
Page 2
Hello!
2
•  Enterprise Software Rewrite
•  Assessments, Strategies and Experiences
•  Practices & Lessons Learned
Page 3
Session Goals
Enterprise Software Rewrite
•  Software Modernization Effort
– Keep up with industry standards, technologies
and infrastructure
– Triggered by different drivers of change
•  Rewrite Core Objective
– Ensure functional compatibility of the new
system before retiring legacy system
Page 4
3
Enterprise Software Rewrite
•  This effort is
– Risky
– Costly
– Challenging
– Rewarding
Page 5
Sometimes, for some enterprises,
software rewrite is the only option…
Page 6
4
Break Poll
A quick show of hands…
Your exposure in testing enterprise software
rewrites?
Yes, No
If you were involved, what was the end result?
Delivered, Not Delivered
Page 7
•  Enterprise Software Rewrite
•  Assessments, Strategies and Experiences
•  Practices & Lessons Learned
Page 8
Session Goals
5
Know yourself and your customer
Page 9
“If you know the enemy and know yourself, you
need not fear the result of a hundred battles.”
- Sun Tzu, The Art of War
Know yourself and your customer
•  5 Why’s Technique ~ Understand dependency
and root cause
Why are we doing this? – To implement ‘xyz’
Why do we need to implement ‘xyz’? – To modify
feature ‘abc’
Why do we need to modify ‘abc’? – To avoid
maintenance costs
Why? – Vendor retiring support
Page 10
6
Know yourself and your customer
5W1H Technique ~ Information gathering
– Who, What, Where, When, Why, How
•  What happened?
•  Who was involved?
•  Where did it take place?
•  When did it take place?
•  Why did that happen?
•  How did it happen?
Page 11
Know yourself and your customer
Additionally, try to understand
•  Change Driving force
– Strategic, Financial, Infrastructure, Others
•  Team Competency
– Right people, Right skills, Right Attitude, Right
time
•  Legacy system (as best as you can)
Customer goals != Project goals != Individual goals
Page 12
7
Risk Analysis and Management
•  Worst Case Scenario
– What can go wrong?
– How bad can it go wrong?
Page 13
Risk Analysis and Management
•  Helps plan, manage, allocate resources for
testing efforts
•  Enterprise software rewrites are high-risk
– Never underestimate complexity (and hours)
– Careful of scope creep & feature change
requests (How would you test?)
Assess, Adjust and Learn
Page 14
8
Experience and Strategies
•  Minimize software architectural transformation
•  Utilize legacy system as test oracles
•  Effective Automation can make a difference
•  Audit test data for internal systems
Page 15
Minimize software architectural
transformation
•  For effective delivery, scoping and testing
– Keep it simple and incremental
– Focus on Minimum Viable Product (MVP)
– Isolate changes, dependencies (if possible)
– Resist over design/architect
– Scope creep could affect testing
Page 16
9
If it (Software Rewrite) seems too
good to be true, it probably is…
Page 17
Utilize legacy system as test oracles
•  Difficult to shoe-horn tests into legacy system
– Value, Time, Costs, Skills Trade-offs?
– Possible to write tests in new code base
•  Please do (Your team will thank you later)
•  Your testing needs to be strategic
– Expect lack of Documentation,
Requirements, Specifications and Support
– Baseline your tests on legacy system and
compare to new
Page 18
10
Effective Automation Can Make a
Difference
•  Determine
– Purpose & Value
– Feasibility
– Reusability
•  Automation
– Hinder or Support?
– Right Team, Right Tools, Right Skills, Right Time?
Page 19
Audit test data for internal systems
•  Optional or Adapt
– Production test data availability?
•  Testing the test data
– Quantity Vs. Quality
– Repeating same tests?
– Sufficient test sets? Representation?
– Coverage gaps?
– Redundant/Unreachable code?
– Evaluate/Benchmark?
Page 20
11
•  Enterprise Software Rewrite
•  Assessments, Strategies and Experiences
•  Practices & Lessons Learned
Page 21
Session Goals
Teamwork makes the difference
•  You may not get it right the first time. It’s okay…
•  For your team
– Establish Goals
– Create environment
– Encourage mistakes
– Encourage learning
– Provide support
– And more…
Page 22
12
Rewrite with specific purpose/target
•  Can’t abandon legacy-code
– Don’t underestimate complexity
– Try to Reuse/Refactor
– Focus on building Minimum Viable Product
•  Shows progress to stakeholders
•  Easy to test as well
•  Add unit tests when rewriting
•  Document as you rewrite
Page 23
Include people familiar with the
legacy system
•  Negotiate dedicated people and resources who
are familiar with old system and include them in
rewrite efforts
•  Blend a team with old and new technology
experts
•  Include them from the start and negotiate
response times (if needed)
Page 24
13
Remember…this isn’t a silver
bullet
Page 25
Your Mileage May Vary…
Testing relies on feedback…
So do I…
Page 26
14
Appendix – Resources
•  Wikipedia – Rewrite, Software Modernization,
5_Whys, 5W1H
•  Joel On Software – Things you should never do
•  Michael Feathers –
Working Effectively with Legacy Code
•  Richard Bender – Testing Software Rewrites
•  YCombinator – Discussion Link
•  James Shore – Surviving a software rewrite
•  Stephen Haunts –
Is it a good idea to write tests for your legacy code
Page 27

More Related Content

What's hot

Copy of herberger resume
Copy of herberger resumeCopy of herberger resume
Copy of herberger resume
Jack Herberger
 
Writing effective requirements
Writing effective requirementsWriting effective requirements
Writing effective requirements
Liz Lavaveshkul
 
ERP Implementation - Tips for successful ERP implementation
ERP Implementation - Tips for successful ERP implementationERP Implementation - Tips for successful ERP implementation
ERP Implementation - Tips for successful ERP implementation
Jyotindra Zaveri
 
Resume
ResumeResume
Resume
Mithun R
 
requirement gathering for EMR customization
requirement gathering for EMR customizationrequirement gathering for EMR customization
requirement gathering for EMR customization
ZEESHAN ASIF
 
The Future of Testing
The Future of TestingThe Future of Testing
The Future of Testing
Paul Gerrard
 
Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)
Teemu Karvonen
 
3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_Resume3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_Resume
Cindy Winter
 
Make good use of explortary testing
Make good use of explortary testingMake good use of explortary testing
Make good use of explortary testing
gaoliang641
 
Dell Taipei, Taiwan Job Openings
Dell Taipei, Taiwan Job OpeningsDell Taipei, Taiwan Job Openings
Dell Taipei, Taiwan Job Openings
Kino Tang
 
Requirement Management 2
Requirement Management 2Requirement Management 2
Requirement Management 2
pikuoec
 
Free CBAP V3 study guide
Free CBAP V3 study guideFree CBAP V3 study guide
Free CBAP V3 study guide
LN Mishra CBAP
 
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
Lean India Summit
 
Requirement management presentation to a software team
Requirement management presentation to a software teamRequirement management presentation to a software team
Requirement management presentation to a software team
rchakra
 
JAYANTA KAMKAR_CV
JAYANTA KAMKAR_CVJAYANTA KAMKAR_CV
JAYANTA KAMKAR_CV
Jayanta Kamkar
 
Dhankaran_Ajravat_Resume2015
Dhankaran_Ajravat_Resume2015Dhankaran_Ajravat_Resume2015
Dhankaran_Ajravat_Resume2015
Dhankaran Ajravat
 
Requirements Gathering Best Practice Pack
Requirements Gathering Best Practice PackRequirements Gathering Best Practice Pack
Requirements Gathering Best Practice Pack
Amy Slater
 
3685807
36858073685807
3685807
nazeer pasha
 
How to Select the Right ALT Approach
How to Select the Right ALT ApproachHow to Select the Right ALT Approach
How to Select the Right ALT Approach
Accendo Reliability
 
Quality Not Compromise; Best Practices for Automated Testing
Quality Not Compromise; Best Practices for Automated TestingQuality Not Compromise; Best Practices for Automated Testing
Quality Not Compromise; Best Practices for Automated Testing
Rachel Maxwell
 

What's hot (20)

Copy of herberger resume
Copy of herberger resumeCopy of herberger resume
Copy of herberger resume
 
Writing effective requirements
Writing effective requirementsWriting effective requirements
Writing effective requirements
 
ERP Implementation - Tips for successful ERP implementation
ERP Implementation - Tips for successful ERP implementationERP Implementation - Tips for successful ERP implementation
ERP Implementation - Tips for successful ERP implementation
 
Resume
ResumeResume
Resume
 
requirement gathering for EMR customization
requirement gathering for EMR customizationrequirement gathering for EMR customization
requirement gathering for EMR customization
 
The Future of Testing
The Future of TestingThe Future of Testing
The Future of Testing
 
Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)
 
3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_Resume3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_Resume
 
Make good use of explortary testing
Make good use of explortary testingMake good use of explortary testing
Make good use of explortary testing
 
Dell Taipei, Taiwan Job Openings
Dell Taipei, Taiwan Job OpeningsDell Taipei, Taiwan Job Openings
Dell Taipei, Taiwan Job Openings
 
Requirement Management 2
Requirement Management 2Requirement Management 2
Requirement Management 2
 
Free CBAP V3 study guide
Free CBAP V3 study guideFree CBAP V3 study guide
Free CBAP V3 study guide
 
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
 
Requirement management presentation to a software team
Requirement management presentation to a software teamRequirement management presentation to a software team
Requirement management presentation to a software team
 
JAYANTA KAMKAR_CV
JAYANTA KAMKAR_CVJAYANTA KAMKAR_CV
JAYANTA KAMKAR_CV
 
Dhankaran_Ajravat_Resume2015
Dhankaran_Ajravat_Resume2015Dhankaran_Ajravat_Resume2015
Dhankaran_Ajravat_Resume2015
 
Requirements Gathering Best Practice Pack
Requirements Gathering Best Practice PackRequirements Gathering Best Practice Pack
Requirements Gathering Best Practice Pack
 
3685807
36858073685807
3685807
 
How to Select the Right ALT Approach
How to Select the Right ALT ApproachHow to Select the Right ALT Approach
How to Select the Right ALT Approach
 
Quality Not Compromise; Best Practices for Automated Testing
Quality Not Compromise; Best Practices for Automated TestingQuality Not Compromise; Best Practices for Automated Testing
Quality Not Compromise; Best Practices for Automated Testing
 

Similar to Testing Enterprise Software Rewrites

Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
Naresh Jain
 
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
DiUS
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
Mike Cohn
 
Quality Metrics: The Dirty Word in the Room
Quality Metrics: The Dirty Word in the RoomQuality Metrics: The Dirty Word in the Room
Quality Metrics: The Dirty Word in the Room
Josiah Renaudin
 
Remin's Resume
Remin's ResumeRemin's Resume
Remin's Resume
Remin George
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategy
Rahat Chowdhury
 
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
Minh Nguyen
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
Hem Rana
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh
 
Advancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organizationAdvancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organization
Ramkumar Ravichandran
 
Webinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform EngineeringWebinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform Engineering
OpenCredo
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product Maturity
TechWell
 
Lect7
Lect7Lect7
Lect7
Lect7Lect7
Dhanujai_Testing_Resume
Dhanujai_Testing_ResumeDhanujai_Testing_Resume
Dhanujai_Testing_Resume
Dhanunjai Neeli
 
Resume
ResumeResume
Resume
gsriranjani
 
Abey_Thomas_Resume
Abey_Thomas_ResumeAbey_Thomas_Resume
Abey_Thomas_Resume
Abey Thomas
 
Top Business Benefits of Application Lifecycle Management (ALM)
Top Business Benefits of Application Lifecycle Management (ALM)Top Business Benefits of Application Lifecycle Management (ALM)
Top Business Benefits of Application Lifecycle Management (ALM)
Imaginet
 
Eureka Data Science Analytic Process
Eureka Data Science Analytic ProcessEureka Data Science Analytic Process
Eureka Data Science Analytic Process
Allen Nugent
 
A brief introduction to Enterprise and Industrial UX
A brief introduction to Enterprise and Industrial UXA brief introduction to Enterprise and Industrial UX
A brief introduction to Enterprise and Industrial UX
Larry Burks
 

Similar to Testing Enterprise Software Rewrites (20)

Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
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
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
 
Quality Metrics: The Dirty Word in the Room
Quality Metrics: The Dirty Word in the RoomQuality Metrics: The Dirty Word in the Room
Quality Metrics: The Dirty Word in the Room
 
Remin's Resume
Remin's ResumeRemin's Resume
Remin's Resume
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategy
 
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Advancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organizationAdvancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organization
 
Webinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform EngineeringWebinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform Engineering
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product Maturity
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Dhanujai_Testing_Resume
Dhanujai_Testing_ResumeDhanujai_Testing_Resume
Dhanujai_Testing_Resume
 
Resume
ResumeResume
Resume
 
Abey_Thomas_Resume
Abey_Thomas_ResumeAbey_Thomas_Resume
Abey_Thomas_Resume
 
Top Business Benefits of Application Lifecycle Management (ALM)
Top Business Benefits of Application Lifecycle Management (ALM)Top Business Benefits of Application Lifecycle Management (ALM)
Top Business Benefits of Application Lifecycle Management (ALM)
 
Eureka Data Science Analytic Process
Eureka Data Science Analytic ProcessEureka Data Science Analytic Process
Eureka Data Science Analytic Process
 
A brief introduction to Enterprise and Industrial UX
A brief introduction to Enterprise and Industrial UXA brief introduction to Enterprise and Industrial UX
A brief introduction to Enterprise and Industrial UX
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
Ma 15Ma 15
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 

Recently uploaded (20)

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 

Testing Enterprise Software Rewrites

  • 1.           T24   Special  Topics   10/5/17  15:00           Testing  Enterprise  Software  Rewrites     Presented  by:     Umang  Nahata    Progressive  Insurance     Brought  to  you  by:                   350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073     888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  info@techwell.com  -­‐  http://www.starwest.techwell.com/                
  • 2. Umang  Nahata   Progressive  Insurance     Umang  Nahata  is  a  senior  system  test  engineer  with  Progressive  Insurance,   where  he  applies  architectural,  technical,  and  process  knowledge  to  deliver   software  assets  that  add  value  by  increasing  the  breadth,  coverage,  and  speed  of   testing.  He  has  an  inquisitive  spirit  and  researches  new  approaches,  tools,  and   techniques  to  solve  complex  testing  problems.  A  software  developer  at  heart   with  a  passion  for  building  quality  software,  Umang  has  a  talent  for  creating   effective  test  strategies.  He  has  been  in  the  IT  industry  for  more  than  ten  years  in   a  variety  of  roles  and  experiences.  Umang  is  passionate  about  software  testing,   test  automation,  and  advocating  better  collaboration  for  building  better   software.      
  • 3. 1 Tes$ng  Enterprise  So/ware   Rewrites     Umang  Nahata   Progressive  Insurance     Star  West  Tes$ng  Conference  2017 Page 1 •  Senior Systems Test Engineer §  Progressive Insurance – Ohio §  Hybrid Developer / QA §  Create tools and processes to solve testing challenges §  10+ years in IT §  Avid learner Page 2 Hello!
  • 4. 2 •  Enterprise Software Rewrite •  Assessments, Strategies and Experiences •  Practices & Lessons Learned Page 3 Session Goals Enterprise Software Rewrite •  Software Modernization Effort – Keep up with industry standards, technologies and infrastructure – Triggered by different drivers of change •  Rewrite Core Objective – Ensure functional compatibility of the new system before retiring legacy system Page 4
  • 5. 3 Enterprise Software Rewrite •  This effort is – Risky – Costly – Challenging – Rewarding Page 5 Sometimes, for some enterprises, software rewrite is the only option… Page 6
  • 6. 4 Break Poll A quick show of hands… Your exposure in testing enterprise software rewrites? Yes, No If you were involved, what was the end result? Delivered, Not Delivered Page 7 •  Enterprise Software Rewrite •  Assessments, Strategies and Experiences •  Practices & Lessons Learned Page 8 Session Goals
  • 7. 5 Know yourself and your customer Page 9 “If you know the enemy and know yourself, you need not fear the result of a hundred battles.” - Sun Tzu, The Art of War Know yourself and your customer •  5 Why’s Technique ~ Understand dependency and root cause Why are we doing this? – To implement ‘xyz’ Why do we need to implement ‘xyz’? – To modify feature ‘abc’ Why do we need to modify ‘abc’? – To avoid maintenance costs Why? – Vendor retiring support Page 10
  • 8. 6 Know yourself and your customer 5W1H Technique ~ Information gathering – Who, What, Where, When, Why, How •  What happened? •  Who was involved? •  Where did it take place? •  When did it take place? •  Why did that happen? •  How did it happen? Page 11 Know yourself and your customer Additionally, try to understand •  Change Driving force – Strategic, Financial, Infrastructure, Others •  Team Competency – Right people, Right skills, Right Attitude, Right time •  Legacy system (as best as you can) Customer goals != Project goals != Individual goals Page 12
  • 9. 7 Risk Analysis and Management •  Worst Case Scenario – What can go wrong? – How bad can it go wrong? Page 13 Risk Analysis and Management •  Helps plan, manage, allocate resources for testing efforts •  Enterprise software rewrites are high-risk – Never underestimate complexity (and hours) – Careful of scope creep & feature change requests (How would you test?) Assess, Adjust and Learn Page 14
  • 10. 8 Experience and Strategies •  Minimize software architectural transformation •  Utilize legacy system as test oracles •  Effective Automation can make a difference •  Audit test data for internal systems Page 15 Minimize software architectural transformation •  For effective delivery, scoping and testing – Keep it simple and incremental – Focus on Minimum Viable Product (MVP) – Isolate changes, dependencies (if possible) – Resist over design/architect – Scope creep could affect testing Page 16
  • 11. 9 If it (Software Rewrite) seems too good to be true, it probably is… Page 17 Utilize legacy system as test oracles •  Difficult to shoe-horn tests into legacy system – Value, Time, Costs, Skills Trade-offs? – Possible to write tests in new code base •  Please do (Your team will thank you later) •  Your testing needs to be strategic – Expect lack of Documentation, Requirements, Specifications and Support – Baseline your tests on legacy system and compare to new Page 18
  • 12. 10 Effective Automation Can Make a Difference •  Determine – Purpose & Value – Feasibility – Reusability •  Automation – Hinder or Support? – Right Team, Right Tools, Right Skills, Right Time? Page 19 Audit test data for internal systems •  Optional or Adapt – Production test data availability? •  Testing the test data – Quantity Vs. Quality – Repeating same tests? – Sufficient test sets? Representation? – Coverage gaps? – Redundant/Unreachable code? – Evaluate/Benchmark? Page 20
  • 13. 11 •  Enterprise Software Rewrite •  Assessments, Strategies and Experiences •  Practices & Lessons Learned Page 21 Session Goals Teamwork makes the difference •  You may not get it right the first time. It’s okay… •  For your team – Establish Goals – Create environment – Encourage mistakes – Encourage learning – Provide support – And more… Page 22
  • 14. 12 Rewrite with specific purpose/target •  Can’t abandon legacy-code – Don’t underestimate complexity – Try to Reuse/Refactor – Focus on building Minimum Viable Product •  Shows progress to stakeholders •  Easy to test as well •  Add unit tests when rewriting •  Document as you rewrite Page 23 Include people familiar with the legacy system •  Negotiate dedicated people and resources who are familiar with old system and include them in rewrite efforts •  Blend a team with old and new technology experts •  Include them from the start and negotiate response times (if needed) Page 24
  • 15. 13 Remember…this isn’t a silver bullet Page 25 Your Mileage May Vary… Testing relies on feedback… So do I… Page 26
  • 16. 14 Appendix – Resources •  Wikipedia – Rewrite, Software Modernization, 5_Whys, 5W1H •  Joel On Software – Things you should never do •  Michael Feathers – Working Effectively with Legacy Code •  Richard Bender – Testing Software Rewrites •  YCombinator – Discussion Link •  James Shore – Surviving a software rewrite •  Stephen Haunts – Is it a good idea to write tests for your legacy code Page 27