Risk: Laravel stores its password in bcrypt format. But it was found that the existing system has 2 methods of encryptions.
Mitigation: Passwords for new users will be based on bcrypt. When the existing users come in, we would make them change password and remove the old password columns. This changed password will be in bcrypt.
Risk: Issues in handling PHPExcel in
writer to export as excel.
Mitigation: If PHPExcel has compatibility issues with php7, we will replace the module with Laravel excel exportt.
Risk: Existing report list sorting functions would not be supported in Laravel.
Mitigation: Column wise sorting would be implemented using the default package of Laravel, which in fact offers improved sorting feature than the current one
Risk: Handling Raw Queries that might trigger vulnerability issues.
Mitigation: Raw queries would be replaced with Eloquent queries to prevent vulnerabilities or SQL injections.
Risk: Batch pools might have an issue during the transformation.
Mitigation: During the transformation phase, the existing system would be on a maintenance mode. After transformation the new system will use the existing database and thereby, the batch process will run all pending jobs in the queue. This approach avoids redundancies in the batch programs.
Risk: Pushing records to AX or retrieving data from RP will create issues during development.
Mitigation: Need to get a mirror system for AX and RP, where we can push/retrieve data from clone system. This enables the developers to check if the data is pushed and retrieved.
Risk: Handling of batch processes that are created from the code.
Mitigation: TechAffinity would verify the Batch processes that are created from the code and disable them. And also, we would note the scenarios under which these are triggered to mitigate it in the future. Once the new system is deployed they would be enabled
Risk: Quality issues that may rise during the transformation process.
Mitigation: To mitigate this risk TechAffinity proposes to write User Stories that would brief the entire legacy system. Then follow a Test Driven Development (TDD) approach.