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, A._ 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.- La demanderesse interjette un recours en réforme au Tribunal fédéral. Invoquant une violation des art. 8 CC et 164 ss CO, elle conclut à l'annulation de l'arrêt attaqué et à la condamnation de sa partie adverse à lui verser la somme de 18 000 fr. avec intérêts à 5% dès le 28 mai 1999. Par le même acte, la demanderesse a formé un recours de droit public, qui a été examiné en premier lieu (art. 57 al. 5 OJ) et rejeté par arrêt séparé de ce jour. L'intimée conclut au rejet du recours en réforme et à la confirmation de l'arrêt attaqué.