Translate

Friday, February 18, 2011

365QOD-Day18

"What are baby steps?"- Stefani's words to me

"Daddy, can you teach me how to shoot a ball?"
These were the words that my daughter spoke to me when she was about three years old. 
"OK, Go get your ball. ", I said. 

While she was doing that, I went to the laundry room and brought back the round laundry basket into the living room. 

"OK honey stand in front of the basket.  Now drop the ball." 
She did and let out a giggle. 
"Now take a baby step back and throw the ball into the basket." 
She did so successfully. 
"Now take another baby step back." 
Success again. 
"And another." 
This time the ball did not go in. 
"OK step forward one step." 
She looked puzzled.  She did and this time hit it. 
"Do it again." 
She did again successfully. 
"Now you are ready to step back."
Pretty soon she was hitting the basket with the ball from across the room. 

Magical! You take a baby step and observe your progress.  If you are successful then take another step in the direction you are successful.  If at any time you do not get a successful result then back up and work on the step you were recently successful to get your confidence back up. 

Interesting idea.  If you can identify the steps required to do a job, and break those down into sub-steps, and break these sub-steps into smaller steps until you get to a level where you can execute the smallest of these steps(baby steps) successfully. 

This is an idea that many top programmers use when writing code.  I used to ask my students to first write their comments first.  Then for each comment break it down into smaller section that could be fulfilled with a few lines of code.  For example, maybe a procedure requires seven steps.  I would ask them to comment the section that describes the next seven steps.  Then provide a sub-comment for each step and then the code in each step.  Why punish them with all that commenting when they needed to write code?  Well, the person most likely to troubleshoot the code years from now is the person who wrote it.  By asking for these baby steps they would be able to understand something that they did many years ago.  If they could explain it to themselves then they can fix it later.  Most often the students/programmers just wanted to start writing code without identifying these baby steps.  It seemed like such a waste to them.  If they were honest with themselves they would recognize it as a method to assure success. 

Today's question is:
"Can you identify the baby steps for something you are working on?"

P.S.  I can not think of a good reference.  If you can, please comment and I will add it.  THANKS

No comments:

Post a Comment