[I'm assuming this describes the role of the XP Analyst and not the Analyst Role in general. I say this because, for example, on most projects, there are many more StakeHolders than just the following three. There could be QA, Marketing, ProjectManagers, CD Manufacturers, those responsible for Licensing Agreements, Technical Publications, and so on.]
TheAnalystIsTheGateKeeper between the ProjectStakeholders and the development team.
ProjectStakeholder refers to the GoldOwner, the GoalDonor, and the Developers themselves.
What is the "Gate"?
The "Gate" is the conceptual barrier that protects the development team from having to make business decisions by only allowing through a single stakeholder voice.
The role of the gatekeeper is to unify, resolve, massage, hammer, and otherwise do what it takes to transform the interests of multiple stakeholder groups into something that becomes a single stakeholder voice.
Implications:
Analysis is the activity of unifying, resolving, massaging, and hammering multiple interests into a unified voice. This suggests that the role may be more accurately described as negotiator or arbitrator, though not an arbiter.
Alternative viewpoints:
The "Gate" is the barrier between the customer world and the development world. The gatekeeper is a translator or facilitator.
The analyst is searching for the elegant solution that will make all parties happy.
Aren't the developers supposed to be doing this?
Situations:
How can a product manager or marketing representative become an effective pseudo-customer without doing analysis?
Previous Discussion
In XP I think the customer should act as the customer. If there is no customer (e.g. product company) then you need a nominated pseudo-customer (e.g. product manager, marketing). Mediating between the different customer requirements is not the analyst's role. What you need is an 'Uber Customer' or a voting system
Often a customer will find it hard to present their requirements in a form comprehendable to the developers and the developers will find it hard to ask questions in a form comprehendible to the customer. In these cases a Business Analyst can perform a valuable facilitation role.
When I was first taught systems analysis it was all about calculating seek times on disks and suchlike. I'm not sure what they are meant to do. Business Analysts are supposed to learn about the system that requires a solution. There may well be a need for a TechnicalPersonWithBusinessKnowledge? or perhaps a BusinessPersonWithTechnicalKnowledge? to facilitate understanding between the team and the customer. --TomAyerst
If the idea of Analyst as Gatekeeper is going to be developed, then I would like to see the metaphor fleshed out in full detail. What is the gate? What things can go through it? What things should, and what things should not go through? How does the gatekeeper operate the gate? What is the meaning to the rest of the project when the gatekeeper is functioning correctly, or not functioning correctly? How can correction be made when something that shouldn't pass the gate does? Does any of this metaphor make sense, or is there a better term than gatekeeper? Thanks, -- WaldenMathews
How about aide or advisor?
Customers don't always know how to express what they need, or how to make the whole system hang together. To provide this necessary ingredient, teams sometimes place business analysts or product managers between customer and programmers. Business analysts should work as aides to the customer, not as an interface between customer and programmer. This keeps rapid accurate feedback in place while providing coherence and consistency to the product.
From http://www.xprogramming.com/xpmag/BizAnalysis.htm. --RonJeffries
A BusinessSystemsAnalyst may also balance the forces and desires of other parties with an interest in the corporation, such as shareholders, vendors, and employees
See also WhatIsAnalysis