Software upgrades can be costly, and a small mistake might cost you Millions; what an eye-opener this Citibank debacle was! This pandemic has been a breeding ground for technology innovations and has led to many advances which helped reduce the impact. But before we plan any upgrade or implementation, it needs planning. The system complexity in terms of effects on other systems, the best time of upgrade, cost of change v/s cost of advancement, and resources required all these factors including the extent of customization needs a thorough review.
There are, however, specific considerations an organization should typically consider before planning a software upgrade –
- Identify And Engage Stakeholders – Both internal and external stakeholders – End users, developers, administrators, support and hosting teams, QA teams, business owners, external vendors, and partners. Engage them and create a dependency matrix on how each group interacts with the system, use system functions, how an upgrade will affect them, and what level of involvement will be required from them.
- Change Control Planning – While technology upgrade is one aspect, but the more significant challenge is sufficient to change management surrounding a software upgrade. Keeping the balance between right communication at the right time, and stakeholders engagement, delivery detail can be daunting. Consider having a dedicated Change Control Manager to manage the process and a comprehensive communication plan while defining R&R clearly.
- Application incompatibilities – Though rare, but it can be mildly annoying if one of the rarely used function doesn’t work, and a disaster if a mission-critical business application fails to run. Hence document system interactions and understand touchpoints and its requirement using system thinking process.
- Data Loss – Data is the most precious thing. Data incompatibility or losing data can be bizarre. Hence make sure data migration activity is not rushed, and data is stored in all relevant formats, and multiple backups are taken. Spend time in understanding infra requirements needed while doing data migration and make sure that these needs are communicated to IT teams, well in advance
- Permissions/access problems – This might sound insignificant, but lack of access to specific users and more than needed access to certain can cause mayhem and outflow of critical information. Create a Security Role Matrix and have a dedicated resource aligned to not only implement but also to test these roles.
- A Roll-Out Plan – When will the upgrade be performed? Will there be an outage, if yes, how long? What sort of message needs to be given to stakeholders and whom all needs to inform? What will be the process? What if something goes wrong? Who takes the Go-No-Go Decision? How do we do rollback? In what sequence does an upgrade happen? All this needs to be addressed and identified in advance.
- Perform Testing – This includes functional, non-functional and technical testing, quality assurance, data integrity, security, performance, security roles and performance testing. Vital to the testing process is also tracking issues and deriving them to closure. Track them until fully resolved. While an upgraded system might be functional, it might not fulfil all of the business requirements, hence do add User Acceptance Testing in scope.
- Provide Training – Training the right people at the right time not only requires adequate training resources but proper planning. The amount of training, the type of training, and the length of training will depend on the end-user facing functionality and feature changes within your upgraded software.
Upgrades don’t happen every day/every year. Nor are they comfortable!! And this list of precautions is long and tedious to implement, hence It’s essential to have experienced technology consultants and partners to avoid failures during the upgrade. If your system downtime is high, no work is not progressing, but money is still being spent, We at BaffleSol Technologies, would like to do a free 16hr audit to help you sail through and provide solutions and in upgrade project which lays the foundation of your “dynasty.” If the foundation is weak, the “dynasty” will fall.