Don't really have "a methodology" but in saying that one has to acknowledge that one's way of doing things amounts to a method.
My next call after conceiving an idea is to
visualise the software / package, by that I mean have to see the end interface and the code flow in my mind first. I might never put that "on paper" though. Although, since starting to use B4X and its Designer (please add one to B4R) I do get the interface "pages" on paper simply as a matter of the process of the IDE.
So from the above postings I would add a couple of comments:
To me Creativity is key !!
Absolutely, and that comes out above invention: the latter can really get one into trouble at times. Innovation is beyond most of us. To creativity I would add Imagination.
A number of people comment as below on data and its structure.
database design and data structures.
pay attention to data structures
There is a layer above/below this. As a starting out research environment programmer, when (RAM was scarce and storage was expensive) one of the first things I learned about data was: NEVER store anything that you can calculate from raw data. So, the first planning consideration was : what is the basic element of data being collected and at what frequency? This is not a simple thing in say, real time data collection from human subjects on a treadmill, or, when they walk on a metal walkway. But, for rainfall, for instance, through a tipping bucket all you need to store is the time signature (that represents a tip and you know the quantum per tip) from there calculation is flexible.
But, really, that's not a big thing with what many people seem to do with Android apps. Those principles, though, have served me well even with accounting/bookkeeping, club membership and other software developments.
as I code I often document what I am doing
Documentation, after all these years; my great Nemasis........
Hope to have your pedantics for years to come,
DITTO
searching for TODO you will find everything
That's a great addition: one of the few bits of documentation I do is TODO lines.
The other major thing I would add to the list is : What ever I am working on I work from the view point of the
end user. To me this is the MOST important viewpoint when developing for phone apps.
It never ceases to amaze me the odd / unexpected things end users want displayed (especially in the research environment) which is where CREATIVITY comes in -> ever had the thought How the Hell am I going to do that - is that even possible? I work hard at minimising the number of clicks a user must go through to get to X or Y endpoint. Its remarkable how efficient your code becomes and how it builds around essentials not rubbish cuteness.
Oh, and, if there is one methodology its this : watch how many Rabbits-you-pull-out-of-the-Hat! Clients / Bosses begin expect another Rabbit more and more often.