The ways that we usually set up “cross-functional” teams doesn’t really help us with this, but it’s crucial for each member and role in a product development team to ask these questions on a regular basis:
“How are our features doing in the production?”
“Are they meeting users’ needs?”
“How do we know that that’s the case?”
“Are they solving the problem that they were supposed to solve?”
“Is the work and effort we’re putting in delivering value or we’re just spinning our expensive wheels?”
I have a feeling that decision making in organizations in which everyone is so busy that they have no time to build relationships with other people in the company and talk about the topics that are not related to the task at hand will necessarily grind to a halt.
Because the cost of code review when pair/mob programming is almost zero (reviewer available next to a developer typing the code), the more likely it is to both get the feedback and to get it in a timely manner (as you type the code).