App Misadventures Part 1: Planning
Now I have a goal, I have a purpose and a fairly clear understanding of where I need to head. An app like this can be huge, it can grow exponentially, it must be planned, it must be focused and I must pull out all the vital concepts and items to get an MVP ready and tested. This is going to require some planning
After working in a very agile environment in my last job and really falling in love with the methodology I believe it is something I can use here to split up what I need to get done, what is vital what can be done in release X Y Z, there is no point building all the features now if half are redundant and the basic app doesn't function as expected I need to focus my time and figure it all out.
Being something brand new it means there is a lot of setup and config that is required, now this is one of my weaker areas in general I enjoy the coding part, I enjoy the refactoring and testing bits but the config and preamble I always find hard to push myself to do but this time it is important, I need strong foundations to build this on. What I started out doing was setting up a GitHub repo for the app and in VS Code wrote up some of the specs. VS Code is pretty awesome for this I used the drawio extention to build out some flowcharts and database diagrams to really get me thinking about what tables I would need, what data I shoul store and importantly how to link these together in a flexiable extendable way, something I am learning in my current role which has proven so useful in what to consider even if I have a lot more to learn. With my basic grasp of what data should be stored, at least for now, more can be added later I turned myself towards coming up with a general roadmap. Now I am not one for writting down a lot of my plans I generally keep it in my head but this time I decided it was good to get some stuff on paper.
Again continuing on with VS Code using a markdown file to store the information in I fleshed out what was core to the app, any good to haves, breaking down into Epics and starting to build out basic user stories. I find the process of creating user stories really helps to focus your mind on what needs to be delivered and it makes it easier to see what is required to achieve this, it is also a pretty great way to get you writting ideas down with out too much friction as I find it flows fairly easy. This has helped me have a good understanding of what I should spend time on, I still have some more work to do on this and build out the ordering more overtime.
My goal of writing the specs now was to start to focus myself on what I expect to be required, it is just the beginning as my next aim is to actually get a basic app setup holding the shell the parts that will always be required, login, sign up, landing pages, calendar etc these fundimental items that will always have to exist. Once that is all in place I expect to spend a good amount of time reorganising the stories and fleshing it all out more into drops etc with the goal to get a MVP done before the end of the year.
It may sound a bit of an asperational goal but one I feel is fairly achievable due to me taking about three weeks off in December of which I expect to do my own mini hackathon to get a huge amount done then. I am aiming not to rely too heavily on this period for that as I am actively working on the app now trying to get as much done before the real crunch happens but I feel I have some achievable milestones that push me in the right direction. I am very much looking forward getting this into my brothers hands to get some feedback to allow me to build on it with a second round of UAT later on with a much wider sample size.
This is only the beginning of my journey but I am already feeling very invigorated working on this project as I am working with some awesome technologies Electron, React, NodeJS but this project will test me more than anything I have worked on in hte past, in my freetime and that is exactly what I am after.
Photo by Patrick Tomasso on Unsplash