From O'Reilly Fluent Conference 2014: http://fluentconf.com/fluent2014/public/schedule/detail/32723
API design should be informed by understanding what developers are looking to accomplish, their assumptions in how they would accomplish a task, their ultimate motivations, and the constraints they manage (business, technical, resource, etc). At a minimum, this requires researching developers themselves, usability testing, and usage data collection. Traditional end-user style research methods don’t directly translate to developers. I will demonstrate how to use these techniques with developers and how to use the knowledge to improve Web API design.