It is actually a benefit to choose someone in-house. He or she already knows the company. The business analyst will know the strong attributes as well as weaknesses of the company. Choosing someone from inside the organization means he or she will know the people involved. Camaraderie may already exist. This can make the gathering of information easier. The more easy it is to collect needed data and information, the more quickly a project scope can be developed.
The best business analyst will be able to speak the language of which ever department he or she needs to interact with. He or she will not get caught sidetracked with mundane tasks and mute points. The business analyst will know what information is needed and get it. They will keep the big picture in mind. They will motivate others to stay on task. A good business analyst will allow someone the freedom of creativity. Obviously what was being done did not work. A new approach is needed and the qualified business analyst will see this.
Someone who can develop a repoire with the departments to meet expectations is the perfect candidate for business analyst. This person will act as a liaison between management and development teams. He or she should be able to speak with authority while still maintaining a level of respect. The perfect business analyst will be able to foresee problems which may arise between teams and squelch them before they start.
A liaison between involved departments, a leader during meetings, a project developer, and a numbers cruncher are all beneficial attributes of a good business analyst. Find someone capable of doing all these things and you have found a great asset.