SlideShare a Scribd company logo
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR 2020
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR 2020
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR 2020
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Mufrid Krilic
Senior Software Developer/Coach
DIPS AS, Norway
@mufridk
Building Quality In Legacy Systems – The Art of Asking Questions
Her kan du legge inn
bilde. Du finner
figurer her:
Link
Maslow’s Hierarchy of Needs
Gojko Adzic - Using Maslow as an Analogy for Defining Software Quality
Blogpost:
• «Redefining Software Quality»
• https://gojko.net/2012/05/08/redefining-software-quality/
Maslow - Physiological Needs
• Quality methods:
• TDD
• Correct metrics:
• Bug count
• Code Coverage
Roles to focus on:
• Beta-users
• Operations
Maslow – Safety Needs
• Quality methods:
• Performance testing
• Risk analysis
• Architecture and design
patterns
Roles to focus on:
• End-users
• People working with information security
Maslow – Love/Belonging Needs
• Quality methods:
• Usability testing
• Design thinking
• UX design
Roles to focus on:
• End-users
Intermezzo
We usually invest most in
the lowest three levels
Maslow – Esteem Needs
• Quality methods:
• Continuous delivery
• DevOps
• Correct metrics
• Production environment
measurements
Roles to focus on:
• End-users, Management
Maslow – Self-actualization Needs
• Quality methods:
• Impact Mapping
• Correct metrics
• What impact did the software
product make?
• Did we make or save money?
Roles to focus on:
• Decision makers
• Broader user community
• Public relations
Good enough – how to know where to invest?
The more you invest in quality
on this level the better
Focus on good enough
How to apply this when working with legacy systems?
The Art of Asking Questions
Different perspectives in the legacy system
 Ask questions related to
– Delivery process
– Conditions of acceptance
– Code and product maintainability
– Security and performance
– Domain-specific context in existing operational environments
 Questions should be asked before or during the development process, not after
Delivery process related questions
 Any manual steps in the delivery process?
 Compatibility with previously installed versions in production
– Can multiple versions of the product exist side by side?
 Documentation
Deployable?
Conditions of Acceptance
 Automatic and explorative testing
 Testing integration points with other parts of the system
– How to avoid introducing undesirable behavior?
– Learn from experiences of the past
– Talk to people in your organization 
Functionally ok?
Case: Patient Admission Letters – Context Map
Admission Letter
Templates
ReferralAppointments
Surgery
Send
Letter to
Patient
Patient Information Next of Kin Send Message
to GP
Type of Integration:
• Which team
• What type of relation with the team
Health Record
Code and product maintainability related questions
 Diagrams and maps
– How to document integrations with other parts of the application?
 Logging and profiling
– Just enough to be able to monitor usage in production
Functionally ok?
Security and performance related questions
 Performance testing, memory footprint, authentication, authorization….
 Code analysis for discovering patterns that could lead to bugs in production
– Asynchronous communication patterns
– Multithreading issues
 Concurrency control
– Could new functionality introduce concurrency conflicts elsewhere in the system?
Performant, secure?
Domain-specific context in existing operational environments
 How is the legacy system used today?
– To what extent will users’ behavior change with new functionality?
 Examples from healthcare: Essential functionality customers takes for granted
Usable? Useful?
The most challenging
questions to address are
domain-specific
Case - Constraints imposed by customers’ organizational structure
Case - Constraints imposed by governmental ruling
Summary: Mapping of different perspectives to the software quality pyramid
Conditions of acceptance
Delivery process
Code and product maintainability
Security and performance
Domain-specific context in existing
operational environments
What about “Successful” ?
Product management approach
Design approach
Application of this Approach
• Start with a set of questions
that work for you
• Engage with your users
• Every piece of work
is bigger than
initially assumed
It boils down to this….
• Strengthen the
team’s ability in
decision-making
• Relentless learning
Thank you!
 Blog: www.medium.com/@mufridk
 Twitter @mufridk
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR 2020
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR 2020
www.hjernekraft.org

More Related Content

PDF
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
PDF
Building Quality in Legacy Systems - The Art of Asking Questions
DOC
Vinoth_Resume
DOC
Resume testing
DOCX
Vijayakrishna_testing_manual_selenium (1)
PPT
Project Data Incorporating Qualitative Factors for Improved Software Defect P...
PDF
Requirements Engineering - Wrap-up: Putting it all together
PPT
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Building Quality in Legacy Systems - The Art of Asking Questions
Vinoth_Resume
Resume testing
Vijayakrishna_testing_manual_selenium (1)
Project Data Incorporating Qualitative Factors for Improved Software Defect P...
Requirements Engineering - Wrap-up: Putting it all together
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...

What's hot (15)

PDF
Requirements Engineering - Scaling RE & Requirements Refinement
DOC
Leland Newhauser Quailty Engineer
PDF
Pitfalls and Countermeasures in Software Quality Measurements and Evaluations
PDF
PhD Proposal talk
PPTX
Presentation Slides For Agile Review
PPTX
Software Architecture
DOCX
Resume_Alok_IT_Audit
PDF
Db testing concepts swt
PDF
Introduction of software engineering
DOC
Java Software Developer Opportunity
DOCX
Bhaskar_SoftwareTesting_Bangalore
PPT
Agile Software Security
PDF
A Metric for Code Readability
PPTX
Software Development Process
PPT
Checklist for website testing
Requirements Engineering - Scaling RE & Requirements Refinement
Leland Newhauser Quailty Engineer
Pitfalls and Countermeasures in Software Quality Measurements and Evaluations
PhD Proposal talk
Presentation Slides For Agile Review
Software Architecture
Resume_Alok_IT_Audit
Db testing concepts swt
Introduction of software engineering
Java Software Developer Opportunity
Bhaskar_SoftwareTesting_Bangalore
Agile Software Security
A Metric for Code Readability
Software Development Process
Checklist for website testing
Ad

Similar to Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR 2020 (20)

PPT
Software quality assurance lecture 1
PPT
PPTX
Software development
PPT
An overview of software requirements engineering
PDF
Software systems engineering PRINCIPLES
DOC
renita lobo-CV-Automation
PDF
Software development PROCESS
PDF
[2015/2016] Software development process
PDF
Software Operation Knowledge
PPT
SQA presenatation made by krishna ballabh gupta
PPT
PPT
PPTX
L3 Requirements Eng Overview
PPTX
Agile Software Development Presentation.pptx
PPT
Risk Driven Testing
PPTX
1_Software Quality Control.pptx
PPT
Alternative Methodologies for Systems Development
PPT
Business processes improvement
PPT
Downloads abc 2006 presentation downloads-ramesh_babu
PPT
Requirement Management 2
Software quality assurance lecture 1
Software development
An overview of software requirements engineering
Software systems engineering PRINCIPLES
renita lobo-CV-Automation
Software development PROCESS
[2015/2016] Software development process
Software Operation Knowledge
SQA presenatation made by krishna ballabh gupta
L3 Requirements Eng Overview
Agile Software Development Presentation.pptx
Risk Driven Testing
1_Software Quality Control.pptx
Alternative Methodologies for Systems Development
Business processes improvement
Downloads abc 2006 presentation downloads-ramesh_babu
Requirement Management 2
Ad

More from Mufrid Krilic (7)

PDF
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
PPTX
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
PDF
Domain storytelling – facilitator’s guide to enhance learning in your organiz...
PDF
Domain model in Multi-language Environment With Examples from Healthcare
PPTX
Domain storytelling
PPTX
Strategies to learn complex domains - Experiences from Developing Enterprise ...
PPTX
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Domain storytelling – facilitator’s guide to enhance learning in your organiz...
Domain model in Multi-language Environment With Examples from Healthcare
Domain storytelling
Strategies to learn complex domains - Experiences from Developing Enterprise ...
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
A Presentation on Artificial Intelligence
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Electronic commerce courselecture one. Pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
A comparative analysis of optical character recognition models for extracting...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
1. Introduction to Computer Programming.pptx
Spectroscopy.pptx food analysis technology
NewMind AI Weekly Chronicles - August'25-Week II
A Presentation on Artificial Intelligence
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Electronic commerce courselecture one. Pdf
Machine Learning_overview_presentation.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Assigned Numbers - 2025 - Bluetooth® Document
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR 2020

  • 4. E N A B L I N G E F F I C I E N T H E A L T H C A R E Mufrid Krilic Senior Software Developer/Coach DIPS AS, Norway @mufridk Building Quality In Legacy Systems – The Art of Asking Questions Her kan du legge inn bilde. Du finner figurer her: Link
  • 6. Gojko Adzic - Using Maslow as an Analogy for Defining Software Quality Blogpost: • «Redefining Software Quality» • https://gojko.net/2012/05/08/redefining-software-quality/
  • 7. Maslow - Physiological Needs • Quality methods: • TDD • Correct metrics: • Bug count • Code Coverage Roles to focus on: • Beta-users • Operations
  • 8. Maslow – Safety Needs • Quality methods: • Performance testing • Risk analysis • Architecture and design patterns Roles to focus on: • End-users • People working with information security
  • 9. Maslow – Love/Belonging Needs • Quality methods: • Usability testing • Design thinking • UX design Roles to focus on: • End-users
  • 10. Intermezzo We usually invest most in the lowest three levels
  • 11. Maslow – Esteem Needs • Quality methods: • Continuous delivery • DevOps • Correct metrics • Production environment measurements Roles to focus on: • End-users, Management
  • 12. Maslow – Self-actualization Needs • Quality methods: • Impact Mapping • Correct metrics • What impact did the software product make? • Did we make or save money? Roles to focus on: • Decision makers • Broader user community • Public relations
  • 13. Good enough – how to know where to invest? The more you invest in quality on this level the better Focus on good enough
  • 14. How to apply this when working with legacy systems? The Art of Asking Questions
  • 15. Different perspectives in the legacy system  Ask questions related to – Delivery process – Conditions of acceptance – Code and product maintainability – Security and performance – Domain-specific context in existing operational environments  Questions should be asked before or during the development process, not after
  • 16. Delivery process related questions  Any manual steps in the delivery process?  Compatibility with previously installed versions in production – Can multiple versions of the product exist side by side?  Documentation Deployable?
  • 17. Conditions of Acceptance  Automatic and explorative testing  Testing integration points with other parts of the system – How to avoid introducing undesirable behavior? – Learn from experiences of the past – Talk to people in your organization  Functionally ok?
  • 18. Case: Patient Admission Letters – Context Map Admission Letter Templates ReferralAppointments Surgery Send Letter to Patient Patient Information Next of Kin Send Message to GP Type of Integration: • Which team • What type of relation with the team Health Record
  • 19. Code and product maintainability related questions  Diagrams and maps – How to document integrations with other parts of the application?  Logging and profiling – Just enough to be able to monitor usage in production Functionally ok?
  • 20. Security and performance related questions  Performance testing, memory footprint, authentication, authorization….  Code analysis for discovering patterns that could lead to bugs in production – Asynchronous communication patterns – Multithreading issues  Concurrency control – Could new functionality introduce concurrency conflicts elsewhere in the system? Performant, secure?
  • 21. Domain-specific context in existing operational environments  How is the legacy system used today? – To what extent will users’ behavior change with new functionality?  Examples from healthcare: Essential functionality customers takes for granted Usable? Useful? The most challenging questions to address are domain-specific
  • 22. Case - Constraints imposed by customers’ organizational structure
  • 23. Case - Constraints imposed by governmental ruling
  • 24. Summary: Mapping of different perspectives to the software quality pyramid Conditions of acceptance Delivery process Code and product maintainability Security and performance Domain-specific context in existing operational environments
  • 25. What about “Successful” ? Product management approach Design approach
  • 26. Application of this Approach • Start with a set of questions that work for you • Engage with your users • Every piece of work is bigger than initially assumed
  • 27. It boils down to this…. • Strengthen the team’s ability in decision-making • Relentless learning
  • 28. Thank you!  Blog: www.medium.com/@mufridk  Twitter @mufridk

Editor's Notes

  • #11: Deployability with Functionality, Performance with Security, Usability
  • #15: En multi-perspektiv definisjon krever en bred tilnærming – Behov for å vite at man har dekt alle perspektiver
  • #17: Finne rollene som har behov for dokumentasjon og under hvilke aktiviteter i forretningsprosessen oppstår behovet Tradisjonelt har legacy systemer etterlatt store mengder med dokumentasjon gjennom årene - Vil mer dokumentasjon hjelpe? Små release notes vs. omfattende brukerdokumentasjon Forhold til IT-avdelinger hos kunden
  • #18: Integration points and backwards compatibility
  • #20: Hard to find sweet spot for logging Build experience to help you recognize potential issues up-front, such as multi-user collaboration, or a single user crossing subdomain boundaries