You are not legally required to have a shareholders agreement, but it is a very good idea to have one. Having a shareholders agreement reduces the risk of disagreements later on and can make it easier to resolve any disputes that do occur.
Working through what to include in the agreement helps you to think through the key issues. This can be particularly important when shareholders have different objectives and circumstances. For example, if some of the shareholders work for the business while others are passive investors, how much will the active shareholders be paid? What will happen if you find you cannot agree on business strategy? And what is to happen to the shares owned by a shareholder who dies or leaves the company?