SlideShare a Scribd company logo
1 of 20
Download to read offline
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
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
Delivery process related questions
 Documentation
 Any manual steps in the delivery process?
 Compatibility with previously installed versions in production
– Can multiple versions of the product exist side by side?
Deployable?
Conditions of Acceptance
 Testing integration points with other parts of the system
– What are my dependencies?
– How to avoid introducing undesirable behavior?
– Learn from experiences of the past
– Talk to people in your organization 
 Invest in exploratory testing
Functionally ok?
Code and product maintainability related questions
 Diagrams and maps
– How to document integrations with other parts of the application?
 Versioning
– Consider releasing only parts of the legacy system if possible
 Logging/Profiling
– Do we have enough logging to be able to monitor usage in production?
Functionally ok?
Security and performance related questions
 Performance testing
 Memory leaks, memory footprint
 Authentication, authorization, audit
 Code analysis for discovering patterns that could lead to bugs in production
– Asynchronous communication patterns
– Multithreading issues
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?
 Compatibility with specific configurations customers may have applied on-site
 Consider constraints that may be imposed by customers’ organizational structure
– Operational environment decisions
• E.g. moving to data centers
Usable? Useful?
The most challenging
questions to address
What about “Successful” ?
Product management approach
Design approach
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
The Consequence of Applying this Approach
• Relentless learning
• Strengthening the team’s
ability in decision-making
• Consequence is that every piece of
work is bigger than initially assumed
• Choose a set of questions that work
for you at the time
• Then gradually expand
The Takeaway
Thank you!
 Blog: www.medium.com/@mufridk
 Twitter @mufridk

More Related Content

What's hot

Requirement Management 1
Requirement Management 1Requirement Management 1
Requirement Management 1pikuoec
 
Introduction to Software Engineering Course
Introduction to Software Engineering CourseIntroduction to Software Engineering Course
Introduction to Software Engineering CourseMd. Shafiuzzaman Hira
 
Requirement Management 2
Requirement Management 2Requirement Management 2
Requirement Management 2pikuoec
 
renita lobo-CV-Automation
renita lobo-CV-Automationrenita lobo-CV-Automation
renita lobo-CV-AutomationRenita Lobo
 
System Analisis And Designing
System Analisis And  DesigningSystem Analisis And  Designing
System Analisis And DesigningAbdurrahman A.S.M
 
Help Desk / Jr. Network resume
Help Desk / Jr. Network resumeHelp Desk / Jr. Network resume
Help Desk / Jr. Network resumeNicolas Giangreco
 
Resume_Alok_IT_Audit
Resume_Alok_IT_AuditResume_Alok_IT_Audit
Resume_Alok_IT_AuditAlok Sharma
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Processahmad bassiouny
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1IIUI
 
Praveen jain-new_mob
Praveen jain-new_mobPraveen jain-new_mob
Praveen jain-new_mobpraveen jain
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesKiran Munir
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)IIUI
 
Abirami_Resume_QA_Analyst
Abirami_Resume_QA_AnalystAbirami_Resume_QA_Analyst
Abirami_Resume_QA_AnalystAbirami P
 
Quality assurance i 2561
Quality assurance i  2561Quality assurance i  2561
Quality assurance i 2561ACAP20755
 

What's hot (20)

Requirement Management 1
Requirement Management 1Requirement Management 1
Requirement Management 1
 
Sqa
SqaSqa
Sqa
 
SQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh guptaSQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh gupta
 
Introduction to Software Engineering Course
Introduction to Software Engineering CourseIntroduction to Software Engineering Course
Introduction to Software Engineering Course
 
Requirement Management 2
Requirement Management 2Requirement Management 2
Requirement Management 2
 
renita lobo-CV-Automation
renita lobo-CV-Automationrenita lobo-CV-Automation
renita lobo-CV-Automation
 
System Analisis And Designing
System Analisis And  DesigningSystem Analisis And  Designing
System Analisis And Designing
 
Help Desk / Jr. Network resume
Help Desk / Jr. Network resumeHelp Desk / Jr. Network resume
Help Desk / Jr. Network resume
 
Apurva Mehunkar
Apurva MehunkarApurva Mehunkar
Apurva Mehunkar
 
Resume_Alok_IT_Audit
Resume_Alok_IT_AuditResume_Alok_IT_Audit
Resume_Alok_IT_Audit
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Process
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1
 
Praveen jain-new_mob
Praveen jain-new_mobPraveen jain-new_mob
Praveen jain-new_mob
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
keerthi_UpdatedResume
keerthi_UpdatedResume keerthi_UpdatedResume
keerthi_UpdatedResume
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)
 
Abirami_Resume_QA_Analyst
Abirami_Resume_QA_AnalystAbirami_Resume_QA_Analyst
Abirami_Resume_QA_Analyst
 
RESUME-TESTING
RESUME-TESTINGRESUME-TESTING
RESUME-TESTING
 
Quality assurance i 2561
Quality assurance i  2561Quality assurance i  2561
Quality assurance i 2561
 

Similar to Enabling efficient healthcare through legacy system quality

Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
Software Operation Knowledge
Software Operation KnowledgeSoftware Operation Knowledge
Software Operation KnowledgeDevnology
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 
[2015/2016] Software development process
[2015/2016] Software development process[2015/2016] Software development process
[2015/2016] Software development processIvano Malavolta
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matricesPreeti Mishra
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESSIvano Malavolta
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
ML Application Life Cycle
ML Application Life CycleML Application Life Cycle
ML Application Life CycleSrujanaMerugu1
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1Abdul Basit
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.pptAnilKumarARS
 
1_Software Quality Control.pptx
1_Software Quality Control.pptx1_Software Quality Control.pptx
1_Software Quality Control.pptxBahaAbuKbash
 
Module 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdfModule 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdfMASantos15
 
Design principles & quality factors
Design principles & quality factorsDesign principles & quality factors
Design principles & quality factorsAalia Barbe
 

Similar to Enabling efficient healthcare through legacy system quality (20)

Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Sqa
SqaSqa
Sqa
 
Software Operation Knowledge
Software Operation KnowledgeSoftware Operation Knowledge
Software Operation Knowledge
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Chap01
Chap01Chap01
Chap01
 
[2015/2016] Software development process
[2015/2016] Software development process[2015/2016] Software development process
[2015/2016] Software development process
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
ML Application Life Cycle
ML Application Life CycleML Application Life Cycle
ML Application Life Cycle
 
STQA 1.pptx
STQA 1.pptxSTQA 1.pptx
STQA 1.pptx
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
 
1_Software Quality Control.pptx
1_Software Quality Control.pptx1_Software Quality Control.pptx
1_Software Quality Control.pptx
 
Module 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdfModule 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdf
 
Sadchap01
Sadchap01Sadchap01
Sadchap01
 
Design principles & quality factors
Design principles & quality factorsDesign principles & quality factors
Design principles & quality factors
 
Neha BA
Neha BANeha BA
Neha BA
 
Interactive SDLC
Interactive SDLCInteractive SDLC
Interactive SDLC
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
 

More from Mufrid Krilic

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

More from Mufrid Krilic (7)

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

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 

Enabling efficient healthcare through legacy system quality

  • 1. 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
  • 3. Gojko Adzic - Using Maslow as an Analogy for Defining Software Quality Blogpost: • «Redefining Software Quality» • https://gojko.net/2012/05/08/redefining-software-quality/
  • 4. Maslow - Physiological Needs • Quality methods: • TDD • Correct metrics: • Bug count • Code Coverage Roles to focus on: • Beta-users • Operations
  • 5. Maslow – Safety Needs • Quality methods: • Performance testing • Risk analysis • Architecture and design patterns Roles to focus on: • End-users • People working with information security
  • 6. Maslow – Love/Belonging Needs • Quality methods: • Usability testing • Design thinking • UX design Roles to focus on: • End-users
  • 7. Maslow – Esteem Needs • Quality methods: • Continuous delivery • DevOps • Correct metrics • Production environment measurements Roles to focus on: • End-users, Management
  • 8. 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
  • 9. Good enough – how to know where to invest? The more you invest in quality on this level the better Focus on good enough
  • 10. How to apply this when working with legacy systems? The Art of Asking Questions
  • 11. 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
  • 12. Delivery process related questions  Documentation  Any manual steps in the delivery process?  Compatibility with previously installed versions in production – Can multiple versions of the product exist side by side? Deployable?
  • 13. Conditions of Acceptance  Testing integration points with other parts of the system – What are my dependencies? – How to avoid introducing undesirable behavior? – Learn from experiences of the past – Talk to people in your organization   Invest in exploratory testing Functionally ok?
  • 14. Code and product maintainability related questions  Diagrams and maps – How to document integrations with other parts of the application?  Versioning – Consider releasing only parts of the legacy system if possible  Logging/Profiling – Do we have enough logging to be able to monitor usage in production? Functionally ok?
  • 15. Security and performance related questions  Performance testing  Memory leaks, memory footprint  Authentication, authorization, audit  Code analysis for discovering patterns that could lead to bugs in production – Asynchronous communication patterns – Multithreading issues Performant, secure?
  • 16. Domain-specific context in existing operational environments  How is the legacy system used today? – To what extent will users’ behavior change with new functionality?  Compatibility with specific configurations customers may have applied on-site  Consider constraints that may be imposed by customers’ organizational structure – Operational environment decisions • E.g. moving to data centers Usable? Useful? The most challenging questions to address
  • 17. What about “Successful” ? Product management approach Design approach
  • 18. 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
  • 19. The Consequence of Applying this Approach • Relentless learning • Strengthening the team’s ability in decision-making • Consequence is that every piece of work is bigger than initially assumed • Choose a set of questions that work for you at the time • Then gradually expand The Takeaway
  • 20. Thank you!  Blog: www.medium.com/@mufridk  Twitter @mufridk