A Practical Guide to help you stay more Organised & Productive
Tags: 100daysofcode, codenewbie, productivity, webdev
Published: 2020-08-13 13:04:06

# Introduction

Being organised and productive is becoming more and more of a challenge in the current world of endless distractions. But, not to worry, my dear friend [Simon Høiberg](https://twitter.com/SimonHoiberg) has created a Video Tweet on how he stays organised and productive through the help of tools such as [Trello](https://trello.com/), [Todoist](https://todoist.com/) and [IFTTT](https://ifttt.com/).

{% twitter 1293787366428045317 %}

# Long Term & Short Term Goals

In order to be productive, it is important to first establish what we intend to achieve. In other words, we will need to define our 'Goals' first.

It is generally a good idea to define both the 'short' term and the 'long' term goals. Let us look at how to define them.

## Long Term Goals

Long term goals are generally goals that span over a period of time. It can be for any period ranging from 1 - 3 years.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/atx9viwaxlbnbmt6mppf.jpg)

Due to the uncertain nature of Software industry, it is recommended to keep the duration of long term goal not more than 1 year.

## Short Term Goals

Short term goals as the name suggests are goals defined to be achieved over a shorted period of time.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/um5nj8rmf6q1gk4vkg3i.jpg)

Again, it is recommended to keep the short term goals less than one month into the future. You can do a further breakdown of goals, week-by-week, to track them easily.

# Tracking Goals the SMART way!

Now, that we've defined both the short-term and long-term goals, the next important thing to do is ensure that we are able to measure them and luckily there's a SMART way to do that :-)

SMART stands for -

- S - Specific
- M - Measureable
- A - Achieveable
- R - Realistic/Relevant
- T - Timely

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/fgm391vkxczafp7ev1ff.jpg)

Let us look at each of attributes in detail -

- Specific - When defining a goal it is important to be as specific as possible with what you want to achieve. The more narrower the goal, the easier it is to focus and achieve them
    - Example: I would like to learn the 'State Management concepts of ReactJS using Context API' in a very good example of a specific goal. It is much specific goal as compared to stating that I want to learn ReactJS.
- Measurable - This attribute talks about the evidence that you can provide in order to support your claim of making a progress or completing your goal within a certain time-frame.
    - Example: Taking the above example, when you start out with the goal of learning State Management concepts of ReactJS using Context API in 2 weeks. You should be able to measure your progress after say 'one week' of progress to see where you stand. In addition, you should be able to provide evidence against your progress such as:
        - How many sections of your course have you completed?
        - How many blogs have you read on Context API?
        - How many mini-projects have you done using the concepts learnt?

        All of the above are the evidence that support your claim on progress/completion of your goal.

- Achievable - This is very important, because, having reasonably achievable goals will help you feel motivated and keep you focused.
    - Example: If the mid-term goal is to master ReactJS in 3 months, you should first find out if the prerequisites such as knowing ES6 concepts are covered beforehand. Otherwise, you might realise that learning the prerequisites might take a month and the goal to learn ReactJS within 3 months might not really be achievable.
- Realistic/Relevant - The 'R' stands for both being relevant and realistic.  Relevance means your short-term goals need to be defined in a way that they are relevant to your longer-term goals. Realistic means that they really need to be possible for you to achieve the goals set, given the circumstances you are currently in.
    - Example: If your longer term goal is being a qualified web developer to be ready for job-market in 8 months, the short term goals such as learning ReactJS need to be in alignment with that.
    - Example: The same goal of learning ReactJS might take 2 months for a person who is currently on Sabbatical vs 5 months for a person who's doing a full-time job in parallel.
- Timely - This attribute talks about being time-bound. It is mandatory to have an end-date against your goals. At this end-date, you should be able to objectively decide whether you've met or not met your goal. Unless, it's time-boxed a goal isn't very effective. If you aren't able to achieve your goal for any reason, it'll be good to introspect and re-adjust your next set of goals based on your learnings.
    - Example: I will learn ReactJS in 3 months. I will create 1 mini-project and 1 blog on my learning each month.

# How to go about it?

There are many tools available in the market to help us define, track and analyse our goals and actions that we took to achieve them. But, before we could even choose tools, the first activity we have to spend time on is Planning.

## Planning

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/2i0gwtkpxelzcmv5eoze.jpg)

The first step starts with planning. It is great to set aside sometime to plan your week ahead. In fact, Simon recommends Sunday to be ideal, since you get a head-start on planning the week ahead. Your planning needs to include the following:

- The tasks you would like to complete the in upcoming week.
- It will be good to include the resources required to complete the tasks upfront.
- Based on an estimate of how long the task will take to accomplish, assign an appropriate end-date.

You must ensure that the tasks you've planned for the week is in alignment with the bigger goal.

### How does Planning help?

Planning helps you accomplish the following things:

- It provides clarity on what to accomplish every day at the start of the day, since, you have a specific goal with a set end-date.
- It gives you all the time to focus on the specific task at hand and significantly increases efficiency.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/29sx6icfidm7rp8nwrc2.jpg)

## Kanban - Trello

The Kanban methodology in it's simplest form means organising work in to the following major segments 'To Do', 'Doing' and 'Done' and is the most flexible approach to managing work effectively.

Kanban board can be used to manage your short term & long term goals. In short, it gives a broader view on how you are doing overall.

Trello software is the tool that can be used to setup your tasks in a fun, flexible way. Here's [the link](https://trello.com/) that can get you started with Trello.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/lzk30ftr7cc56q9jhqwx.png)


## GTD - Getting Things Done!

GTD or getting things done is methodology to record your immediate tasks at hand in a way it can be acted upon effectively without the need to think about 'what to do?'

A very effective tool that helps in GTD is the tool [ToDoist.](https://todoist.com/)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/fyykbiblhqiquv386r2u.png)

It helps you capture and track all your planned tasks for the day very effectively. This is your go-to tool to plan all your daily tasks for the week.

# Conclusion

Now, that you have the productivity tips shared with you, it's time to act upon them. I really hope, you found this article useful. Once again, I would like to thank my dear friend [Simon Høiberg](https://twitter.com/SimonHoiberg) for this collaboration effort.

Do let me know your thoughts and comments on this article.

Few of the other articles which you may enjoy:

- [Interview Question - Why Do you want to work for us?](https://dev.to/skaytech/why-do-you-want-to-work-for-us-interview-question-demystified-1gh2)
- [Docker Fundamentals](https://dev.to/skaytech/docker-fundamentals-2ibi)
- [Git Hooks](https://dev.to/skaytech/what-are-git-hooks-99m)
- [JavaScript - ES6 - Destructuring](https://dev.to/skaytech/es6-understanding-destructuring-49np)
- [JavaScript - Closures](https://dev.to/skaytech/understanding-closures-1501)