I do not take any responsibility or liability for any error, omission , inaccuracy or destructions!
BASED ON GAME EXAMPLE:
It this part I will explain how I prepare, plan and setup my project.
I start from list of things, which is good to do and remember during preparing and planning:
Why? As more effort you put it, then you will lower your chance to re-write your code. You will be more flexible for adapt to unexpected changes. Do not design everything upfront (like in waterfall methodology). Think more about flow, cases and usability and prepare task-list with prediction for how important it is and how difficult/how much time it will take. Tasks should be designed and implemented independently.
I used IntelliJ IDEA as IDE. I used some agile and Kanban principles as methodology. I used Kanbanize.com as my Kanban board ,where I store my brainstorm idea, task list , bug tracking and as visual process management (to visualise workflow, manage flow and to-do list, manage adaptation for changes in requirements).I use Git as my source code management and my own program called nanobackup to do .. backups (that were stored internally and on Dropbox).
For simple game as doms countries, capitols, flags and continents quiz game that was based on previous project it was a bit easy, but this is shortcut of how I done it. I started from brainstorm. All ideas from brainstorm I added into task list. I put all task on Kanban board (I used kanabinze.com). I collected most data (flags, icons) and add/edit/remove task during my free time prior start of implement specific tasks.
I draw some UI to play with usability and with game flow. I used UI builder for Android that can be found in IntelliJ IDEA (better tool can be found in Eclipse). I decided then priority and task order for each task/feature. I create a text file with my loose plan about what will be including for each main release (v0.4, v0.5, v0.6, v0.8 and v1.0 (unfortunately I deleted file with info, what was in each release).
I play around with planning flow as part of test.
That is all.
Note: Even in small project like this one. Few elemnts in my plan changed few times during development. My planning is very flexible and it allowed me to fit these changes to development flow.
Strategy vary depends on project size, deadline, complexity, your experience and many other factor, but do not worry too much about. If you just started, try to have some fun with planning and design that and allow a lot time for implementation.
In next part, I will describe my design for “doms countries, capitols, flags and continents quiz game” with some example of uml ,task and etc.