Mastering the Art of Project Prioritisation— when to code, when to push back

Aditya Dixit
3 min readJan 24, 2024

After leading 100+ development projects in various organisations, from startups to established companies, I’ve noticed :

Engineers often have this habit of putting on their “developer hat” the moment they get a task. They quickly dive into problem-solving, After all, that’s what they were hired for — serious coding! 🚀💻

But what sets a great developer apart is their knack for asking, “Is this problem worth solving at this moment?”

Photo by Icons8 Team on Unsplash

In startups, we fondly call them “Product Developers” because unlike traditional software developers, they envision the entire product — it’s like having a software engineer and a product manager in one package. Most importantly, they prioritize results over just churning out features.

(Note: Some organisations have overused the term “Product Developers” to the extent of labelling every engineer as product developer)

One of the key expertise of a Product Engineer is to prioritize effectively, deciding when to go ahead with coding and when to hold back, recognising that development should lead to meaningful results.

In this article, we’ll explore an easy method for categorizing and priortising tasks by tagging them under themes such as “Growth & Opportunity.” Utilising tags like “Opportunity,” “Revenue,” and more,

Now we’ll delve into a detailed explanation.

🎯 Priority -0 | Critical (Immediate Attention):

  1. Bug Fix: Essential for system stability and smooth user experience.
    ⚠️ Consequence: Unresolved bugs may lead to system failures, user frustration, and declining trust.
  2. Security Enhancement: Protects sensitive data and user trust.
    ⚠️ Consequence: Vulnerabilities may lead to breaches, data leaks, and reputational damage.
  3. Compliance & Regulations: Avoids legal issues & reputation damage.
    ⚠️ Consequence: Non-compliance may result in legal consequences, fines, and reputational harm.

🎯 Priority -1 | Growth & Opportunity: (High Priority)

  1. Opportunity: Capture growth potential and stay competitive.
    ⚠️ Consequence: Missing opportunities = loss of competitive advantage.
  • Revenue: Drives financial stability and fuels ongoing operations.
    ⚠️ Consequence: Insufficient revenue may result in financial instability and hinder growth.
  • Innovation: Introduces new features for user attraction and relevance.
    ⚠️ Consequence: Lack of innovation may lead to outdated products and reduced market relevance.

🎯 Priority -2 | Enhancement & Optimisation: (Medium Priority)

  • UX Improvement: Boosts user satisfaction and retention.
    ⚠️ Consequence: Poor UX may result in dissatisfaction, increased bounce rates, and reduced loyalty.
  • Performance Optimization: Enhances efficiency and avoids user frustration.
    ⚠️ Consequence: Poor performance may lead to frustration and decreased user engagement.
  • Market Demand: Aligns with user preferences for product success.
    ⚠️ Consequence: Ignoring market demand may result in products that do not meet user expectations.

🎯 Priority -3 | Ongoing Improvements: (Medium Priority)

  • Customer Feedback: Addresses user concerns for continuous progress. ⚠️ Consequence: Ignoring feedback may result in unaddressed issues and reduced customer satisfaction.
  • Competitive Edge: Maintains market advantage and relevance.
    ⚠️ Consequence: Lack of a competitive edge may result in losing market share and relevance.
  • Cost Reduction: Optimizes processes for financial health and efficiency. ⚠️ Consequence: Inefficient processes may lead to increased expenses and financial strain.

🎯 Priority -4 | Technical Maintenance: (Low Priority)

  • Tech Debt: Ensures system stability and code maintainability.
    ⚠️ Consequence: Accumulated technical debt may lead to increased development time and maintenance costs.
  • Code Cleanup: Improves code maintainability and system performance. ⚠️ Consequence: Untidy code may result in increased development time and system inefficiency.
  • Non Revenue Feature Enhancement: Refining functionality for ongoing product improvement.
    ⚠️ Consequence: Neglecting enhancement may lead to product stagnation and decreased competitiveness.

Now, armed with tags and themes, you’re basically the task maestro — orchestrating priorities like a coding symphony. If stakeholders throw in more priorities, just do a quick coding cha-cha to accommodate them. Happy coding, maestro! 🎉🕺💻

--

--

Aditya Dixit

Leading Web and Growth Initiatives at Cult.Fit | React.Js | Next.Js | JavaScript | Architect