„Perfectionism is the enemy of profitability”
Mark Cuban, American businessman and investor
Mark Cuban certainly knows that perfectionism has helped him a lot, but unfortunately he also is aware that perfectionism is the main obstacle on the way to success. Such an approach and attitude have led him to acquisition of a basketball team, as well as becoming a co-owner of 2929 Entertainment and a chairman of AXS TV.
Perfectionism in a developer’s job
Perfectionism in a developer’s job can be invaluable as far as a solution quality is concerned, but for a developer, who is just a human, it can be a source of problems. Being detail-oriented in excess and trying to run projects flawlessly can actually result in reduced productivity and lower effectivity. As a result productivity can be crushed by the developer. Among the reasons for the state can be procrastination or, once coding begins, a lack of satisfaction from work results and finally creating new tasks simply for the sake of refactoring.
Pomodoro Technique – help is on its way
Pomodoro Techniques, which is a time management method, will help deal with the mentioned problems. The technique was developed by an Italian, Francesco Cirillo, in the late 1980s. Basically, this timeboxing and iterative technique is based on 25-minute intervals, which are called pomodoros and are separated by short breaks. The name comes from an Italian word pomodoro, which means a tomato. The inspiration was a kitchen timer, which is usually tomato-shaped.
The principle of the technique is that for 25 minutes we cut off completely from the world around us and fully focus on the task at hand. After the 25 minutes we take a 5-minute break and then the cycle repeats. After 4 such sessions it is time for a longer break, e.g. 30 minutes.
Time for reset
A programmer’s job is not just programming. Naturally, it is a major and the most important part of the job, but not the only one. A developer has to make numerous microdecisions about design, architecture, testing, and settings. Programming is mainly a conceptual and mental work so even the smallest interruption can throw us off. Sometimes it’s not only hard but it take time to get back on the horse. That’s why it’s beneficial to cut yourself off. Even if someone’s messaging or asking about something, a 25-minute wait should be tolerated.
After 25 minutes of coding there is 5-minute break during which a developer can do anything. It’s a good time to respond the question and inquiries as well. It also advisable to stretch your legs or do some physical exercises, such as push-ups, pull-ups or punch a punching bag, but it may be frowned upon by the employers.
However, a developer is only human and it’s part of the job to interact with others.
Every interruption hampers the thinking process. Naturally, some of them can be ignored only to come back to them later, but some can be critical. In such cases stop the timer and do what needs to be done. After that simply get back to work and reset the timer, start a new 25-minute interval, and put the interruption out of your mind.
Breaks that drive performance
Taking regular breaks can ‘reboot’ your mind and refresh your focus. It sheds a new perspective on the lines of the code that is being worked on and it will help deliver better quality product. The break away from writing the code shouldn’t be long and it important to return to the code immediately the break is over. Sometimes after a break it may be hard to recall the context of the code and as a result creating a self-describing and easy-to-read code may be necessary. Also, another solution could be preparing a quick partial draft code-review (or a-work-in-process) or if isn’t satisfactory a small refactor can become useful. Such steps can improve the quality of the code.
Pomodoro sessions work great with a music playlist that can be listened to in the background. Music can help the developer to cut off from the world around suppress annoying sounds and help focus on the project.
This technique will boost your productivity. The strict rules of the pomodoro technique allow to pay greater heed to the task and helps avoid mistakes due to lack of concentration. Another advantage is the improved motivation that results from completing the intervals. On top of it, breaks are crucial to the task preparation that is next on the to-do list because it provides each developer with a clear idea about their responsibility, and enhance a sense trust between developers. It increases confidence and releases tensions between the team members. Greater productivity means better task estimate as well. Work sessions based on “pomodoro” time units are a fair way of estimating the duration of a task. Relying on 25-minute time work periods also shows how much work can be done within each interval. All this brings productivity to another level.
On-line tools that might be of help
The Internet is full of apps which help implement the pomodoro technique. Some of them have got a really extended statistic module that can reveal trends, dependencies or correlations which increase productivity! I use PomoDoneApp, a simple window app with a clear interface and custom interval length. The basic version of this program is free, but you can match a pricing subscription to receive more options and integrate it with other apps.
If you prefer a different kind of app, for example web apps or a plugin for your IDE, there are some free time management plugins for Pomodoro Technique. If none of them seems suitable, you can develop a new one, because it’s really easy.
As a rule, remember that only we are able to set the limits and goals, not the tools we use.
Naturally, it is no problem to answer the phone or respond to mails in the middle of the pomodoro interval but it may throw you off your game. Finally, only enthusiasm and pertinacity make people more productive in order to achieve success.