Faits : A. A._ s'est annoncée à l'assurance-invalidité le 20 octobre 2009 en indiquant qu'elle avait subi une ostéotomie et une thyroïdectomie et qu'elle souffrait d'arthrose de la colonne vertébrale. L'Office de l'assurance-invalidité du canton de Genève (l'office AI) a retenu un statut de personne active à 80 %, les 20 % restants étant consacrés aux tâches ménagères. Le docteur B._, spécialiste en médecine interne et rhumatologie, médecin au Service médical régional de l'assurance-invalidité (SMR), a attesté une capacité de travail de 50 % dans toute activité professionnelle tenant compte des limitations fonctionnelles requises par la pathologie ostéoarticulaire, et de 50 % dans une activité adaptée depuis fin 2007 (rapport du 21 janvier 2013). Les empêchements ont été évalués à 40 % dans la sphère ménagère (rapport d'enquête économique sur le ménage du 1 er décembre 2011). Appliquant la méthode mixte d'évaluation de l'invalidité, l'office AI a fixé le taux d'invalidité à 38 % (30 % pour l'activité lucrative, 8 % pour l'activité ménagère) et rejeté la demande de prestations, par décision du 10 janvier 2014. B. A._ a déféré cette décision à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, en concluant à l'octroi d'une rente entière d'invalidité. Par jugement du 24 novembre 2015, la juridiction cantonale a porté le taux d'invalidité à 40 %. Elle a annulé la décision du 10 janvier 2014 et reconnu le droit de l'assurée à un quart de rente d'invalidité à compter du 1 er mai 2009. C. L'office AI interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant à la confirmation de sa décision du 10 janvier 2014. L'assurée intimée conclut à la confirmation du jugement entrepris, par substitution de motifs, en tant qu'il lui octroie un quart de rente; elle demande que le droit à la rente soit fixé au 1 er avril 2013. L'Office fédéral des assurances sociales (OFAS) a renoncé à se déterminer.