Making a Plan
I do not think i am alone with having a number of projects where I started with great enthusiasm and then either got stuck, distracted or ran out of time and then did not resume later.
I do not see this necessarily as a bad thing.
If I am stuck, this is most likely to be on a software and code issue where I have not been able to get my head round solving the problem and implementing a working solution, or finding that I have a working solution, that works, sometimes. Stack-overflow, Reddit and even twitter on occasions have been great in finding that missing link or the error of my ways.
My sure fire way approach in starting and finishing, again unsurprisingly is just like a good story which had a start, a middle and an end.
A good start: This answers the what, why, how and when.
So...
- What am I doing?
- Why am I doing it?
- How to I plan to do it?
- When am I going to do it?
Its the paint by numbers of elicitation of the user needs and requirements and move into functional and non functional requirements specification.
A Proper Middle.
I am a firm believer in "if you don't write it down, you are only messing about", in trying to not have a desk covered in A4 paper and my ideas, plans, todo's and doodles I have found keeping an actual lab notebook works really well for me and actually, properly, as intended, using source code management - mostly github, repos and gists.
Long gone are the days of 1.txt 2.txt lastnotes.txt and other various really helpful file naming convention :D
With the answers to the what why how and when I can the take the FNFRS / requirments and identify what components, bits and pieces I need to implement the solution. I usually start with the what do I already have*1 and sketch out the hardware and software considerations for each requirement (I will expand on this in a subsequent post). Ideally I will have a flow of 1. requirement -> 2. solution -> 3. test / validation.
A lot of my work is data science, analytics, and visusalisation - with python as my go to language, Jetbrains PyCharm, my IDE of choice for production and Jupyerlab for proof of concept. So not having touched Arduino since the advent of Raspberry Pi so many years ago ( a love which continues through to today), I have been relearning all of that forgotten stuff that once occupied my head. I guess I am a little disappointed to find the Arduino IDE has not moved on all that much, but challenge accepted.
A Solid End
The good old Demming Cycle, Plan Do Check Act.
Its not only about the planning to do something and the doing it, but also the write up of what you did, not only the what, why, how, but your outcomes, results, the show and tell. The open source community is built on sharing, share away. I am always happy to see something I have shared be improved upon, remixed or become part of something else. The first pull request i ever had on github is well remembered, i learnt from it and made a friend along the way.
Addendum
- Power supply to the bottom of the garden is delayed, the recent storms required time be spent on clearing damaged trees (I also took the opportunity for some pollarding)
- All parts are now in, armoured cable to run down the garden, RCD for spur to be plumbed in, consumer unit for the garden, enclosure for consumer unit
- I just need to make up a house for the enclosure and post to install on and can get cracking.
*1 on the point of what do I already have, from combinations of clearance lots from eBay, to when my Uni closed a department and had a clear out, through to parts salvaged from old projects or lucky dip treasure from a colleagues previous trips to Shenzen.