Abstract: Great automation doesn't replace humans; it enhances us. When we are choosing or building tools for our team, we want them to play like team members: keep us informed, make the easy decisions repeatably, and pass the hard decisions to the humans along with the information we need to make them.
Based on research in human-centered design, this talk enumerates principles and challenges of collaboration for programs. It lists strategies for eliminating "human error" as well as human frustration. Our tools should make us smarter, not hide knowledge from us. In aviation and medicine, this is a million-dollar investment--but when we construct our own tools, collaborative automation is within our reach.
Learning Outcomes: - People who write development tools (including for themselves) will learn how to make them work better with people.
- Developers will learn something about making software feel more collaborative to their users
- Everyone will be more frustrated with their existing tools that don't follow these principles, and motivated to look for ones that do.