DEV Community

Discussion on: How to begin a project with just an idea

Collapse
 
allanjeremy profile image
Allan N Jeremy • Edited

I like to break any project into 3 steps: why, who, how

Why

Why are you building the project? Determining this in advance helps you to maintain the motivation when you feel side tracked/bored, which will eventually happen.

Writing this down and reading it when you feel like quitting can help reignite the initial spark/feeling.

Why would anyone use my product over another? (This especially matters when you are creating a product to be used by others and helps define your competitive advantage). Plus it helps you innovate more. In the case of a portfolio website, this could be asked as: "why would they choose me?" Or better yet "why do I stand out?"

Who

Who would use this? (Again, matters if you are creating a project for someone other than yourself to use). In the case of a product, this is also where you determine your target market. There can be multiple usrt groups that serve as your target market. For example, an ecommerce project may have buyers and sellers as your target users. You will then write two different sets of user stories.

This part helps you determine the features you need. You can then write user stories based on the target users you have discovered above. In the aforementioned example, we would have two sets of user stories. Where the buyer and the seller interact, we can try to optimize for both but in individual cases we can optimize for the different target users

This really helps you from having unnecessary features

How

How will you build it?

You figure out the architecture and design of the software you are making based on the previous steps.

This is where you pick a stack/tech to use. Guessing you already figured this part out, seeing as you already have a stack.

Finally

You have done ample planning & figured out how everything is generally going to work before writing a single line of code.

I can't emphasize how important planning is! Without it, it is easy to get carried away implementing unnecessary features & writing bad unmaintainable & unscalable code

Anyway. This is where you create your MVP (minimum viable product). Get your product out in the hands of users (if any) as soon as possible. They will guide your future iterations

Remember that your assumptions about users may mostly be wrong, so don't waste too much time building an overly complex product behind closed doors

Could write a lot more on starting a project (might as well convert this comment into a post) but this is simplified and seems to work.

This response was written on a phone. Apologies if there are any mistakes

Tools that can help

Only mentioned a few that have almost no learning curve

Google keep - user stories/taking notes. Free

Trello - planning. Freemium. You can use it for free and can pay for extra features

Bootstrap studio - rapid ui prototyping. About 25$ for an annual license and 60$ for lifetime

Adobe XD - UI/UX prototyping. Supports mobile prototyping

@ben Notice me senpai