> ## Documentation Index
> Fetch the complete documentation index at: https://aspect.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Incubate Net Promoters

> Incubate net promoters during a Bazel rollout by shaping first impressions, polishing CI error messages, and giving early users a positive experience.

Software is written by humans, so human psychology matters.
Humans are tribal, drawn to cosmetics, and jump to conclusions with their ["system one"](https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow) mind.

The initial reaction to Bazel will form a first impression that’s hard to correct later.
People will feel their tribe is offended: "that might work in language X, but us Y developers would never do it that way".
They'll mistake something cosmetic for something inherent: "the way the errors get presented in CI don't make any sense".
They'll infer that one slow step means the whole thing is slower.

Even uninformed opinions can matter a lot.
Early influential users will spread these around the engineering culture, causing people who had no strong opinion to become entrenched, making your later job either easier or harder.

For example, when rolling out a new invariant as a CI check, make the "how to fix" instruction obvious.
If the person feels that the check caught a real issue that was trivial to get past, they'll feel it was an enjoyable experience.
If they think you're throwing a roadblock in their way, they'll resent it.

<Note>
  The only way to tell if you have succeeded is to measure.
  Aspect recommends running a Developer Satisfaction survey periodically, especially as "bookends" before and after some migration project.
  You could sign up with [https://getdx.com](https://getdx.com) (recently acquired by Atlassian) and get a free survey if you mention Aspect!
</Note>
