A colleague who works outside the software industry asked me whether retrospectives would be good for his team and whether other Agile practices will work for them too.

Holding regular and frequent retrospectives (as well as a retrospective at the project's end) will help any project team reach its full potential. Even if your project doesn't follow an iterative life cycle, bring the team together for a retrospective at the project milestones (or monthly). Take a short "time out" for team members to recognize and consolidate what they've learned so far, and include those lessons learned in the next increment of work. Voila! Continuous improvement.

As for Agile practices outside of software development projects, what project team wouldn't benefit from staying in close communication with its customer, getting frequent feedback on progress and assumptions, daily check-in meetings to stay in synch, and so forth? It's a matter of finding the fit.