Today I want to tell (and discuss) with you one very useful skill in planning - the ability to truly divide things into components.
If you use todo-list, diary or any other tool for scheduling free tasks for daily planning, then I think you will be interested in reading the contents.
So, when we use to-do lists for today, we often pursue two goals:
')
- things are always before your eyes, you can quickly and easily run over them
- The name of the case is exactly the essence of what needs to be done.
That's exactly the second point, we will analyze in more detail.
There are several unwritten rules on how to call things - the name should be short, but it should clearly reflect the essence of the matter.
Yes, that's right, this rule is very useful. But not everyone understands to the end what it means.
Take a simple example: you are developing a website, there is still a lot of work to do, and today you wanted to make a whole user model and authorization / registration mechanism.
The easiest thing to do is to create a “site work” for today.
This is absolutely impossible to do.
Let's take a look at the steps, what will happen in our heads if we leave this business as it is:
1. You read the case in the todo list
2. Your brain unwittingly thought: “what did I want to do?”
3. remembered (or did not remember) all the cases and set to work
4. made a user model, returned to point 1
Do not you think that for such a simple action how to remember what to do, too many points turned out?
The most insidious here is the second point - because if you give your brain the freedom to work, then it will definitely go to distract / dream and dream. At this stage, there is a great chance that you will be distracted from work by reading rss or mail.
And now let's try to break the meaningless task "work on the site" into smaller ones.
There is no need to think here, we will have:
1. consider the user model (note: DB fields, validations)
2. create a model
3. cover with tests
4. create registration
5. impose registration templates
6. create authorization
7. impose authorization patterns
8. functional tests for registration and authorization controllers
Yes, there are a lot more tasks, but at the same time, the algorithm for working with them will now be as simple as possible:
1. Read the assignment
2. Run the task
Optimization is obvious! And most importantly - we cleared our brain of unnecessary information, because we no longer have to remember what exactly we need to do on the site, it is now the responsibility of the machine.
Well, as an element of motivation - to mark the 8 tasks completed is much more pleasant than one, but a great one.
I understand that for many I have not discovered America, but even to such a simple thing as splitting assignments, I sometimes have to figure it out myself, although I read about it many times. The increase in performance from such a technique is simply huge, I am not exaggerating.