Legacy applications are full of supervillains scheming to halt modernizing efforts. But deprecated versions of PHP, frameworks, libraries, and more drive a never-ending battle to keep applications up to date, supported, and secure. This can leave any would be superhero seeking how, what, when, and why.
Join me as we consider real-life case studies of modernizations from various large legacy applications, and will share common evil-doers, ways to foil their plans, and how to eliminate vulnerabilities in the first place. See how to make refactoring your super power!
2. 2
Release Your Refactoring Superpower
â—Ź
About me
– OSS Contributor
– PHP Certified
– Zend Certification Advisory Board
– PHP-Fig voting member (IBM i Toolkit)
– Consultant at Zend Technologies
– Organizer SoFloPHP (South Florida)
– Organizer SunshinePHP (Miami)
– Long distance (ultra) runner
– Photography Enthusiast
– Judo Black Belt Instructor
3. 3
Release Your Refactoring Superpower
â—Ź
About me
– OSS Contributor
– PHP Certified
– Zend Certification Advisory Board
– PHP-Fig voting member (IBM i Toolkit)
– Consultant at Zend Technologies
– Organizer SoFloPHP (South Florida)
– Organizer SunshinePHP (Miami)
– Long distance (ultra) runner
– Photography Enthusiast
– Judo Black Belt Instructor
I am the
PHP Ninja!!!
4. 4
Release Your Refactoring Superpower
â—Ź
Fan of iteration
– Pretty much everything requires iteration to do well:
â—Ź
Long distance running
â—Ź
Judo
â—Ź
Development
â—Ź
Evading project managers
â—Ź
Refactoring!
7. 7
Release Your Refactoring Superpower
â—Ź
What Can I Do?
– Estimation
– Coding (actual refactoring)
– Algorithms
8. 8
Release Your Refactoring Superpower
â—Ź
What Can I Do?
– Estimation
– Coding (actual refactoring)
– Algorithms
– Convince Business
9. 9
Release Your Refactoring Superpower
â—Ź
What Can I Do?
– Estimation
– Coding (actual refactoring)
– Algorithms
– Convince Business
– Silver Bullet
10. 10
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
11. 11
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
12. 12
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
13. 13
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
14. 14
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
– Why?
â—Ź
Desire
15. 15
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
– Why?
â—Ź
Desire
â—Ź
Bored
16. 16
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
– Why?
â—Ź
Desire
â—Ź
Bored
â—Ź
Perceived need
17. 17
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
– Why?
â—Ź
Desire
â—Ź
Bored
â—Ź
Perceived need
â—Ź
To gain something
– Speed
– Functionality
18. 18
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
– Why?
â—Ź
Desire
â—Ź
Bored
â—Ź
Perceived need
â—Ź
To gain something
– Speed
– Functionality
– When?
â—Ź
Next 6 months, year(s), decade
19. 19
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
– Why?
â—Ź
Desire
â—Ź
Bored
â—Ź
Perceived need
â—Ź
To gain something
– Speed
– Functionality
– When?
â—Ź
Next 6 months, year(s), decade
â—Ź
Realistic time
20. 20
Release Your Refactoring Superpower
â—Ź
Modernization?
– How?
â—Ź
New infrastructure (servers, technology, etc.)
â—Ź
New frameworks or libraries
â—Ź
New programming language
â—Ź
New DB
– Why?
â—Ź
Desire
â—Ź
Bored
â—Ź
Perceived need
â—Ź
To gain something
– Speed
– Functionality
– When?
â—Ź
Next 6 months, year(s), decade
â—Ź
Realistic time
â—Ź
NOW!
24. 24
Release Your Refactoring Superpower
â—Ź
Typical Loop
– Business Responses
â—Ź
No time
â—Ź
No money
â—Ź
No need
25. 25
Release Your Refactoring Superpower
â—Ź
Typical Loop
– Business Responses
â—Ź
No time
â—Ź
No money
â—Ź
No need
â—Ź
Things are “good enough”
27. 27
Release Your Refactoring Superpower
â—Ź
Case Study
– Managing legacy system costs: A case study of a meta-assessment model
to identify solutions in a large financial services company – 2017 (by
James Crotty, Ivan Horrocks) -
https://www.sciencedirect.com/science/article/pii/S221083271630126
0#b0025
â—Ź
2001 Brooke and Ramage defined legacy as:
– Old information system remaining in operation within an Organization
28. 28
Release Your Refactoring Superpower
â—Ź
Case Study
– Managing legacy system costs: A case study of a meta-assessment model
to identify solutions in a large financial services company – 2017 (by
James Crotty, Ivan Horrocks) -
https://www.sciencedirect.com/science/article/pii/S221083271630126
0#b0025
â—Ź
2001 Brooke and Ramage defined legacy as:
– Old information system remaining in operation within an Organization
– Business critical, resisting modification as failure would cause significant impact
on business
29. 29
Release Your Refactoring Superpower
â—Ź
Case Study
– Managing legacy system costs: A case study of a meta-assessment model
to identify solutions in a large financial services company – 2017 (by
James Crotty, Ivan Horrocks) -
https://www.sciencedirect.com/science/article/pii/S221083271630126
0#b0025
â—Ź
2001 Brooke and Ramage defined legacy as:
– Old information system remaining in operation within an Organization
– Business critical, resisting modification as failure would cause significant impact
on business
– Based on outdated technology but critical day-to-day operations
30. 30
Release Your Refactoring Superpower
â—Ź
Case Study
– Managing legacy system costs: A case study of a meta-assessment model
to identify solutions in a large financial services company – 2017 (by
James Crotty, Ivan Horrocks) -
https://www.sciencedirect.com/science/article/pii/S221083271630126
0#b0025
â—Ź
2001 Brooke and Ramage defined legacy as:
– Old information system remaining in operation within an Organization
– Business critical, resisting modification as failure would cause significant impact
on business
– Based on outdated technology but critical day-to-day operations
– Built when processing and storage was much more expensive
31. 31
Release Your Refactoring Superpower
â—Ź
Case Study
– Managing legacy system costs: A case study of a meta-assessment model
to identify solutions in a large financial services company – 2017 (by
James Crotty, Ivan Horrocks) -
https://www.sciencedirect.com/science/article/pii/S221083271630126
0#b0025
â—Ź
2001 Brooke and Ramage defined legacy as:
– Old information system remaining in operation within an Organization
– Business critical, resisting modification as failure would cause significant impact
on business
– Based on outdated technology but critical day-to-day operations
– Built when processing and storage was much more expensive
– Poorly documented
32. 32
Release Your Refactoring Superpower
â—Ź
Case Study
– Managing legacy system costs: A case study of a meta-assessment model
to identify solutions in a large financial services company – 2017 (by
James Crotty, Ivan Horrocks) -
https://www.sciencedirect.com/science/article/pii/S221083271630126
0#b0025
â—Ź
2001 Brooke and Ramage defined legacy as:
– Old information system remaining in operation within an Organization
– Business critical, resisting modification as failure would cause significant impact
on business
– Based on outdated technology but critical day-to-day operations
– Built when processing and storage was much more expensive
– Poorly documented
– Lack of design
33. 33
Release Your Refactoring Superpower
â—Ź
Case Study
– Modernization Drivers
â—Ź
Skillset shortages (old technologies)
34. 34
Release Your Refactoring Superpower
â—Ź
Case Study
– Modernization Drivers
â—Ź
Skillset shortages (old technologies)
â—Ź
Technical needs
35. 35
Release Your Refactoring Superpower
â—Ź
Case Study
– Modernization Drivers
â—Ź
Skillset shortages (old technologies)
â—Ź
Technical needs
â—Ź
Business needs
36. 36
Release Your Refactoring Superpower
â—Ź
Case Study
– Modernization Drivers
â—Ź
Skillset shortages (old technologies)
â—Ź
Technical needs
â—Ź
Business needs
â—Ź
Personal bias
37. 37
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
38. 38
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
39. 39
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
â—Ź
Restructuring
40. 40
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
â—Ź
Restructuring
â—Ź
Re-engineering
41. 41
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
â—Ź
Restructuring
â—Ź
Re-engineering
â—Ź
Migration
42. 42
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
â—Ź
Restructuring
â—Ź
Re-engineering
â—Ź
Migration
â—Ź
Discard
43. 43
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
â—Ź
Restructuring
â—Ź
Re-engineering
â—Ź
Migration
â—Ź
Discard
â—Ź
Wrapping
46. 46
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
â—Ź
Restructuring
â—Ź
Re-engineering
â—Ź
Migration
â—Ź
Discard
â—Ź
Wrapping
â—Ź
Outsource?
â—Ź
Freeze
â—Ź
Carry On
47. 47
Release Your Refactoring Superpower
â—Ź
Case Study
– Cost Reduction Strategies
â—Ź
Ordinary maintenance
â—Ź
Reverse engineering
â—Ź
Restructuring
â—Ź
Re-engineering
â—Ź
Migration
â—Ź
Discard
â—Ź
Wrapping
â—Ź
Outsource?
â—Ź
Freeze
â—Ź
Carry On
â—Ź
Replacement with commercial off-the-shelf software and discarding
48. 48
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Measurement
â—Ź
A Method for Assessing Legacy Systems for Evolution – 1998 (by Jane
Ransom, Ian Sommerville, and Ian Warren) -
http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.128.9889&rep=rep1&type=pdf
– Legacy = business critical = cost not justifiable
49. 49
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Measurement
â—Ź
A Method for Assessing Legacy Systems for Evolution – 1998 (by Jane
Ransom, Ian Sommerville, and Ian Warren) -
http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.128.9889&rep=rep1&type=pdf
– Legacy = business critical = cost not justifiable
– Company and project specific
50. 50
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Measurement
â—Ź
A Method for Assessing Legacy Systems for Evolution – 1998 (by Jane
Ransom, Ian Sommerville, and Ian Warren) -
http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.128.9889&rep=rep1&type=pdf
– Legacy = business critical = cost not justifiable
– Company and project specific
– Continuously refined
51. 51
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Measurement
â—Ź
A Method for Assessing Legacy Systems for Evolution – 1998 (by Jane
Ransom, Ian Sommerville, and Ian Warren) -
http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.128.9889&rep=rep1&type=pdf
– Legacy = business critical = cost not justifiable
– Company and project specific
– Continuously refined
– Gains depth of understanding of business
52. 52
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
53. 53
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
54. 54
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
â—Ź
Logic: rationale for vision
55. 55
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
â—Ź
Logic: rationale for vision
â—Ź
Structure: of the organisation
56. 56
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
â—Ź
Logic: rationale for vision
â—Ź
Structure: of the organisation
â—Ź
Roles: organizational roles of people
57. 57
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
â—Ź
Logic: rationale for vision
â—Ź
Structure: of the organisation
â—Ź
Roles: organizational roles of people
â—Ź
View of information: resource analysis
58. 58
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
â—Ź
Logic: rationale for vision
â—Ź
Structure: of the organisation
â—Ź
Roles: organizational roles of people
â—Ź
View of information: resource analysis
â—Ź
Costs: major costs, both financial and nonfinancial
59. 59
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
â—Ź
Logic: rationale for vision
â—Ź
Structure: of the organisation
â—Ź
Roles: organizational roles of people
â—Ź
View of information: resource analysis
â—Ź
Costs: major costs, both financial and nonfinancial
â—Ź
Benefits: both financial and nonfinancial
60. 60
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Criteria
â—Ź
Decision Model for Legacy Systems - 1999 (by . H. Bennett, M. Ramage, and
M. Munro) - ftp://ftp.inf.puc-
rio.br/pub/docs/FomularioSolicitacoes/mariliaGFerreira-09-13-7.pdf
– Based more upon organizational points
â—Ź
Boundary: the unit of analysis
â—Ź
Vision: global summary of the unit
â—Ź
Logic: rationale for vision
â—Ź
Structure: of the organisation
â—Ź
Roles: organizational roles of people
â—Ź
View of information: resource analysis
â—Ź
Costs: major costs, both financial and nonfinancial
â—Ź
Benefits: both financial and nonfinancial
â—Ź
Risks: major sources of risk
61. 61
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Structure
â—Ź
A Framework to Assess Legacy Software Systems - 2014 (by Basem Y.
Alkazemi) -
https://pdfs.semanticscholar.org/da50/7665a6c3bacb5559996bd436a9f76aa
4e5a7.pdf
– Strategies
â—Ź
Replacing
62. 62
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Structure
â—Ź
A Framework to Assess Legacy Software Systems - 2014 (by Basem Y.
Alkazemi) -
https://pdfs.semanticscholar.org/da50/7665a6c3bacb5559996bd436a9f76aa
4e5a7.pdf
– Strategies
â—Ź
Replacing
â—Ź
Maintaining
63. 63
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Structure
â—Ź
A Framework to Assess Legacy Software Systems - 2014 (by Basem Y.
Alkazemi) -
https://pdfs.semanticscholar.org/da50/7665a6c3bacb5559996bd436a9f76aa
4e5a7.pdf
– Strategies
â—Ź
Replacing
â—Ź
Maintaining
â—Ź
Re-architecting
64. 64
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Structure
â—Ź
A Framework to Assess Legacy Software Systems - 2014 (by Basem Y.
Alkazemi) -
https://pdfs.semanticscholar.org/da50/7665a6c3bacb5559996bd436a9f76aa
4e5a7.pdf
– Strategies
â—Ź
Replacing
â—Ź
Maintaining
â—Ź
Re-architecting
â—Ź
Extending by wrapping
65. 65
Release Your Refactoring Superpower
â—Ź
How Do We Know?
– Application
â—Ź
A Decisional Framework to Measure System Dimensions of Legacy Application
for Rejuvenation through Reengineering - 2011 (by Er. Anand Rajavat, Dr.
(Mrs.) Vrinda Tokekar) -
https://www.ijcaonline.org/volume16/number2/pxc3872674.pdf
– System domain
â—Ź
Customer requirements
â—Ź
Orgs strategic goals
â—Ź
Operational env
â—Ź
Risk management
i. Organizational
ii. Resource
iii.Development
iv.Personal
v. User Requirement
vi.Specialization
vii.Team
viii.Communication
68. 68
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #1 - Does application meet or exceed definition of “Legacy”?
â—Ź
Answers: Yes, No, Maybe, Don’t know
– Business Critical
– Old
– Changed to meet organizational needs
– Degrades as changes made
– Maintenance cost increase as changes made
– Obsolete languages
– Poor, if any, documentation
– Inadequate data management
– Limited support capability
– Limited support capacity
– Lacks architecture to evolve to meet emerging requirements
69. 69
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #1 – Technical value attribute assessment
â—Ź
Answers: Yes, No, Don’t know
– Maintainability
â—Ź
LOC
â—Ź
Control Flow
â—Ź
Cyclomatic complexity
â—Ź
Dead code fate
– Decompostability/Architecture
â—Ź
Modularity
â—Ź
% of modules with separation of concerns
â—Ź
Consumption
â—Ź
Extensibility
â—Ź
Style
â—Ź
Interoperability
70. 70
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #1 – Cont’d
â—Ź
Answers: Yes, No, Don’t know
– Deterioration
â—Ź
Backlog increase
â—Ź
Defect rate increase
â—Ź
Response-time increase
â—Ź
Maintanance time per request increase
– Obsolescence
â—Ź
System age
â—Ź
Operating system version
â—Ź
Hardware version
â—Ź
Technical support availability
â—Ź
Security
â—Ź
Legality
â—Ź
System evolution required for business goals?
71. 71
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #2 – Business value attribute assessment
â—Ź
Answers: Yes, No, Don’t know
– Economic value
â—Ź
Market value
â—Ź
Profitability index
â—Ź
IRR
– Data value
â—Ź
% of mission critical archives
â—Ź
% of application dependent archives
– Utility
â—Ź
Business function coverage rate
â—Ź
Actual usage frequency
â—Ź
Customer/user satisfaction metric
– Specialization
â—Ź
% of highly specialized functions
â—Ź
% of generic functions
72. 72
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #3 – Organizational infrastructure attribute assessment
â—Ź
Answers: Yes, No, Don’t know
– Development & maintenance internal or outsourced?
– Technical maturity
– Commitment to training
– Skill level of system support
– Response to change
73. 73
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #4 – Calculations
– Calculate all responses to 1 – 5 values (don’t know = 0)
– To easily plot on decisional matrix
74. 74
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #5 – Conversion
– Convert Y, N, DK to numeric values and Avg %
75. 75
Release Your Refactoring Superpower
â—Ź
Case Study
– Example Assessment
â—Ź
Step #6 – Plotting
– Display points on the decisional matrix