DEV Community

Discussion on: How do you start your project?

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.