It is impossible to grow your business if you are not surrounded by people who you trust. Particularly, you need to trust people to do what they say they are going to do.
Software developers often erode trust by not meeting deadlines, not delivering what they say they are going to do, and not being where they say they are going to be. They also lose trust by not answering their phone, not being responsive, and by not communicating clearly when issues are being worked on and resolved.
These problems can be resolved by breaking up very large projects into several smaller ones. Instead of delivering something major in six months, we should deliver ten to twelve small projects every couple of weeks for six months. At the end of six months, we'll still have the same amount deployed, but we will gain some benefits:
1) We will increase trust through constant delivery.
2) We will be more accurate with deadlines, because small things are easier to predict than very large things.
3) We will gamble less with company resources, because if we fail, we will fail on a smaller two week project, and not a large six-month project.
4) Constant delivery creates a culture of constant communication, which also builds trust.
Business people also need to earn trust. They need to speak clearly, answer questions quickly, respond to emails and voicemails, and generally be equally communicative. In addition, they need to set clear expectations, and take responsibility when changing requirements delays shipping. Ideally, they would promise not to change requirements for two weeks, in order to facilitate a frequent shipping cycle.
If trust builds, great things can happen, and the business can grow and be more profitable than ever before. Everyone can use software as a competitive advantage, but only if these two sets of people have complete trust in each other.