Use cases by their very nature force separation of needs into silos. Design thinking forces you to take a holistic view at things, and take into consideration unspoken needs, branding, look and feel, information flow, usability, user delight, accessibility, and so on.
Have you visited the site of a bank, retailer, phone operator, and so on, and felt confused by how you’ll go about doing whatever it is you wish to do? Basing the system on use cases alone may lead to complexity and overwhelm the user.
Design it, then identify the use cases. In fact, it is extremely risky to estimate software development effort otherwise. It shows that you haven’t thought deeply enough about user needs and will face volatile requirements during software development.
If your business subcontracts software development, ensure that the contractor will iteratively design the solution, and validate it with potential users based on mockups or storyboards.