How would you decide whether to build a feature or fix a bug (assuming both take the same engineering effort)?

  Meta
Add Your Answer
Answers (3)

Clarify:

  • Type: does the feature/bug address security or privacy vulnerabilities
  • Was the bug introduced recently and how long it has been when we discovered the bug
  • Are the bug/feature serve internal performance/system impacts or are they customer-impacting (platform Vs consumer)
  • Is there a quarterly theme that the company is focused upon e.g. experience, retention, revenue
Assuming that the bug was recently discovered and both bug and feature are customer impacting.
I would like to assess the reach, impact and confidence level for both the bug/feature.
REACH: Do we have the quantitative data for number of customers that the bug is encountered or new feature that would be exposed to
IMPACT: I would look at some external and internal factors
  • External:
    • Competition: may also launch such feature and we want faster time to market for early bird advantage and retain/attract more users
    • Regulatory: new gov. policy/requirement (e.g. GDPR) with a deadline
    • Marketing: new promotions for upcoming sales event such as prime day, black Friday to improve sales/GMV
    • Customer feedback: from our superfans (B2B) or internal employees (B2C)
  • Internal
    • Synergy: Does the bug/feature helps in building other features.
    • Data: Does the bug/feature provide helps in capturing more data to understand behavior and minimize risk of our decisions
    • Dependancies: third parties, customer training
    • Risk(rollback effort)
Based on this information, I will assess the impact from low (1), medium (2), high(3)
Confidance: if we have quantitative data available for both reach and impact, would term confidence as High (1), Medium (0.8) and Low(0.5)
I would compare Reach*impact*confidance to decide whether to fix bug or build feature (based on higher magnitude)
Security, regulatory, PII, PHI concerns would trump the reach factor. I would work with legal partners to understand the risk.

My answer to this Facebook execution interview question:

1. Clarify Q

Where? On Facebook

Platform? Web/desktop

Estimated affected users for each initiative? Bug will impact all web users; feature might just be used by a select group of users

Define engineering effort; is that the number of engineers, coding power, time, etc? Each initiative will require 1 team of 3 engineers about a week of full-time work.

Engineering effort is the same, what about other teams involved? Design, marketing, user research, QA testing, etc.? All other teams will need to be involved to launch the new feature. The bug fix will require engineering and some QA testing.

2. Sum & recommend

Fix the bug, it will impact the most users and require the least amount of corporate resources.

Clarifying question:

  1. Are we talking about Facebook Website or mobile App ? Assume its for Mobile App
  2. Product Life Cycle of a Product? Assume its in Growth Mode
  3. When was the bug identified ? Assume its identified last week.
  4. When would be a planned launch date of new feature if we were to build one? Assume will take 8 weeks to launch(develop, test and deploy)
  5. Have we already started with the dev work for new Feature  and until what % completion?

This is one of a tradeoff situation where I will like to define Customer Impact & Business Impact  for each of the action and define Pros and Cons for each. I would give my recommendation towards the end.

Criteria for evaluation of Tradeoff:

New Feature

1. Goal of the feature?

1. Reach to Customers: How Many would be using this?

2. Anticipated Frequency of usage per user

3. Do customers have other alternatives through which the problem is solved? 4. LOE for Launching the feature

Pros: 1. Might lead to new opportunity for our customers and solve a new pain point.

2. Cross-collabration and planning would have already being aligned with other teams and delaying this work would impact multiple teams

Cons: # are projected since its not lunched yet.

Fixing Bug

1. Goal of the bug fix?

1.Reach to Customers:  How many were using this?

2. Frequency of use: How frequently customers use this feature with bug

3. Whats the LOE to fix the bug

Pros: Might be solving an existing pain point in an optimized and bug free way.

2. This could need an urgent attention if its impacting a top level funnel in user journey and bringing bad customer experience

3. More confidence in existing data(for bug) vs New feature projected data.

Cons:  Can this bug fix wait until the launch of Product Feature and what’s the impacted metrics

Evaluation: This is a conversation of Opportunity cost. What will we be loosing if we focus on bug vs new feature .

There are always multiple bugs in any system, what’s more important is

  1. Which key metric it is impacting , by how much and how many customers are using it daily/weekly and monthly.
  2. Whats the level of work needed to fix it. Is it a low hanging fruit or needs a bigger development effort

ROI = Customer Impact / LOE

Since company is in growth mode, its important to take care of your new and existing customer using the features and have the bug as low as possible which would have bigger impact on User Experience and Customer Retention over long term.

Recommendation: So my recommendation is that assuming the impact on customers is higher with an existing bug and it needs a lesser development effort and lesser cross-collaboration with other teams; we should prioritize fixing bug over new feature launch.