Great post Yi.
One of my customers recently suffered from outages permeated by their automation tool, reason being the tool was purposely kept simple and easy to deploy cart blance' configurations across the network because of the lack of hooks available within the system to configure custom customer specific configuration. This can be a huge play for SDN coupled with cloud automation.

In my mind, successful adoption for SDN, and specifically Cisco ONE will heavily depend of an ecosystem of development-oriented partners (which Cisco has plenty of) creating, and sharing solutions for their customers. 3rd party development teams may not be as successful as these partners as they won't have the experience and understanding of the day to day challenges our customers experience.