Have you ever experienced getting stuck when you wanted to build a big application or a lot of development work to do?
Well, I got this a lot of times! And it doesn’t matter if you are working on your projects or for your employer. These tips I’m gonna give you right now are gonna help you!
It did help me in a lot of years!
1. Start With Why
Why would you want to build this project?
Is it for practice? Or do you want to solve a problem? Do you want a lot of users to use it?
All this question can help you decide why you would want to build it.
Let’s start with an example through all the steps to make it more practical.
We are gonna build a “Weather Application”.
- Well we want to check the weather
- We want to check it based on our location
- We want to see the temperature
- We want to see if we can expect rain
If you want to build this app for practicing your technical skills, it’s easy to just get started. But sooner or later, if a project becomes big, it can become a mess when it’s finished.
2. Write Down All Functionalities
Since we already have written our why, we can use it to make a list of all the functionalities.
Open your notes app, text editor, or code editor. Create a document called
functionalities.md and make a list of bullet points.
- Use the location of the user to get the current weather
- Show the temperature
- Show the air density
- Show if it’s gonna rain within an hour
This is a small list because we want to create a small app.
3. Create user stories
When you work in a team in a company, you probably would use this list to create a sort of user stories. Not every company is doing this, but I think it’s a good practice to do this because we explain what we want to do and why in 1 sentence.
- Get user location: As a user I want to give my current location to get accurate weather predictions based on my location in the app.
- Get weather: As a user I want to receive the weather information based on the user’s location.
Like these example’s above, we have to write what functionality the user will get. Even more important we will define why the user needs a certain functionality.
4. Split Functionalities In Smaller Tasks
User stories are great for describing the functionality and the reason for it. But this doesn’t mean we have to use that while working on it.
It’s better to split user stories into smaller tasks. Tasks should be very practical to pick up as a piece of the user story.
So how do we do this?
Get user location: As a user I want to give my current location to get accurate weather predictions based on my location in the app.
We can define this user story into the following tasks:
- Build a check if the HTML5 Geolocation is available in the user’s browser
- Request the geolocation of the browser via the browser API
- When the user has approved store that location in local storage for re-usability
So you can see it’s not difficult! But this will force you to think about everything more carefully instead of just wing-it.
5. Use a project management tool
You can create the user stories and tasks in a spreadsheet if you like, but I won’t call that ideal. It’s better to use a simple project management tool for this.
One of the easiest tools is Github projects. If you are familiar with the Github platform, you probably know the issues in Github.
With Github projects, you can make a scrum/kanban board with those issues. Based on tags that you can assign to the issues, it will display the issues in the correct column.
This is an easy way to manage your project. And the best thing is, it’s in the middle of where your code lives.
Source: Project Managment Power Ups
There is also a great tool called Trello.
Trello is a free tool to create user stories/tasks on a board. You can add images or other resources that are linked to the story, to every task you create.
The tool is owned by Atlassian which is known for the enterprise version Jira which is not free. Well, you can try it for free but it is mostly used by big companies.
Pick what you like
I would prefer Github since it is linked to my code. But if you prefer Trello because of a lot more functionalities than pick that.
Remember, as long as it makes it easy to manage your project then pick that one.
Everything that I told is how most software development teams work. It’s based on the Agile manifesto. And it can be used in the Agile frameworks Scrum or Kanban.
But no matter how you want to call it, you should always make sure that you split your work into smaller pieces to make it more manageable for yourself.
If your employer does not allow you to work like that, or you work only on your projects, please do it for yourself. This definitely will help you make your work more predictable and structured.
I hope this will help you! 🤗
If you liked this post please like or RT the Tweet below. When you have questions or thought about this, please let me know in the thread of the tweet below to help others with it.
I’ve gathered a couple of aspiring developers around the world on a Discord server, feel free if you like to join in.