0

While testing my iOS application against the latest version, I've discovered a bug. For the purpose of this question, I am omitting the details of the bug.

I was planning to migrate the application to React Native for cross-platform compatibility, even IF this bug didn't exist. Now that I've discovered the bug, however, I'm thinking about whether I should prioritize the bug fix or the migration. The migration may take a long time, but it may also fix the bug. Migration gives me a "clean slate" - an opportunity to rethink the entire structure of my application.

5
  • Do you have adequate unit test coverage?
    – mmathis
    Commented Oct 27, 2021 at 18:46
  • @mmathis: No, but I did functional tests before I published the application. I made the original codebase four years ago and then college forced me into somewhat of a hiatus.
    – moonman239
    Commented Oct 27, 2021 at 18:50
  • This was back before I knew how to use test-driven development.
    – moonman239
    Commented Oct 27, 2021 at 18:52
  • There's no hard rule on this. It depends on many different things, such as the nature of the bug, its frequency, its consequences, the urgency of the migration, and so on. Could you clarify what kind of answers do you expect? Commented Oct 27, 2021 at 18:54
  • Your app only has one bug in it? That's a great position to be in.
    – pjc50
    Commented Oct 29, 2021 at 9:27

1 Answer 1

3

This is a question of risk management. I assume when you fix the bug first, you will also release a new version of the application before the migration is completed (otherwise the whole question would be pointless).

Based on this assumption, ask yourself:

  • What is the nature of the bug, and what will it mean to your users when you leave it in the application for the time of migration?

When the bug only causes a little bit of inconvenience, easy to work around, then leave it in. If the bug has a high risk of making some of your application's core features fully unusable, with no way for the user to get around it, better fix it ASAP. And as with every bug, you need to think about how much effort it will be to fix it, and how you see the risk of adding further issues in case the fix requires a complex change of the code.

So to make a decision, you have to look at this from your user's point of view and make an assessment. Be aware your application will surely contain a lot of more bugs - surely not each of them is worth to be fixed immediately. And in case a bug was in the application for several months or years, without anyone complaining about it, it rarely requires an urgent fix.

7
  • Alright. That’s what I’ve been thinking - good to know I have someone to back me up.
    – moonman239
    Commented Oct 27, 2021 at 19:11
  • What’s a core feature?
    – moonman239
    Commented Oct 27, 2021 at 19:11
  • @moonman239: another term for "main feature", "central feature", something which is essential to your application. For example, on this site, some of the core features are the functionality of posting questions and answers, voting. Something I would not consider to be a core feature are getting the links shown to "The Overflow Blog".
    – Doc Brown
    Commented Oct 27, 2021 at 19:35
  • Another thing: How do you determine a bug has a high risk of making core features fully unusable? Do you factor in an estimate of how likely a user is to encounter said bug? (I'm actually thinking it might be a good idea to implement some sort of bug tracker so I can detect occurrences of any bug and have some data to help me decide if it's worth fixing)
    – moonman239
    Commented Oct 27, 2021 at 21:13
  • @moonman239: "How do you determine a bug has a high risk of making core features fully unusable" - by trying to understand the user's processes and requirements, and making analysis how the bug impacts them. Also, by looking if there are easys-to-find workarounds for the bug. When in doubt, ask someone who knows the user's processes better than you, ideally a user, or whoever in your development team has the responsibility for this - in some teams, this could be the "product owner", in others a business analyst, and in others, just you.
    – Doc Brown
    Commented Oct 28, 2021 at 5:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.