Regardless if you actually announce a timetable or you just keep it mum, it is pretty obvious withdrawal is coming when you see over a period of months over 150K troops withdrawing. People who think announcing a timetable is ludicrous need to realize we will be telegraphing an advanced withdrawal regardless. We cannot just say secretly that overnight we are pulling out 150K troops. It will be obvious. The Iraqi government will be informed and it will be leaked. We have to give some sort of timetable whether public or private to basically give the Iraqis some sort of motivation to take control themselves.
It's like welfare. If the recipient knows the giver has no plans to stop payments, they will keep riding the system and getting aid as long as they can. The Iraqi government knows as long as there is an insurgency, the US will keep sinking money into Iraq to boost equipment, etc. The longer they allow the insurgency to continue, the more they gain financially and materiel-wise. Even if it is only to Al Maliki, give him a timetable and say you have until X date to step up or your country and your newfound power implodes. For the sake of his nation and his own padded pockets and new power, he will be forced to do something.