When your development team has designed and built a new Ruby on Rails application, and it’s working as expected, it might seem like the project is completed. However, effective support and maintenance of a new digital product are just as vital as a perfect initial build.
Maintenance is two-fold – it’s a combination of reacting quickly and appropriately to any issues or business or user needs, as well as proactively planning enhancements and updates to your service.
To ensure that your service remains usable, secure, and cost-effective in the long-term, we recommend that you take a few crucial steps to support your Ruby on Rails application.
In this article, we will explore four things to consider in terms of live product support and maintenance:
- Managing issues
- Software updates
- User feedback
- Product improvements
EFFECTIVELY MANAGE ISSUES
Whether working with an agency or managing support work in-house, a clear process for handling support requests is vital for dealing with issues efficiently.
Use a dedicated support helpdesk to log requests with a ticketing system. This ensures that tasks can be prioritised according to their urgency and clearly marked as completed.
At Bit Zesty, we manage support and maintenance for our clients by providing them with a dedicated email address for all support requests. Our Project Managers will then prioritise requests, liaise with the client, and oversee the process of fixing any issues or making enhancements. Without a support helpdesk system in place, issues may fall through the cracks and it will cost valuable time to sort through a backlog of unprioritized support requests.
Response time for a bug or issue should directly correlate with how significant its impact on the service is. Time and budget constraints can mean that it’s just not possible to complete every single item, so prioritisation is crucial.
Some low-impact issues may not be cost-effective or worthwhile to spend time fixing. For example, perhaps the issue is only relevant for a minority of users trying to perform an edge-case action, or it may be a request for improvement rather than a bug.
At Bit Zesty, we use the following scale to prioritise support requests for our clients:
|Critical||The users are unable to use a significant portion of software & it affects all users|
|High||The users are unable to use a significant portion of software & it affects a large number of users|
|Medium||The users are unable to use some small portion of the software (but are able to complete most other tasks)|
|Low||The users are unable to use a minor portion of the software (but are able to complete most other tasks)|
BE PROACTIVE – Set up a ticketing system and prioritise issues, based on your impact criteria
BE REACTIVE – Respond to urgent support requests ad hoc
KEEP SOFTWARE UP-TO-DATE
Make sure that your Ruby on Rails app or website is secure and easy-to-maintain by keeping it up-to-date.
One of the significant benefits of open source code libraries in Ruby on Rails is that bug-fixes are regularly contributed by a community of developers, reducing workload for the product owner or digital agency.
If a software is not kept up-to-date, new third-party fixes will soon become irrelevant. Products running an outdated software will not be able to benefit from these open source contributions, as they will only relate to the most recent software releases. Furthermore, outdated software could become more vulnerable to security attacks.
Major updates usually happen annually, and smaller updates occur more frequently. If done regularly, it is a relatively simple task and can save your organisation time and money in the long-term by enhancing security, increasing application speed, and eliminating your use of unnecessary third-party technologies.
Our recent whitepaper, 7 ways upgrading your Ruby on Rails application can save your business money, outlines all of these benefits in more detail.
BE PROACTIVE – Plan and conduct major software updates at least once a year
BE REACTIVE – Implement any urgent updates, especially security ones, as soon as they are identified
GATHER & RESPOND TO USER FEEDBACK
Hopefully, the needs and preferences of users would have been the focus throughout the design and build stages of your digital product or service, and this shouldn’t change once the product goes live.
Gather feedback from real users of your Ruby on Rails application to ensure that your support and maintenance budget is used as effectively as possible.
One way to reach real users is to run a public Beta phase. This involves launching the live service while monitoring user activity and the support requests which come in. In addition to this, conduct research to find out whether your end-users are achieving what they want and need from the service. This may take the form of usability testing, surveys, and inspecting analytics.
Obtaining user feedback on a live service provides a valuable opportunity to identify necessary improvements and can help you to plan a product roadmap.
To learn more about gathering feedback and making improvements through a Beta phase, take a look at this blog post about our work with the Queen’s Awards for Enterprise.
BE PROACTIVE – Actively seek out feedback for the live service
BE REACTIVE – Respond to any urgent bugs or issues as users report them
CREATE A PRODUCT ROADMAP
Continuously enhancing a digital service is a crucial part of ensuring that it remains relevant and meets your business needs.
It is essential to have a strategy for how the product will continue to develop after the initial build. A clear outline – known as a product roadmap – will help you to plan and budget for any improvements, whether they are smaller enhancements, technical maintenance, or brand new modules.
The best approach for creating a robust product roadmap is to plan enhancements based on the user feedback insights and aligning them with your organisation’s objectives and capabilities.
Make sure that your product roadmap allows for the unexpected, as some improvement work will inevitably need to be reactive. Ad hoc improvements may be urgently needed as a result of user feedback – for example, if you realise that users are dropping off because of a lengthy sign-up process. Alternatively, you may need to react to the changing commercial needs of your business environment – for example, the recent GDPR legislation meant that many of our clients had to make last minute changes to their sign-up forms.
Careful planning and built-in flexibility will help you to create sustainable digital products that are technically robust and continue to meet the needs of your organisation and users.
BE PROACTIVE – Create a robust yet flexible Product Roadmap to follow
BE REACTIVE – Respond to changing business and user needs by making ad hoc improvements
To summarise, here are the actions your team or digital agency can take to be both proactive and reactive in maintaining any application:
|Proactive support work||Reactive support work|
|Set up a dedicated email helpdesk and ticketing system to prioritise issues, based on your impact criteria||Respond to urgent support requests ad hoc|
|Plan and conduct major software updates at least once a year||Implement any urgent software updates, especially security ones, as soon as they are identified|
|Actively seek out user feedback for the live service||Respond to any urgent bugs or issues as users report them|
|Create a robust yet flexible Product Roadmap to follow||Respond to changing business and user needs as they occur by making ad hoc improvements|
Do you need help managing the support and maintenance of your digital service? Contact me, Matthew – the Technical Director here at Bit Zesty, today on +44 207 125 0160 or drop me a line on [email protected] for a free consultation.