Some thoughts.
(We are a fund that itself is going towards being a listed investment fund, and we invest in startup (e.g up to a few million revenue) many of which could themselves IPO.)

1: Consider whether your company is big enough to attract a decent number of investors and achieve liquidity, let alone analyst coverage. At least $100m valuation, but preferably a lot more. It all goes back to revenue.

2: Make sure you have enough investors with enough shares each to meet market minimums. If not then you need to do a pre-IPO round.

3: Consider the forecast-ability of your financial results - the best outcomes (long term growth without plunges in share price) are for companies with predictable growing revenue.

4: Consider attractiveness to banks - ideally try to get a fully underwritten offer from a top tier bank (or syndicate), and you would pay well for that, as the article shows. Alternatively consider finding your own series of investors which means meeting with countless investors well before you list and understanding what they need etc. Someone needs to buy those shares after you list.

5: Consider your current customers and overall reach in the investor population. Are you able to use them to attract/excite new investors? e.g. Xero is accounting software, and many of their early investors were accountants who understood how dramatic the change would be that it was bringing to their profession and their clients.

6: Consider whether your company has the ability to raise a very large amount of money at very high valuations on public markets due to the frothy prices. A hungry 3rd tier bank can help you go get a bunch of cash (making sure they get paid well) and while the share price will almost certainly fall, just make sure that the cash is spent slowly and wisely until you grow into your value.

a: Transparency: This is not as hard as it's made out to be, but you do need people whose job it is to provide the external information, both from a compliance and from PR/Investor Relations perspectives. You need to get your forecasts right - and that's hard, do roadshows (and you need a merchant bank to help), get analyst coverage and so on. Often it's the CEO who has to do this, but the Board will also be under a lot more scrutiny.

b: Unfriendly VCs: There are VCs and VCs - look for nice ones - e.g. a large family office with a very long term perspective on investing, or for VCs that have an aligned perspective. If your company is any good then create and auction and dictate terms. If your company is outrageously good then the IPO is easier, and if your company is lousy but attractive (cool) to the stock market then you might be able to get an IPO away, albeit with a bank's help and cut. Good = EBITDA, revenue and growth - the larger the better for all.

Public stock markets are often really uninformed about the strength of smaller tech investments (in particular), and in this sector value is highly volatile. You can take advantage (as mentioned above) of frothy valuations. On the other hand if (when) the stock price falls then following rounds will be dilutive, assuming you can find investors. Also when the price falls the entire company gets demotivated, while if the price is frothy then it's hard to provide share-based incentives.

c: Secondaries: Line up new investors before unleashing the internal sellers. Escrow periods help show the market that the shares won't be immediately dumped. Meanwhile you do have timing issues where insiders are only allowed to sell at certain times.

d: Capital Raising: sure the terms might be better but there are plenty of strings that the market/regulator puts in place. Arguably harder, but gets better with size.

e: F&F: Do the numbers to see how much money these folks actually have. They might not move the needle much.

f: Trust is easily destroyed too - you can't put a foot wrong on forecasts, announcements and so on. And when things go bad they go really bad.

Market updates are a weapon for and against you. Engage a IR firm to help.

Overall: Only IPO if the money is cheap (i.e. valuations and amounts raised versus the extra costs) or you are huge and need to provide liquidity to investors.