The massive development project that has been consuming so much of the development team’s time over the last few months is finally complete. All those months of planning, design, and development have finally borne fruit. Now it’s (almost) time to launch.
Project completion is just the beginning. Once the application is up and running, it still requires care and feeding. There are going to be bugs. Code will deteriorate over time. There will be requests for additional features. And as the business grows, the application will have to scale.
Ensuring project success requires a post-launch project strategy. In fact, the team should have a post-launch plan in place before they start coding. Here are five components that every team should include in their post-launch plan:
Plan a Beta Phase
A beta phase is a controlled release with the expectation that those using it understand it’s not a final product. There may be some unfound bugs needing fixing before a full release.
Include trusted people on the platform early. Public and limited betas are common. For example, Apple does limited beta releases with its iOS updates. The objective is to find errors missed before a full launch.
Be sure the launch date doesn’t coincide with some other business-critical event. For an extreme example, launching a new business-critical application on Black Friday is a bad idea for retailers. No matter how thoroughly the application is tested before launch, there’s a chance something will go wrong once real users start using the platform. Launch the application far enough in advance to uncover the bugs and work out the kinks before they create bigger problems.
The good thing? Debugging doesn’t go on forever. After some time, the application will become stable and won’t need as much attention fixing bugs. The more complex an application, the longer it will take to mature and stabilize. (The exception is when third-party APIs are used, which can cause bugs when updated.) When adding new features, there will be additional bugs that will indeed need to be fixed.
Observe How Users Interact
Observe how users interact with the application. Keep a list of items that stand out as needing improvement. Everyone will have comments on how to improve the application, so focus on the most frequent complaints.
User feedback is always valuable. Developers sometimes have difficulty thinking like users, and who better to provide insight on improvements than users themselves? Creating a user feedback mechanism also offers valuable information about new features or functions that should be considered for the next release. Also, be sure to include metrics as part of the feedback loop.
Most inefficiencies and performance issues are identified during development, and expectations must be managed post-launch. For example, when deploying a new employee application, efficiency will fall off until employees are comfortable with the new system. As part of feedback, review performance expectations and establish a timeframe for key metrics to improve.
Plan for Maintenance
No matter how good the development team is, all software requires maintenance. Code deteriorates and can become unstable over time. Applications also require upgrades to add features and enhance performance.
Developers must address four different types of software maintenance:
- Corrective maintenance – This kind of maintenance corrects errors in the software. Corrections can be classified as bugs, but they also relate to design and logic.
- Adaptive maintenance – As the software environment evolves, the application needs to adapt. Running systems on new hardware, operating systems, or cloud environments changes software dependencies. Adaptive maintenance can also reflect organizational changes, such as new rules and policies.
- Perfective maintenance – Applications also evolve to meet user needs. Perfective maintenance addresses issues identified through user interaction, including new features and functions that improve the application. It also refers to removing unused capabilities or ineffective functions.
- Preventive maintenance – To ensure the software functions longer, preventive maintenance helps prevent deterioration with less maintenance. Preventive maintenance includes code optimization, updating documentation, and reducing risk by making applications more stable and easier to understand and maintain.
Monitor Server and Database Loads
As more people use the application, monitor features that need to be improved. Monitor performance before it becomes a problem. For example, if the application begins to run particularly slowly, it could be because it’s hosted using a shared account. It pays to be sure the application is running on a dedicated server to prevent problems from the outset. Potential issues and bottlenecks can often be identified ahead of time.
Poor load distribution may also create poor response times. Too many simultaneous requests or incorrectly assigning new requests can overload the servers, even when the system is under capacity. The result can be painfully slow response times.
Be sure to build server and host testing into the post-launch strategy. If performance issues start to appear, identify and solve them as quickly as possible.
Realign the Project With Business Objectives
Just as software applications evolve, so do business goals and objectives. The original project requirements may have changed, which will have an impact on future development needs.
It pays to maintain ongoing contact with senior managers and align development with changing business priorities. Use the project roadmap to show issues and opportunities to reassess project objectives regularly. Share insights with the senior team and ensure the roadmap matches the organization’s overall strategy.
Any time a project is completed, the work has just begun. It’s critical to review the outcome to see if project objectives were met, assess how well the project was run, and identify changes for the future. To get the greatest possible benefit from a project, start by evaluating outcomes.
A top-notch development team will have already considered the above (and more). The most important part is to keep clear, open lines of communication between the technical team and stakeholders. Don’t neglect maintenance just because the project is launched. Remember, the end of one phase is simply the beginning of another.
Author’s Bio – Nik Froehlich is the Founder and CEO of Saritasa. Having started, run, and successfully expanded a construction-related service for businesses for 20 years, he always relied heavily on new technologies to create solutions and efficiencies. Combining his experience with business, his technical skills, and his vision for the future of technology, he left that company in good hands to focus on creating Saritasa, the technology consulting company of his dreams.
Linkedin profile – https://www.linkedin.com/in/nikfroehlich
Disclosure: We might earn commission from qualifying purchases. The commission help keep the rest of my content free, so thank you!