DEV Community

Cover image for How do you start your project?
GecikaDM
GecikaDM

Posted on

How do you start your project?

Hello everyone,
I have been learning web development for about 2 years with some breaks as I am working as an IT technician and sometimes it can uneasy to get some free time and being dynamic to concentrate on project.

One of my hobbies is taking pictures, I like photography. And recently after making by cv online, I would like make a photo blog using Gatsby.

However, I think that most of the time, I go straight up to the development phase by started the HTML structure. Unfortunately, and I think you guess it, it starts to be messy as I ve made a plan!

I 've started to think about it and I know this is how you have to proceed to be efficient and not being lost like me.

That is what I try to set in mind before starting my project :

  1. a sitemap
  2. wireframe
  3. define graphics
  4. development
  5. test
  6. deployment

If anyone as advices or plan to follow in order to make easier to start a project I would appreciate.

I would be interested also to know how much time you spend on it. Of course, I guess that the first sketch won't probably be the only one and that most of the time, you have to change plans.

Thanks for all your advices

Top comments (7)

Collapse
 
mathewthe2 profile image
Mathew Chan

I don't think I've created enough individual projects to give good advice, but it goes something like this. Find the sweet spot of something you love and something that would be helpful to other people.

venn_diagram_of_love_and_usefulness

Then search online for similar applications. If you do find an application that does what you're thinking, ask yourself why you haven't heard of this application before. Is it because it's expensive? Hard to use? Outdated? Lacks certain functionality? Requires users to use the terminal or set up their own server?

Try tackling one of those problems in your own project. Some people like to learn a new framework or language while they are making their own project. That is cool, but in my opinion only learn if you need to. If you can make a prototype with tech you're familiar with, that just makes it faster to publish the app.

Then get feedback as soon as possible. Dev websites like DEV obviously, but also users on forums and message boards that would appreciate your app. It is possible that your app might pivot to other features and uses that you might not have thought of before and requires a complete revamp of your tech stack/design.

You mentioned you're thinking about developing a photo blog. Are you developing your own blog? Or is it a platform for others to blog their photos as well? Social media platforms like Insta, Flickr, and Pinterest come to mind. What do you like about these platforms and what will you do differently? Those questions should set in motion answers that will determine your design, your stack, the amount of time you need to commit to etc.

Collapse
 
gecikadm profile image
GecikaDM

Thanks, I realised that I ve never thought in a kind of that way when I ve got a idea. I am more like at the moment, thinking about what can I do "for me" to improve my skills. But you also giving a way to think differently and further more about the future project :)

Collapse
 
preciouschicken profile image
Precious Chicken

Your Venn diagram made me think of ikigai. I love how the Japanese have a single word that pretty much sums up this concept.

Collapse
 
gecikadm profile image
GecikaDM

I thought it two when I was the diagram πŸ‘

Collapse
 
souksyp profile image
Souk Syp.


I go straight up to the development phase by started the HTML structure

I force myself to be away from my pc anytime I got an idea and spend time writing or drawing on a white paper instead. Not sure if it’s a good idea.
I do this every morning.

Collapse
 
gecikadm profile image
GecikaDM

That's sounds a good way to think peacefully 😏

Collapse
 
tqbit profile image
tq-bit

I think the right approach for planning out a project depends on its scope.

For medium+ projects, I agree with Souk - try and start coding at the latest possible time and conceptualize.

That, however, doesn't mean you should spend all of your time thinking about how to do it better. Try and set a realistic interval, say 30% of the total time, you intend to invest into the project. Adjustments can be done as you go, but initial planning is key.

Among conceptualization, what helps me is:

  • Sketching / Wireframing (helps with the UI & communication)
  • Defining goals and features (helps with planning, DoD & testing )
  • Break these down into tasks, utilities and functions
  • Defining data structures for information (greatly helps with building your API)
  • Write user stories for UI elements (helps with algorithms / functions. Also improves communication)

I can't stress how much time I spend writing this stuff down just to get it out of my head. Not only does it free space for thought processing - if I didn't write it down, I'd forget everything the moment my phone pings.

Once conceptualization time is over, I usually go from what I find least fun (data structures, writing tests) to what enjoy most (User Interface & API composition) and do constant adjustments. Like: Does my app still fit into the concept I came up with initially? Do I need to adjust? If so, where? I personally don't time box adjusting, but it might come in handy, especially when working in a team.