I don't know , if it's only me that have this confusing flow of starting every new project from scratch, and get into thousands of the things within the project.
Whenever I'm in middle of the project, there is always one thing, that one thing that will never get me convinced and I want to change it again n again n again. When I'm working on design, I will complete the design and then when I'm on programming, I will change the whole design or colors again. Just to convince myself that the project should be with unique look, I will change it again and again (I know it's a lot, but don't know I keep changing it). Will always keep searching about security things, will always keep updating the code that I have made already in new project.
And this is what I think, that could be a very bad process for me. I do always do leave few tasks in half and then do another task, and then come back again to the previous one, and i think it may break my flow of project?
I have done complex projects (maybe not complex for few of you), from sites similar to google drive ( My project : Buckty cloud script) to an online music streaming sites like spotify or deezer. But still I'm always there to think, how I can make them always better.
I know maybe my question could be stupid, but hey it's just a curiosity.
I thought that only happens to me before. @maruru has answered it already create backlogs and follow it strictly .
You really should stop jumping tasks. Make a backlog with all the things you have to do. In the beginning, these tasks will be very abstract. Then, take one item from your backlog. Keep working on it until it is done. Then close that item and take the next item from the backlog. Ideally you should do the items in order (FIFO: first-in, first-out)
If you ever feel like your code needs improvement while you work on it, but you think it is out of scope for your current task, create a new task and add it to the backlog. Since you work on your backlog, you will have to do that task sooner or later, but you can stay focused on what you are doing at the moment.
Try to focus on functionality first. Design, UX, API,... etc. do not really matter if your product cannot even do what you promised. First finish functionality, then think about how to improve your product. Most products needed many versions and releases to become "good". Just take a look at Android version 1. It was a pain to use, but the functionality was there. Since then a lot of releases were pushed out to create an excellent UX in addition to the stable base.
Later on, when your product has a functional base, you should use something like Zero Bug Development to keep producing stable results.
Marco Alka
Software Engineer, Technical Consultant & Mentor
cengkuru michael
Full Stack Web Developer
Lord knows how may times i'v had to redesign my blog. From my experience , the dissatisfaction is usually from the UI To avoid getting caught into the "dissatisfaction trap", I do the following
Planning
Business Logic
UI
That way i can change the UI as many times as I want without leaving major tasks pending