I'm a selftaught (web) developer. On sunny days, you can find me hiking through the Teutoburg Forest, on rainy days coding or with a good fiction novel in hand.
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.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
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:
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.