!SLIDE center full-page
#Fork of Dave Hoover’s talk from SDC Chi 2011
- Struggle for discipline
- Least resistance => fragile code
- Positive peer pressure
#A Heedful Programmer…
- Sees actions from team’s POV
- Communicates openly, deliberately
- Constantly refines actions based on feedback
- Karl Weick
- Aircraft carriers
- High complexity, high reliability
- Collective mind
- Connections between your team
- Handle unexpected problems
#How do we become more heedful?
- Don’t silo
- Some problems need MULTIPLE experts
- Pair frequently, collaborative code ownership
- Shared responsibility for being aware
#Heads up, Blinders off
- Bring in newcomers that will question process
- Welcome new ideas, don’t dismiss as “that’s the way we’ve always done it”
- Be mindful about what you are doing
- Hold retrospective and take action
#Pain Driven Development
- If it hurts, do it more
- Force yourself to get better
- Or at least make it obvious that the process is out of whack
#Have a pow-wow
- Shift from documentation to stories
- Talk about a feature as a group
- Bust out the white board
- Rely on each other to fill in details that cue retrieval
- Safe environment for questions/presenting
- Accepting of ideas from everyone
- Encourage community involvement
- People aren’t resources
- Removing people from social interaction removes them from collective mind
#Use process to build trust
- Use trust to remove processes that suck
- Independence => Expertise => Independence
- Constantly refining and retrospecting to find emerging patterns
#Are you habitual or heedful?
next_week = clone(this_week)
next_week = retrospective(this_week)
- Adaption: is your process changing? stagnant?
- Noobs: how do we onboard and socialize with newcomers?
- Narratives: what are your team rituals, why?
- Cooperation: do we have shared knowledge? bus number?
- Trust: once we have it, what can we stop doing?