SlideShare une entreprise Scribd logo
1  sur  31
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
www.hjernekraft.org

Contenu connexe

Tendances

Requirements Engineering - Scaling RE & Requirements Refinement
Requirements Engineering - Scaling RE & Requirements RefinementRequirements Engineering - Scaling RE & Requirements Refinement
Requirements Engineering - Scaling RE & Requirements RefinementBirgit Penzenstadler
 
Leland Newhauser Quailty Engineer
Leland Newhauser Quailty EngineerLeland Newhauser Quailty Engineer
Leland Newhauser Quailty EngineerLeland Newhauser
 
Pitfalls and Countermeasures in Software Quality Measurements and Evaluations
Pitfalls and Countermeasures in Software Quality Measurements and EvaluationsPitfalls and Countermeasures in Software Quality Measurements and Evaluations
Pitfalls and Countermeasures in Software Quality Measurements and EvaluationsHironori Washizaki
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talkRay Buse
 
Presentation Slides For Agile Review
Presentation Slides For Agile ReviewPresentation Slides For Agile Review
Presentation Slides For Agile Reviewgpcuppan
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureDr Reeja S R
 
Resume_Alok_IT_Audit
Resume_Alok_IT_AuditResume_Alok_IT_Audit
Resume_Alok_IT_AuditAlok Sharma
 
Db testing concepts swt
Db testing concepts swtDb testing concepts swt
Db testing concepts swtavr07
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
Java Software Developer Opportunity
Java Software Developer OpportunityJava Software Developer Opportunity
Java Software Developer Opportunityelenahoward
 
Bhaskar_SoftwareTesting_Bangalore
Bhaskar_SoftwareTesting_BangaloreBhaskar_SoftwareTesting_Bangalore
Bhaskar_SoftwareTesting_BangaloreBhaskar Devadiga
 
Agile Software Security
Agile Software SecurityAgile Software Security
Agile Software SecurityFuturice
 
A Metric for Code Readability
A Metric for Code ReadabilityA Metric for Code Readability
A Metric for Code ReadabilityRay Buse
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development ProcessSabahtHussein
 

Tendances (15)

Requirements Engineering - Scaling RE & Requirements Refinement
Requirements Engineering - Scaling RE & Requirements RefinementRequirements Engineering - Scaling RE & Requirements Refinement
Requirements Engineering - Scaling RE & Requirements Refinement
 
Leland Newhauser Quailty Engineer
Leland Newhauser Quailty EngineerLeland Newhauser Quailty Engineer
Leland Newhauser Quailty Engineer
 
Pitfalls and Countermeasures in Software Quality Measurements and Evaluations
Pitfalls and Countermeasures in Software Quality Measurements and EvaluationsPitfalls and Countermeasures in Software Quality Measurements and Evaluations
Pitfalls and Countermeasures in Software Quality Measurements and Evaluations
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talk
 
Presentation Slides For Agile Review
Presentation Slides For Agile ReviewPresentation Slides For Agile Review
Presentation Slides For Agile Review
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Resume_Alok_IT_Audit
Resume_Alok_IT_AuditResume_Alok_IT_Audit
Resume_Alok_IT_Audit
 
Db testing concepts swt
Db testing concepts swtDb testing concepts swt
Db testing concepts swt
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Java Software Developer Opportunity
Java Software Developer OpportunityJava Software Developer Opportunity
Java Software Developer Opportunity
 
Bhaskar_SoftwareTesting_Bangalore
Bhaskar_SoftwareTesting_BangaloreBhaskar_SoftwareTesting_Bangalore
Bhaskar_SoftwareTesting_Bangalore
 
Agile Software Security
Agile Software SecurityAgile Software Security
Agile Software Security
 
A Metric for Code Readability
A Metric for Code ReadabilityA Metric for Code Readability
A Metric for Code Readability
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Checklist for website testing
Checklist for website testingChecklist for website testing
Checklist for website testing
 

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

Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1Abdul Basit
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineeringIan Sommerville
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
renita lobo-CV-Automation
renita lobo-CV-Automationrenita lobo-CV-Automation
renita lobo-CV-AutomationRenita Lobo
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESSIvano Malavolta
 
[2015/2016] Software development process
[2015/2016] Software development process[2015/2016] Software development process
[2015/2016] Software development processIvano Malavolta
 
Software Operation Knowledge
Software Operation KnowledgeSoftware Operation Knowledge
Software Operation KnowledgeDevnology
 
L3 Requirements Eng Overview
L3 Requirements Eng OverviewL3 Requirements Eng Overview
L3 Requirements Eng OverviewIan Sommerville
 
Risk Driven Testing
Risk Driven TestingRisk Driven Testing
Risk Driven TestingJorge Boria
 
1_Software Quality Control.pptx
1_Software Quality Control.pptx1_Software Quality Control.pptx
1_Software Quality Control.pptxBahaAbuKbash
 
System development life cycle
System development life cycleSystem development life cycle
System development life cyclerelekarsushant
 
Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Sunderland City Council
 
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_babuHem Rana
 
Requirement Management 2
Requirement Management 2Requirement Management 2
Requirement Management 2pikuoec
 

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

Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
 
Chap01
Chap01Chap01
Chap01
 
Software development
Software developmentSoftware development
Software development
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineering
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
renita lobo-CV-Automation
renita lobo-CV-Automationrenita lobo-CV-Automation
renita lobo-CV-Automation
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
[2015/2016] Software development process
[2015/2016] Software development process[2015/2016] Software development process
[2015/2016] Software development process
 
Software Operation Knowledge
Software Operation KnowledgeSoftware Operation Knowledge
Software Operation Knowledge
 
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
 
Sqa
SqaSqa
Sqa
 
Sqa
SqaSqa
Sqa
 
L3 Requirements Eng Overview
L3 Requirements Eng OverviewL3 Requirements Eng Overview
L3 Requirements Eng Overview
 
Risk Driven Testing
Risk Driven TestingRisk Driven Testing
Risk Driven Testing
 
1_Software Quality Control.pptx
1_Software Quality Control.pptx1_Software Quality Control.pptx
1_Software Quality Control.pptx
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
 
Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development
 
Business processes improvement
Business processes improvementBusiness processes improvement
Business processes improvement
 
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
 
Requirement Management 2
Requirement Management 2Requirement Management 2
Requirement Management 2
 

Plus de 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
 

Plus de 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
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

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

  • 1.
  • 2.
  • 3.
  • 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
  • 29.
  • 30.

Notes de l'éditeur

  1. Deployability with Functionality, Performance with Security, Usability
  2. En multi-perspektiv definisjon krever en bred tilnærming – Behov for å vite at man har dekt alle perspektiver
  3. 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
  4. Integration points and backwards compatibility
  5. 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