That's a Brooks ESF though, which very much does have a pretty slim fit. It's just too large a size.
Cheuk, first you need to figure out your neck size. If you're really a 15.5" neck, a 16" shirt, no matter how slim, isn't going to fit right. Once you know your neck size, try on different brands and sizes to find a fit in the shoulders and body. Maybe try on some brooks brothers shirts with a 15.5" neck in their regular or slim fits rather than the extra slim. Maybe try something else entirely, like Tyrwhitt. But start with figuring out your actual neck size.