Three things to think deeply about before you start:
1) What exactly am I trying to do?
2) How can I get from here to there by taking tiny steps?
3) How will I know, after each step, if it's working?
This applies to software development and many other contexts.