I didn't sure how effective it is, but I did try it for one month, which is studying struts framework in just 30 days. Sound like mission impossible to me. Anyhow, the conclusion was failed because I don't have much time allocate into it.
One thing I am pretty sure is by having an objective set to myself with a duration of one year. I had been doing this for about 4-5 years. Every company I joined must have an objective set into it, and I will reviewing it once a year to see whether my objective has been achieve? Or need to stay for another year in order to get the objective done? Once I found my career has stagnate and not moving, first I will talk to my superior on my career path. If the situation couldn't improve, then only I will decide to move on. What if the objective can be achieve by reassigning me a new task? Definitely I will stay, for another year, and then review it again.
I always remember this: I am not working for you nor your company, I am working for my objective.
As of 2011, I had made my first move into JAVA stack. I only left 20 years for me to code. I am running out of time now. I can not wait for another 10 years to get myself certified as a J2EE developer, I need to have a 30 days plan. Plan it short so that I can achieve my objective earlier.