Sachverhalt:
A.
A._ meldete sich im November 2013 bei der Invalidenversicherung zum Bezug von Leistungen (berufliche Integration/Rente) an. Nach Abklärung der gesundheitlichen und erwerblichen Verhältnisse (u.a. Gutachten Dr. med. B._, Facharzt FMH für Psychiatrie und Psychotherapie, vom 11. Januar 2016) und nach durchgeführtem Vorbescheidverfahren verneinte die IV-Stelle des Kantons Zürich mit Verfügung vom 22. August 2016 mangels eines invalidisierenden Gesundheitsschadens den Anspruch auf IV-Leistungen, insbesondere eine Rente.
B.
Dagegen erhob A._ Beschwerde, welche das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 28. September 2017 guthiess, indem es die Verfügung vom 22. August 2016 aufhob und feststellte, dass ab 1. Mai 2014 Anspruch auf eine Viertelsrente bestehe.
C.
Die IV-Stelle des Kantons Zürich führt Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Rechtsbegehren, der Entscheid vom 28. September 2017 sei aufzuheben und die Verfügung vom 22. August 2016 zu bestätigen.
A._ beantragt, die Beschwerde sei abzuweisen, eventualiter die Sache an das kantonale Sozialversicherungsgericht zurückzuweisen zur Urteilsbegründung in Anwendung des strukturierten Beweisverfahrens. Das Bundesamt für Sozialversicherungen verzichtet auf eine Vernehmlassung.

Erwägungen:
1.
Der angefochtene Entscheid spricht der Beschwerdegegnerin ab 1. Mai 2014 (frühest möglicher Rentenbeginn: Art. 29 Abs. 1 und 3 IVG) eine Viertelsrente der Invalidenversicherung zu (<ref-law>), was die Beschwerde führende IV-Stelle als bundesrechtswidrig rügt (<ref-law>).
2.
Die Vorinstanz hat durch Einkommensvergleich (<ref-law> i.V.m. <ref-law>) einen Invaliditätsgrad von 41 % ermittelt. Zu diesem Ergebnis ist sie wie folgt gelangt: Gemäss dem Gutachten des Dr. med. B._ vom 11. Januar 2016 seien eine gemischte Persönlichkeitsstörung mit ängstlich-abhängigen Zügen (ICD-10 F62) sowie eine chronische, teilremittierte, aktuell noch leichtgradige Depression seit 2012 bei vorbestehender Dysthymie und bisher drei Episoden (ICD-10 F33.0) gegeben. Aufgrund der Einschätzung des Experten, von welcher abzuweichen kein Anlass bestehe, sei von einer Arbeitsfähigkeit von 60 % in den dannzumal konkret ausgeübten Tätigkeiten auszugehen. In der psychisch relativ belastenden Tätigkeit als Pflegehelferin bestehe eine 50%ige Arbeitsfähigkeit neben einer 10%igen Arbeitsfähigkeit als Raumpflegerin.
2014 habe die Beschwerdegegnerin im Rahmen ihrer 50%igen Tätigkeit als Pflegehelferin ein Einkommen (zuzüglich Schichtzulagen) von Fr. 33'526.50 erzielt. Dazu komme das Einkommen als Raumpflegerin in einem 10 %-Pensum von Fr. 5'447.25. Daraus ergebe sich ein Invalideneinkommen von Fr. 38'973.75. Im Gesundheitsfall wäre die Beschwerdegegnerin in den gleichen Tätigkeiten als Pflegehelferin zu 90 % und als Raumpflegerin zu 10 % erwerbstätig. Damit würde sie ein Valideneinkommen von Fr. 65'794.95 ([Fr. 33'526.50 x [90 %/ 50 %]] + Fr. 5'447.25) erzielen. Daraus ergebe sich ein Invaliditätsgrad von 41 % ([[Fr. 65'794.95 - Fr. 38'973.75]/Fr. 65'794.95] x 100 %; zum Runden <ref-ruling>). Ab........ habe die Beschwerdegegnerin nicht mehr als Raumpflegerin gearbeitet und damit ihr Leistungsvermögen nicht mehr voll ausgeschöpft. In einer in psychischer Hinsicht ähnliche Anforderungen stellenden Tätigkeit im zeitlichen Umfang von 10 % könnte sie auf der Grundlage der Schweizerischen Lohnstrukturerhebung des Bundesamtes für Statistik 2012 (vgl. <ref-ruling> und <ref-ruling>) unter Berücksichtigung der Nominallohnentwicklung Fr. 5'298.65 verdienen, was zu keiner rentenrelevanten Änderung der Vergleichseinkommen führe.
3.
3.1. Die vorinstanzliche Invaliditätsbemessung erfolgte somit auf der Grundlage der konkreten beruflich-erwerblichen Situation. Voraussetzung hierfür sind ein besonders stabiles Arbeitsverhältnis, volles Ausschöpfen der verbliebenen Arbeitsfähigkeit in zumutbarer Weise und eine angemessene Entlöhnung der Arbeitsleistung ohne Soziallohnkomponente (<ref-ruling> E. 2.3 S. 593; <ref-ruling> E. 3b/aa S. 76; Urteil 9C_762/2015 vom 26. Januar 2016 E. 4.1). Die Beschwerdeführerin bestreitet u.a., dass die zweite Bedingung (volles Ausschöpfen der Arbeitsfähigkeit) erfüllt ist. Was sie vorbringt, ist indessen nicht stichhaltig.
3.2. Die Vorinstanz hat implizit festgestellt, die Beschwerdegegnerin habe als Pflegehelferin (50 %) und Raumpflegerin (10 %) ihre verbliebene Arbeitsfähigkeit in zumutbarer Weise voll ausgeschöpft. Mit ihren Vorbringen vermag die Beschwerdeführerin nicht aufzuzeigen, inwiefern diese Feststellung offensichtlich unrichtig ist oder auf einer willkürlichen Beweiswürdigung beruht (<ref-law>; <ref-ruling> E. 4.4 S. 444). In Bezug auf die Frage der Zumutbarkeit, die Tätigkeit als Pflegehelferin aufzugeben und einer anderen (den Anspruch auf eine Rente allenfalls ausschliessenden) erwerblichen Beschäftigung nachzugehen (Pflicht zur Selbsteingliederung; <ref-ruling> E. 4a S. 28), weist sie selber darauf hin, dass gemäss dem psychiatrischen Adminstrativgutachter die Versicherte durch eine neue berufliche Situation übermässig belastet, eine Umstellung mit dem Risiko einer Dekompensation verbunden wäre. Wie im Übrigen die Beschwerdegegnerin in ihrer Vernehmlassung vorbringt, hatte sich der Experte an den normativen Vorgaben gemäss <ref-ruling> orientiert und dementsprechend bei seiner Beurteilung nicht nur Ressourcen berücksichtigt, sondern auch die Belastungen, welche in der Beschwerde selektiv und damit bundesrechtswidrig ausgeblendet würden (unter Hinweis auf das Urteil 9C_596/2016 vom 26. September 2017 E. 5.3, in: SVR 2018 IV Nr. 15 S. 45).
3.3. Der angefochtene Entscheid verletzt kein Bundesrecht (<ref-law>). Die Beschwerde ist unbegründet.
4.
Ausgangsgemäss hat die Beschwerdeführerin die Gerichtskosten zu tragen (<ref-law>) und der Beschwerdegegnerin eine Parteientschädigung zu bezahlen (<ref-law>).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 800.- werden der Beschwerdeführerin auferlegt.
3.
Die Beschwerdeführerin hat die Beschwerdegegnerin für das bundesgerichtliche Verfahrens mit Fr. 2'400.- zu entschädigen.
4.
Dieses Urteil wird den Parteien, dem Sozialversicherungsgericht des Kantons Zürich und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 17. April 2018
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Pfiffner
Der Gerichtsschreiber: Fessler