It is exciting news that Bhavitha Tech has successfully migrated a Custom HRMS & Payroll software from .NET Framework 4.5 MVC to .NET Core 6 MVC
HRMS is an initiative of State Government that aims at bringing in superior governance in the Government-to-Employee (G2C) segment through implementation of an automated system to manage the entire state-wide Human resource management (HRM) functions and Payroll processing of all Government employees of the state.
Upgrade the .Net framework tech stack to .Net core 6 MVC to support Modern Architecture and Digital Transformation needs.
We have followed Lift and Shift and Modernize approach with Test Driven Migration. Below diagram illustrates the Lift and Shift approach for .NET Core 6 Migration
For HRMS 2 migration, we have used Test Driven Migration with Agile Scrum Practice for Project Management.
1.We set sprint duration as 4 weeks because we consider user stories as business modules which are greater in scope.
2.Each sprint will implement Test Driven Migration practice to complete sprint goals.
3.All stakeholders should decide on sprint goals in Migration Project Planning phase. Guidelines for Sprint goals are business modules, UAT Acceptance Criteria and time allocation to fix UAT bugs of previous sprint.
4.Once all stakeholders agree on modules for each sprint, migration team will start the Sprint
5.At end of each sprint, migration team should deploy the code into UAT server and start the next sprint.
1. Resource Independent:
Currently HRMS 2 application does not have correct or accurate document to share with migration team. Requirements and Technical implementation knowledge with few key resources. If any of these key resources exits from application team, core migration project and any current development which is undergoing will be severely impacted. Test Cases in TDM practice will cover the application domain knowledge and technical implementation.
2. Onboarding new resource time:
Test Cases artifact can be used as onboarding document for new resources so they will acquire knowledge faster and then deploy them into development activities.
3. Code Quality:
Since current application will be tested pre migration, all bugs will be discovered and hence code quality will be improved.
4. Quantifiable UAT Acceptance Criteria:
As we will be testing framework pre migration, those test results will be UAT acceptance criteria.
5. Any time Live Ready:
Sprint goals in agile scrum methodology helps us to focus on short goals and complete migration module wise. After each sprint and UAT is completed for that sprint, we can deploy those modules to live environment.
Problem | Solution |
---|---|
HRMS2 is used Web Grid | HRMS 2 is used Web Grid .NET Core 6 does not support Web Grid. So we have enhanced and created a wrapper class. |
HRMS2 have used session object to retrieve user cache data in Data Access Layer | .NET Core 6 restricts accessing Session object in Data access layer except in Views and Controllers. We have used Dependency Injection to resolve it. |
HRMS2 is used WCF to write webservices | .NET Core 6 does not support WCF. We have converted them REST API services. |
HRMS2 is used SSRS with WebForms for reports | .NET Core 6 does not support WebForms We have used 3rd party open source library and customized to integrate with WebForms. |
1.Before doing any migration activities determine which parts of the application or code can be reused, and which should be rewritten. Those parts are critical and should be performed primarily.
2.Continuous testing during and after the migration is super important in such large-scale projects. Even a little button can start working in the wrong way and crack the whole application.
3.Re-organize and clean the code if needed. It will be much easier to develop the system and implement new features in the future.
Item | Result |
---|---|
Web Page load speed | 40% faster than framework. |
Infrastructure | Less number of servers to support same load |
Maintainability | Removed Technical Debt and Increased Modularity. |
Architecture | Supports Modern and Micro Services Architecture |
If you are interested in how Bhavitha Tech can guide and assist your.NET Migration or Application Modernization journey, we would love to chat.
Contact us today to start a conversation. email: connect@bhavithatech.com
Leave a comment here