A.- A._, D._ et C._ sont copropriétaires d'un immeuble , à Genève. Ils forment entre eux une société simple, appelée le consortium constructeur Z._, en vue d'une opération immobilière.
Ils ont mandaté en qualité d'architecte chargé de la direction des travaux la société Y._ S.A., dont l'administrateur est B._, père de A._.
Le 23 mars 1998, le consortium, représenté par Y._ S.A., a conclu un contrat d'entreprise générale avec la société W._ S.A. (ci-après: l'entreprise générale).
L'entreprise générale a sous-traité des travaux de démolition à la société X._ S.A. (ci-après: le sous-traitant).
Les travaux de démolition sous-traités ont été exécutés de juin à août 1998.
Par lettre du 25 février 1999, l'entreprise générale a informé Y._ S.A. qu'elle avait cédé le solde de sa facture de 26 000 fr. au sous-traitant; Y._ S.A.
devait dès lors régler ce montant directement auprès du sous-traitant.
Le lendemain, soit le 26 février 1999, B._ et C._ ont payé au sous-traitant, à titre d'acompte, la somme de 8000 fr. en espèces.
Le solde de la facture, soit 18 000 fr., est resté impayé.
B.- Le 20 juillet 2000, le sous-traitant a déposé devant les tribunaux genevois une demande en paiement dirigée contre Y._ S.A., lui réclamant la somme de 18 000 fr.
avec intérêts à 5% l'an dès le 25 février 1999.
Au stade de la procédure de première instance, Y._ S.A., qui n'avait pas mandaté d'avocat, s'est opposée à la demande en se bornant à observer qu'elle n'était pas en rapport avec le sous-traitant.
Par jugement du 8 mars 2001, le Tribunal de première instance du canton de Genève a condamné Y._ S.A. à payer à X._ S.A. la somme de 18 000 fr. avec intérêts à 5% l'an dès le 28 mai 1999.
Y._ S.A., représentée désormais par un avocat, a fait appel de ce jugement et a produit des pièces.
Statuant par arrêt du 16 novembre 2001, la Chambre civile de la Cour de justice a annulé le jugement attaqué et débouté le sous-traitant de toutes ses conclusions. Elle a constaté que le sous-traitant n'avait pas établi l'existence d'une cession de créance en sa faveur revêtant la forme écrite et, par ailleurs, que la créance invoquée résultait du contrat d'entreprise générale, auquel Y._ S.A. n'était pas partie, puisque cette société n'apparaissait qu'en qualité de représentante directe des copropriétaires, formant entre eux une société simple.
C.- X._ S.A. a déposé un recours de droit public au Tribunal fédéral. Par le même acte, elle interjette également un recours en réforme. Dans son recours de droit public, elle conclut à l'annulation de la décision attaquée.
Y._ S.A. conclut au rejet de ce recours et à la confirmation de l'arrêt attaqué.

Considérant en droit :
1.- a) Une partie recourante peut interjeter par un seul acte à la fois un recours de droit public et un recours en réforme, à la condition que les griefs relevant de l'un et de l'autre soient clairement distingués, comme c'est le cas en l'espèce (<ref-ruling>).
Lorsque les deux recours sont interjetés simultanément, le recours de droit public doit en principe être examiné en premier lieu (art. 57 al. 5 OJ).
b) Le recours de droit public au Tribunal fédéral est ouvert contre une décision cantonale pour violation des droits constitutionnels des citoyens (art. 84 al. 1 let. a OJ).
La décision attaquée, qui est finale, n'est susceptible d'aucun autre moyen de droit sur le plan fédéral ou cantonal dans la mesure où la recourante invoque la violation directe d'un droit de rang constitutionnel, de sorte que la règle de la subsidiarité du recours de droit public est respectée (art. 84 al. 2 et 86 al. 1 OJ). En revanche, si la recourante soulevait, dans son recours de droit public, une question relevant de l'application du droit fédéral, le grief ne serait pas recevable, parce qu'il pouvait faire l'objet d'un recours en réforme (art. 43 al. 1 et 84 al. 2 OJ).
La recourante est personnellement touchée par la décision attaquée, qui rejette sa demande en paiement, de sorte qu'elle a un intérêt personnel, actuel et juridiquement protégé à ce que cette décision n'ait pas été prise en violation de ses droits constitutionnels; en conséquence, elle a qualité pour recourir (art. 88 OJ).
Interjeté en temps utile (art. 89 al. 1 OJ), dans la forme prévue par la loi (art. 90 al. 1 OJ), le recours est en principe recevable.
Hormis certaines exceptions - qui ne sont pas réalisées en l'espèce -, le recours de droit public ne peut tendre qu'à l'annulation de la décision attaquée (<ref-ruling> consid. 2c; <ref-ruling> consid. 1b; <ref-ruling> consid. 1c).
Toute autre conclusion est irrecevable.
c) Saisi d'un recours de droit public, le Tribunal fédéral n'examine que les griefs d'ordre constitutionnel invoqués et suffisamment motivés dans l'acte de recours (<ref-ruling> consid. 3c; <ref-ruling> consid. 1c; <ref-ruling> con-sid. 1c, 534 consid. 1b; <ref-ruling> consid. 1b p. 495).
2.- a) En l'espèce, la recourante se plaint tout d'abord de la violation de règles cantonales de procédure, en particulier de l'art. 312 de la loi genevoise de procédure civile.
Tel qu'il est formulé, ce grief est irrecevable. En effet, le recours de droit public ne permet pas d'invoquer une simple violation des règles cantonales de procédure (cf.
art. 84 al. 1 et 85 OJ).
b) La recourante allègue ensuite une violation de son droit d'être entendue, garanti par l'art. 29 al. 2 Cst.
La jurisprudence a déduit de cette garantie constitutionnelle, en particulier, le droit pour le justiciable de s'expliquer avant qu'une décision ne soit prise à son détriment, celui de fournir des preuves quant aux faits de nature à influer sur le sort de la décision, celui d'avoir accès au dossier, celui de participer à l'administration des preuves, d'en prendre connaissance et de se déterminer à leur propos (<ref-ruling> consid. 2a/aa p. 16; <ref-ruling> consid. 3a, 241 consid. 2). La jurisprudence a également déduit du droit d'être entendu l'obligation pour l'autorité de motiver sa décision, afin que l'administré puisse la comprendre, l'attaquer utilement s'il y a lieu et que l'autorité de recours puisse exercer son contrôle (<ref-ruling> consid. 2b; <ref-ruling> consid. 2c; <ref-ruling> consid. 2a). Il y a également violation du droit d'être entendu si l'autorité ne satisfait pas à son devoir minimum d'examiner et traiter les questions pertinentes (<ref-ruling> consid. 2b; <ref-ruling> consid. 2a; <ref-ruling> consid. 2c p. 15).
En l'espèce, on ne voit pas que la recourante ait été empêchée de s'exprimer sur les faits pertinents et d'apporter ses preuves, ainsi que de prendre position sur les allégués et preuves de sa partie adverse; l'arrêt cantonal permet de discerner quels sont les motifs qui ont guidé la décision des juges et les arguments pertinents ont été examinés.
Le droit d'être entendu de la recourante n'a donc pas été violé et ce grief est dépourvu de tout fondement. Savoir si la partie adverse a procédé correctement selon les règles de la procédure cantonale est une question sans rapport avec le droit d'être entendu de la recourante, dès lors que celle-ci a pu s'exprimer sur la manière de procéder, les allégués et les preuves de sa partie adverse.
c) La recourante invoque enfin l'interdiction de l'arbitraire, garantie par l'art. 9 Cst.
Selon la jurisprudence, l'arbitraire ne résulte pas du seul fait qu'une autre solution pourrait entrer en considération ou même qu'elle serait préférable; le Tribunal fédéral ne s'écarte de la décision attaquée que lorsque celle-ci est manifestement insoutenable, qu'elle se trouve en contradiction claire avec la situation de fait, qu'elle viole gravement une norme ou un principe juridique indiscuté, ou encore lorsqu'elle heurte de manière choquante le sentiment de la justice et de l'équité; pour qu'une décision soit annulée pour cause d'arbitraire, il ne suffit pas que la motivation formulée soit insoutenable, il faut encore que la décision apparaisse arbitraire dans son résultat (<ref-ruling> con-sid. 2b; <ref-ruling> consid. 3a; <ref-ruling> consid. 2a; <ref-ruling> consid. 5 p. 250; <ref-ruling> consid. 2b; <ref-ruling> consid. 3a).
Lorsque la recourante invoque l'arbitraire dans l'application du droit cantonal, elle doit citer la disposition qui aurait été violée et expliquer en quoi consiste l'arbitraire (<ref-ruling> consid. 2a p. 3).
aa) Sous ce grief, la recourante n'invoque aucune disposition cantonale de procédure, de sorte que l'on pourrait considérer que ce grief est insuffisamment motivé (art. 90 al. 1 let. b OJ; ATF 110 I a 1 consid. 2a p. 3).
On peut déduire de l'ensemble de son écriture qu'elle se plaint d'une violation de l'art. 312 de la loi genevoise de procédure civile, qui régit les conclusions nouvelles en appel.
Il résulte cependant clairement du dossier que l'intimée, en première instance déjà, avait demandé que la prétention soit rejetée. Même si la formulation était différente, elle n'a pas pris d'autres conclusions en appel. Elle a constamment demandé que l'action soit rejetée, sans prendre aucune conclusion à l'encontre de la recourante. Contrairement à ce que semble penser celle-ci, savoir si la demanderesse est titulaire de la créance qu'elle invoque et si sa partie adverse est bien sa débitrice sont des questions de droit de fond, et non pas de procédure ou de recevabilité (<ref-ruling> consid. 1a p. 64; <ref-ruling> consid. 1a).
Il n'y a donc pas eu de conclusions nouvelles, de sorte que la disposition invoquée par la recourante n'était pas applicable et n'a donc pas été violée.
Certes, l'intimée, désormais représentée par un avocat, a présenté une argumentation juridique plus élaborée en instance d'appel. La recourante n'a cependant cité aucune disposition cantonale qui interdirait de présenter une argumentation juridique nouvelle au stade de l'appel. Le contraire résulte d'ailleurs de la doctrine et de la jurisprudence cantonale (Bertossa/Gaillard/Guyet/Schmidt, Commentaire de la loi de procédure civile genevoise, n. 7 ad art. 312 et les arrêts cités; sur le plan fédéral, cf. <ref-ruling> consid. 3b/aa p. 133). Sous cet angle également, on ne voit pas que l'arrêt attaqué ait violé arbitrairement la procédure cantonale.
bb) La recourante se plaint aussi de ce que la cour cantonale se serait fondée sur des pièces produites pour la première fois en appel.
Elle ne peut cependant citer aucune disposition de procédure cantonale qui interdise de produire de nouvelles pièces en appel, lorsqu'elles auraient pu être produites en première instance déjà. La jurisprudence et la doctrine cantonale admettent expressément cette possibilité lorsque - comme c'est le cas en l'espèce - il s'agit d'un appel ordinaire (Bertossa/Gaillard/Guyet/Schmidt, op. cit. , n. 9 ad art. 312 et les arrêts cités). Ainsi, il n'apparaît pas que la cour cantonale, en acceptant la production de pièces nouvelles en appel, ait violé les règles de procédure applicables, de sorte que le grief d'arbitraire est infondé.
L'argumentation présentée par la recourante est totalement impropre à démontrer qu'il était arbitraire de croire à la véracité des pièces produites. Elle n'évoque aucun élément qui puisse susciter le moindre doute à cet égard.
Il reste à se demander si la cour cantonale s'est fondée sur des allégués nouveaux, qui sont en principe prohibés (Bertossa/Gaillard/Guyet/Schmidt, op. cit. , n. 8 ad art. 312 et les références), et si elle est ainsi tombée dans l'arbitraire.
Dès la procédure de première instance, l'intimée avait contesté l'existence d'une "relation" entre les parties (procès-verbal de comparution personnelle du 18 décembre 2000 p. 2). La recourante, en tant que partie demanderesse, savait donc d'emblée qu'elle devait prouver (<ref-law>) les faits permettant de constater qu'elle avait la qualité de créancière et que l'intimée était bien sa débitrice. Dans sa demande déjà, la recourante avait allégué qu'elle agissait en qualité de cessionnaire des droits de l'entreprise générale (ch. 8). Comme il apparaît d'emblée évident que la cession alléguée n'a pu être conclue qu'en Suisse entre des personnes domiciliées en Suisse, elle était soumise à l'exigence de la forme écrite posée par l'<ref-law>. Dès lors que sa qualité de créancière était contestée, il incombait à la recourante de prouver l'existence de l'acte de cession en sa faveur. En constatant que la recourante n'avait ni allégué l'existence de ce document ni ne l'avait produit, la cour cantonale en a déduit sans arbitraire que celui-ci n'existait pas. Pour trancher cette question, elle s'est fondée sur les lacunes de la recourante, et non pas sur des allégués ou des moyens de preuve nouveaux.
La cession de créance supposait l'existence du contrat d'entreprise générale d'où était issue la créance cédée.
Cela ressort déjà de la demande présentée par la recourante (ch. 8). En produisant ce contrat, l'intimée n'a pas allégué un fait nouveau; elle s'est limitée à user de son droit d'apporter la contre-preuve, qui lui est d'ailleurs garanti par l'<ref-law> (cf. <ref-ruling> consid. 4a et les arrêts cités).
La lecture de ce document suffit à démontrer qu'il n'a pas la teneur que la recourante lui prêtait, en ce sens qu'il fait apparaître l'intimée comme une représentante, et non pas comme la cocontractante. En le constatant, la cour cantonale s'est fondée sur une pièce nouvelle, mais non pas sur un allégué nouveau. C'est la demanderesse, qui, pour fonder sa demande, avait allégué qu'elle était cessionnaire d'une créance issue d'un contrat d'entreprise générale; l'intimée avait d'emblée contesté l'existence d'un rapport juridique entre les parties; en produisant des pièces nouvelles - comme le permet le droit cantonal - elle a apporté la contre-preuve des allégués de la demanderesse, sans que cela ne requiert, à strictement parler, qu'elle allègue d'autres faits.
Ainsi, il n'apparaît pas que les règles de procédure cantonale aient été violées arbitrairement.
3.- Les frais et dépens doivent être mis à la charge de la recourante qui succombe (art. 156 al. 1 et 159 al. 1 OJ).

Par ces motifs,
le Tribunal fédéral :
1. Rejette le recours;
2. Met un émolument judiciaire de 2000 fr. à la charge de la recourante;
3. Dit que la recourante versera à l'intimée une indemnité de 2500 fr. à titre de dépens;
4. Communique le présent arrêt en copie aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
_
Lausanne, le 30 mai 2002 ECH
Au nom de la Ie Cour civile
du TRIBUNAL FEDERAL SUISSE:
Le Président,
Le Greffier,