What is an issue?
A software issue is an error, flaw or fault in the design, development, or operation of a computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
Is it an issue?
To confirm if a specific situation is an issue within the application or an incorrect use of the application, our client experience team will gather as much information as possible from the user like: what is the situation, when did it occur, where (in the application) did it happen and what were the exact steps the user performed that led to that issue. Our client experience team will try as much as possible to duplicate the situation to understand the root of the issue.
What if the issue is confirmed?
Some situations are more critical than others. Although every situation is important, the issue will be assessed between our client experience team, the product manager, and the development team.
Before being reported to our product and development teams, the client experience team will look at the scope of the issue under 3 main angles from the eyes of the user side: the impact (how many users are affected), the severity (does it prevent mission critical operation of the software or is it just more of an annoyance), and finally is there a work around possible? Then it will go to the development team with the best description possible, including steps to recreate/duplicate the issue.
Why the issue cannot be immediately resolved?
Our development team follows the Agile process* which values an approach that involves breaking the project into phases and emphasizes continuous collaboration and improvement. It embraces change and uncertainty, allowing our teams to adapt and respond to evolving requirements and priorities. Our team follows a cycle of planning, executing, and evaluating and shared resources to produce new features and integrations for our users as well as fixing defects and bugs in the software. We work consistently with shifting priorities to get things done. Usually that means that an issue or a defect will get prioritized and placed in a backlog based on the impact and severity of the issue. The dev team will pull it into an iteration, or sprint, as they have capacity to do so. Sometimes issues are ranked low enough in priority and a work around is sufficient that they may wait to be fixed until the work the development team is currently focused on is finished (usually a new feature or integration).
Sometimes, however, an issue is important enough that it will be rushed as "hot fix". A hot fix is a software patch or update released to address urgent or critical issues in the application. It is a smaller and more focused release compared to regular updates, aiming to quickly resolve issues, vulnerabilities, or other problems affecting the software's functionality or security.
How long can it takes to fix an issue?
Our development teams use a Scrum process which is part of the Agile methodology. We aim to have a releasable build of our cloud application deployed every 2 weeks. Sometimes these releases will only go to a select group of pilot hotels to test out new features and provide feedback but in general all environments get new builds every 2 weeks. Once the client experience team has reported the issue, the product manager will work with the development team and decide when the issue will be focused on in development. The development team may also find/suggest a work around in the meantime. Some issues make it into every release to be fixed. Some issues are low enough in priority that it might take several releases before they are fixed.
How do we know if an issue has been resolved?
The details of every release are
available online. Once an issue is resolved and the correction is pushed, hotels who reported the issue are updated by the client experience team through their ticket to confirm, from the user's perspective, that the issue reported was fixed.
*The Agile methodology is a project management approach that involves breaking the project into phases and emphasizes continuous collaboration and improvement. Teams follow a cycle of planning, executing, and evaluating. One of the main aspect is the continuous integration and testing; it means that developers integrate their work frequently, typically on a daily basis. Continuous integration ensures that the codebase remains stable and avoids last-minute integration issues. Automated testing is performed throughout the development process to maintain quality.
Related Articles