What does the segwit upgrade path look like? I've been wondering what the upgrade path for the ecosystem would look like to increase the number of segregated witness transactions. What should wallets do and what should exchanges do and in what order? When do you change to displaying bech32 addresses as a merchant? When do you start being able to send bitcoin to bech32 addresses? It seems like a chicken and egg problem but presume that's because I don't adequately understand the upgrade path.
Wallets and merchants should first upgrade to support receiving and spending from segwit outputs. The software should be capable of recognizing segwit outputs that belong to its wallet and be able to spend from them.

Then wallets and merchants should then upgrade to giving out P2SH nested segwit addresses as those do not require users to have upgraded to new wallet versions. Wallets and merchants should also provide an option to give out bech32 addresses if the user wants to use those but also warns them that not all wallets will be able to send to those addresses.

Over time, as more wallets support bech32, wallets and merchants should transition to give out bech32 addresses by default. The timeframe of when to do this is unknown as it is hard to know when all wallets support bech32.