DEV Community

Burak
Burak

Posted on

Keeping scope focused - how unclear goals kill projects

"Would our users like it if we added X?"

A seemingly harmless and straightforward question. We want to provide value, so why not implement a new feature?

This is the poison pill a project takes until it reaches a point of paralysis, and eventually gets abandoned. But isn't it natural to introduce new features? How come could it kill a project?

The MVP that's lost in the ocean

Let's say you are building a todo app. The goal is clear: give the user a list, let them check boxes, and hide the completed tasks away.

The team meets up, everyone starts working on their tasks. The week passes.

You gather around a table again. A brilliant idea is proposed: "let's make the list collaborative."

Everyone forgets what they fought for the whole week - and the focus is now collaboration.

The plan is reshaped. MVP will be collaborative. You log off.

When the requirements change...

...at an early stage like this, you have to rethink what you are trying to accomplish.

Each requirement stacks up complexity. Let's think of the requirements that the app would have had without collab:

  • A single database table for todos
  • Maybe another table for users if you wanted to do sync
  • A user interface that consists of maybe 1-2 views.

Let's see what collaboration adds to our stack:

  • A server is now unavoidable
  • Not only do you need auth now, you also need access control
  • Who has what permission in which list?
  • Invite/share flow?
  • The original designs now need to change because we need a share UI now
  • How do we reflect changes in real time again?

Week 3

Collaboration clearly isn't implemented yet, the tickets are sitting on the tracker, but "enthusiasm" is still there.

Everyone in the team wants to create the perfect task tracking app.
Wait, weren't we just doing to-dos? Or so you thought - because next week's focus will be all about implementing a kanban board, status fields, custom properties, Gantt charts, and by the end of the meeting - you went from to-do to reinventing Jira.

You peek at the backlog.
39 tasks - all gray.
You look at the finished tickets - 1 ticket closed in a full week. And it reads "add login ui".

As progression isn't there, the team burns out, and the project gets abandoned.

But we were gonna add AI?

No you won't.

Your requirements should not change at the first week of development. That's like planting onions in a field of roses because "onions got expensive."

Here's the prescription for your next project:

  • Before writing any code, set your requirements, clearly. Don't make it excessively detailed, but make sure your core value proposition will not change the next day.
  • Set your roadmap for the MVP. Don't add new features until you launch.
  • Don't rush the MVP either. The tests you skipped will haunt you in Q3.

Everything else should go to a whiteboard where you can pick ideas from after the launch.

Your project deserves to shine, and your time doesn't deserve to go to waste. So don't let it happen.

Top comments (0)