Sign in
Log inSign up
Plan or not to plan a project!

Plan or not to plan a project!

PS: I didn't plan this article/blog

Aman Tulsyan's photo
Aman Tulsyan
·Jun 23, 2021·

7 min read

Introduction

Planning in general has a dopamine hit to it, no matter what kind of project I am working on planning it has always excited me, sometimes to the point of me even delaying the execution. In this article I will expand on my insights of building a plan project vs non-planned project.

Planned Project: Not-to-do-list

After a year of being stuck in tutorial hell I started to improve my fundamentals this year by making my approach more practical i.e. more project oriented henceforth my attempt to achieve this was a my first project not-todo-list which is nothing but a fancy representation of a todo list but instead of listing the tasks to be done people can list tasks which they don't want to be done.

The necessity of such a project is a thing which I won't be able to expand on this article as I built projects on a hunch and sometimes with no significance at all but let's not distract ourselves with unnecessary points and focus on the juicy part (planning).

Planning the application

It was my first side project before this I hadn't made anything for myself so as expected I was clueless on the intricacies of tackling a side project but being a twitter trespasser, the concept of building a side project was very exciting to me and to my tremendous luck I had just stumbled upon a great article diving deep into side projects by Kush Daga which helped me a ton lot in planning my simple project.

I highly highly recommend anyone who doesn't know how to proceed with side projects to go through it.

How to get started with building side projects as a developer?

With enough motivation and excitement I further proceeded planning my application on notion which was very much fun for me.

Here's a preview of how I planned it on notion

Screenshot (65).png

Screenshot (66).png

Screenshot (67).png

Screenshot (68).png

Screenshot (69).png

Screenshot (70).png

Now let's talk about how planning this application in general helped me boost through the process of development.

Notion Link

Building Phase :

Benefits

  • As I had already designed the UI of this application in figma it was very much easier for me to build the architecture of the application using and flexbox and CSS grids and it didn't took that much time to build.

  • I knew the feature I had to implement beforehand so I didn't waste any more time brainstorming on what the app would do.

  • As I had all the pieces of the application organized it helped me a lot in keeping my doubts organized.

  • A set deadline helped me from not procrastinating building it which was very important for me as I have a habit of working very slowly.

The overall process of building this application under a solid set of systems helped me a lot along with the notion doc acting as my documentation of this project. The workflow was very smooth in general.

Project Link

Now that we have expanded on the planned side project let's fast forward to one month back.

Unplanned Project: side-project-showcase

After shifting my approach from coding while watching tutorials to a more project oriented landscape I have seen a lot of progress in my developmental growth (more on that later) but I was still unclear about asynchronous JavaScript, api calls and navigating through docs in general so I decided to expand on it a little bit and it so happened that I stumbled upon r/sideProject subreddit. A community where people showcase their side projects, I was so inspired by the projects people were making that I decided to act somewhere around that subreddit thus using reddit api.

Now, reddit api endpoint is very simple to be honest and I didn't face any challenges while scraping the data, I took the help of a YouTube video to figure out the api end point.

This time I didn't plan the UI, features as a matter of fact anything beforehand, this project was a total impromptu project as a part of my deep dive into asynchronous JavaScript and experimentation to record myself while making the project the deadline was one week and for the UI I decided to copy the product hunt chrome extension👇🏻

Screenshot (71).png

Building Phase:

Problems I faced this time

  • I decided to make it somewhat similar to the product hunt UI but without a properly planned UI, I had to make a lot of changes to the code to land at a presentable UI.

Screenshot (74).png

  • I didn't know what features the project would have as I just started building the project on an intuitive hunch because of which as I was building a lot of ideas came to mind some of which I could implement some which I couldn't.

  • Due to lack of proper planning, each day as I progressed it was something new I added simply meaning there were a lot of uncertainties.

Now to you it might seem that planning an app is way better than working like this, well in some cases it actually is but I learned many new thing while building this application which made all the hassle worth it!

Change in perspective

  • As I hadn't planned this project beforehand working on it seem like a free flow to me I wasn't restricted by a limited set of features and I implemented all I could taking my current react skills and time into consideration. Planning anything beforehand is always a good thing to do but sometimes ideas turned into plans are never executed because we are never fully prepared. If I would have waited for the the perfect Idea to come to my mind, I wouldn't have started with this project and the idea would also have been probably wasted.

    WhatsApp Image 2021-06-23 at 5.22.06 PM.jpeg

  • This project was my attempt to dive deep into asynchronous JavaScript as well as experimenting with a completely new domain of recording myself while making this project. If I would have waited for the perfect idea I would never have gotten a chance to dive deep into asynchronous JavaScript as well as my experimentation.

    Screenshot (73).png

    Screenshot (72).png

    reddit thread

Execution first approach is a very rare trait to have and while planning may be the best way to approach a problem statement but not every time. Often times when people are curious enough to build something they get through it even without planning.

Breaking logic into smaller components:

As I hadn't planned any of the features beforehand I didn't get time to expand on any feature. While moving my way through the project, I discovered an amazing framework to solve bigger problem statements.

Expansion on the framework

In general I faced some difficulties while building this simple application, I also had to forego two features which I wanted to implement in this project but couldn't due to time limitations and laziness but my overall learning experience while building this project was worth everything.

Project Link

Conclusion

In my opinion planning is never a bad thing to have, you will have to figure out the level of planning you want to do before building anything. I too had a basic very minimalistic idea in my mind regarding the second application and it is good to have a somewhat hazy vision of what our end goal is, to push us forward, otherwise what is the point being excited about what we are building.

The most important aspect to keep in mind is that the focus should always be more on execution compared to planning, breaking project into small milestones is a great approach to solve difficult problem statements but I have seen many people including myself slacking off in the execution phase or getting bored off and discontinuing the project in between, It is up to you how much you want to plan beforehand given the restrictions you have bounded yourself with. Planning or not planning I learned something new in both my approaches. The general goal should be to become a better engineer and ship things effectively.

Execution is the key

Hassle-free blogging platform that developers and teams love.
  • Docs by Hashnode
    New
  • Blogs
  • AI Markdown Editor
  • GraphQL APIs
  • Open source Starter-kit

© Hashnode 2024 — LinearBytes Inc.

Privacy PolicyTermsCode of Conduct