Is test-driven development difficult?

I recently read a post where the writer said automated testing, test-driven development, continuous integration, trunk-based development, etc, are difficult.

I'm familiar with them and have been using them for some time, but I think trunk-based development is easier as there's only a single branch instead of many.

Continuous integration is pulling everyone else's code at least once daily and pushing yours to ensure it doesn't conflict.

Test-driven development is writing failing tests before any implementation code and refactoring once it passes.

I don't think these are technically difficult, but they do require an open mind, a willingness to learn, evaluate and consider alternative approaches and, in some cases, change existing behaviour.

Change can be the difficult part, not which brand you commit to, how often you push your code or when you write your tests.