10 Steps to Planning a big tech project during the lockdown
Recently, Gary from the Sheffield Engineering Leadership Academy asked me to do a blog-post talking about some of the skills I learned and how I put them into use.
What better way of doing that than with a huge project during the quarantine.
So, before I go any further it’s quite important for me to describe what the Festival of the Mind is. In Sheffield, every two years there’s a large festival, meant for artistic and scientific collaborations. I was involved with this festival in 2018 with the Sheffield Engineering Leadership Academy, where I created a virtual reality exhibition, part of a larger “Theatre of Engineering”. As we had a cool exhibit that I put a bunch of effort into, I got invited to apply for the festival in 2020!
Me at the Festival of the Mind 2018
While working with Urban flows Observatory on a project last year, I noticed something that I wanted to make a bit of a fuss about!
Although it’s quite easy to find city-specific information, in a city like Sheffield, that’s a lot more useless. So using data from the Luftdaten community (with help from Rohit Chakraborty ) I made a little web application to help with that.
Now, let’s fast-forward an entire year again, this time, to mid-January. While applying for the festival, I wanted to create something that would be able to make a difference at a local scale.
The idea was to create a sort of periscope, looking into 3D views of different Sheffield areas (5 points for if you guess why this idea got changed).
So I sent through the application, and it got accepted, with full funding! Now’s the important bits. I’ll bold them to let you know they’re important and list them because lists are fun.
1 — Organizing Early
So, before anything else, organize early! I initially estimated the project on a Gannt chart. trying to work out the scale and scope of the project (It doesn’t matter if it’s wrong, Gannt charts are always wrong, it’s just an estimate!). Once I found that I definitely could not do it myself, I got some volunteers (link to contact page). The work wasn’t beginning yet, but it definitely helped that I knew there were a couple of people happy to work on the project beforehand!
So, about a month after the application was accepted, the pandemic fully hits. I begin to work from home. And as has happened with so many things, I lose track of the project (and of time), which gets me onto the next part
2- Don’t be afraid to get back in the flow if you lose it!
Realizing that I spent far too long not doing anything, I message the slack channel I had set up earlier, with an apology and a solution to get things back on track.
Don’t be worried about the lost time, but make sure you have actual solutions to fix it, just doing the same thing you were previously isn’t going to work! That’s where scrums come into play
3- Scrums, Scrums, Scrums
One of the first things I organized was a fortnightly scrum with everyone (If you don’t know what a scrum is, think of it as a meeting but quicker, and one where everyone has a part to play!) where I just updated the team to make sure they where understanding the current scope of the project, and pivoting or changing as situations changed.
This moved to a weekly scrum once the pace picked up, but the important thing was that it was at the same time, every week, which helped to make sure that the meetings actually achieved stuff!
4- Set yourself a schedule (and actually keep it)
Especially when working full-time, it’s quite important to set a time period. For me, it was putting in around 6 hours on a Saturday, and 2 on a Sunday every week! It sounds difficult at first, but once you get into the swing of things having that schedule really helps you.
5- Set reminders to communicate
Make sure to set yourself reminders to answer emails, try and create new connections, and update the team! I chose Monday mornings for this, just in order to make sure that everything was still on track!
Although it was a day of very little actual programming, having that day of communication, emails and general admin really helped out making sure that everything was on track. (And the notification is annoying but necessary)
6- Remember, you’re always responsible
This is a difficult one. There’s a ton of things that will happen without your control, from the deadlines changing, to find out that an API key expired, or a website changed its entire archiving system without letting you know (This was the best one).
But you can’t just sit there and think “Well, it’s outta my control!”
There’s always something you can do, whether it’s emailing for an extension, changing the priorities of certain deliverables, or finding workarounds. Especially late on in the project, you can’t just go and give in, you have to find some way of making it work!
7- You’re not Clint Eastwood, you can ask for help
Getting too much? You’re not a one man-programming-machine. You have teammates and volunteers for a reason! Maybe you’ve not been giving the team enough tasks. Trust that your team will make it work, you can’t micromanage every part of it, especially with a large scale project.
8- Keep it in scope!
There’s always more and more stuff to do, no matter what project you're in. Just working on it will mean that you find new skills, new ways of doing things, and maybe even brand new stuff that makes you want to redo your entire project from scratch and try again. But remember, you planned for a reason. You have a scope, and you gotta stick to it! Something well polished and small will always look a lot better than something unpolished and large.
9- Panic is pointless
This is the hardest one by far. There’s always going to be certain days where all the work seems to pile up at once and you have no idea how you’ll sort it all, but it’s quite important not to panic!
Take a breather, the one thing worse than something going wrong is you burning yourself out. Look at the tasks, which ones are necessary, and which ones can wait, what are your priorities?
Panicking won’t do anything productive.
10- Things will always go wrong, prepare to know how to fix them
No matter how much time you put into planning, there’s always something that will end up going wrong on the day.
One of the things that happened at the festival! Due to an issue with the leap motion and unity application, what ended up happening was a random app crash after around 4 hours of constant work. As I’d never kept the app for more than an hour.
Since I had prepared for this, I was down there, on the first day within the morning and writing checks in the application that dealt with the issues. If i wasn’t prepared for it to go wrong, it would have taken way more time.
When finishing up, always have a back-up plan. If the wifi goes down, what can you do? No matter how confident you are in the project, write up a plan with these worst-case scenarios!
Final Result
Leap motion application, allowing for contactless movement (bottom) building projection in Sheffield (top)
The final result, a hardware exhibit, a website, a talk, a podcast as well as a bunch of projections around the Sheffield area! Definitely, something that was fully worth it!
Projection over Sheffield City Hall
Thanks to the team as well as Stephen A Jubb for being the industry partner on this project, it was an amazing experience, and definitely worth all the work.
Take a look at the project and hopefully, it’ll teach you a little bit about the importance of reducing pollution in the local area.
The projection around the Sheffield area, using real-time AQI Sensor information (bottom), me in front of the exhibit (top)
Projections and some images from the festival!