A generic survey might not be very helpful in the initial discovery phase as you try to understand the current state of affairs and figure out how to build a product around that.
I would say start with understanding the current workflow and identify the main points of friction (long wait times, devs needing to learn things not useful to their main jobs, onboarding issues vs ongoing engineering issues).
I would expect multiple teams involved in the entire workflow.
So speak to folks “providing” the service and also to folks “using” the service so you have perspective from both sides. If there is no specific “provider”, then identify the tools they use (github, jenkins, whatever), and how they interact with the tools. The IDP’s job will then become the bridge between the tool and the developer.
What I am getting at with this long winded answer is that you will need focused 1-1 conversations about different areas with different teams.
So something like this I guess..
1. Meet with the dev leadership to identify pain points. Keep in mind that these teams might not know that these are bottlenecks (they’re just used to it, or devs enjoy digging and following a rabbit hole that’s not relevant to their task thus affecting efficiency! ) If that’s the case, ask them what the main “jobs” the teams do are, how they do these job. So if a team’s main job is to build new features - understand what their workflows are, which different teams and tools they interact with, how much time it takes for each of these things, what their support model looks like, what kind of support questions do they get (the support questions can give great insights on things that can be improved by the IDP!)
2. Meet with leadership of multiple teams and try to find common patterns
3. Meet with people/teams that the devs “touch” during their workflow. Understand the interaction from their end.
4. From the above meetings, you will be able to distill the biggest problems and can build a prototype, or even just a sample UI to show the devs (now we move from leadership to devs) and get their feedback.
Thanks for asking this question 🙂 Helped me organize my thoughts about this