Faits :
A.
Le 3 mars 2004, la société C._ SA est devenue propriétaire de plusieurs biens-fonds de la commune de Bagnes, dans la station de Verbier. Le 17 avril suivant, elle a conclu par écrit un « contrat d'entreprise totale » avec les sociétés D._ SA et B._ Frères; celles-ci s'obligeaient conjointement et solidairement à réaliser cinq chalets sur ces biens-fonds. Leur mission s'étendait de l'étude du projet, avec la confection des plans, jusqu'à l'exécution de l'ensemble des travaux. Le contrat incluait un descriptif des constructions, un jeu de « plans généraux », un plan chronologique de la réalisation, un plan de paiement, un permis de construire et des copies de polices d'assurance. Les parties convenaient d'un prix forfaitaire de 7'590'297 francs.
Le permis de construire avait été sollicité le 10 juin 2003 par Alpin Chalet SA et délivré le 22 décembre suivant par l'autorité communale.
Les cinq chalets devaient être livrés le 29 juillet 2005. En cas de retard au delà du 23 décembre 2005, D._ SA et B._ Frères assumaient dès cette date, par semaine de retard, une pénalité au taux de 0,25 % de la valeur de chaque chalet non encore livré.
La réalisation progressa conformément à la planification convenue jusqu'à la fin de l'année 2004. Des retards survinrent ensuite et des divergences s'élevèrent entre les parties. Le 3 octobre 2007, la maîtresse de l'ouvrage signifia à ses contractantes qu'elle ferait achever les travaux à leurs frais par des entreprises tierces.
B.
Selon les plans validés par le permis de construire, les sous-sols des chalets devaient comprendre divers locaux et espaces non habitables. Ces locaux et espaces furent en réalité aménagés en pièces d'habitation. L'autorité communale exigea une nouvelle procédure d'autorisation de construire destinée à régulariser les constructions effectivement réalisées. De divers propriétaires voisins et de la commune de Bagnes, la maîtresse de l'ouvrage dut acquérir à prix d'argent les droits de bâtir nécessaires à l'augmentation de la surface habitable. L'autorité communale lui infligea en outre une amende administrative au montant de 100'000 francs.
C.
Le 10 décembre 2007, C._ SA a ouvert action contre D._ SA et B._ Frères devant le Juge des districts de Martigny et Saint-Maurice.
Les défenderesses ont conclu au rejet de l'action et elles ont introduit une action reconventionnelle. La demanderesse a conclu au rejet de cette action.
La société A._ SA a absorbé C._ SA le 24 juin 2011; dans le procès, elle lui a succédé en qualité de demanderesse.
Selon l'ultime version de ses conclusions, les défenderesses devaient être condamnées à payer solidairement 3'374'480 fr.40 avec intérêts au taux de 5% par an dès le 1er février 2007.
Selon les conclusions reconventionnelles, la demanderesse devait être condamnée à payer aux défenderesses, créancières solidaires, 292'486 fr.22 avec intérêts au taux de 5% par an dès le 22 janvier 2006.
Le Juge de district s'est prononcé le 8 août 2016. Il a partiellement accueilli l'action principale et il a condamné les défenderesses à payer diverses sommes au total de 2'014'002 fr.70 en capital, avec suites d'intérêts. Le Juge a rejeté l'action reconventionnelle.
D.
Les défenderesses ont appelé au Tribunal cantonal, toutefois sans articuler de conclusions sur les prétentions en cause; elles se sont bornées à réclamer l'annulation du jugement. La demanderesse a conclu au rejet de l'appel.
La défenderesse D._ SA a été mise hors de cause par suite de sa faillite, prononcée le 6 juin 2018 et close le 12 octobre suivant.
La Ire Cour civile du Tribunal cantonal a statué le 6 mai 2019. Sur la base de la motivation de l'appel, la Cour a retenu que celui-ci tendait au rejet de l'action principale. Elle l'a partiellement accueilli. Elle a réformé le jugement en ce sens que la défenderesse B._ Frèresest condamnée à payer divers montants au total de 1'381'351 fr.50 en capital.
E.
Agissant par la voie du recours en matière civile, la défenderesse requiert le Tribunal fédéral d'annuler le jugement d'appel.
La demanderesse a pris position sur une demande d'effet suspensif jointe au recours; elle n'a pas été invitée à répondre au recours.
Par ordonnance du 20 juin 2019, la Présidente de la Ire Cour de droit civil a donné effet suspensif au recours.
F.
Agissant elle aussi par la voie du recours en matière civile, la demanderesse présente des conclusions tendant à la confirmation du jugement de première instance.
La défenderesse conclut au rejet de ce recours.

Considérant en droit :
1.
Les deux recours étant dirigés contre la même décision, il y a lieu de joindre les causes et de statuer par un arrêt unique.
2.
Selon la jurisprudence relative à l'<ref-law>, le mémoire de recours adressé au Tribunal fédéral doit comporter des conclusions sur le sort des prétentions en cause, à allouer ou à rejeter par le tribunal, et la partie recourante n'est en principe pas recevable à réclamer seulement l'annulation de la décision attaquée. Ce dernier procédé n'est admis que dans l'hypothèse où le Tribunal fédéral, en cas de succès du recours, ne pourrait de toute manière pas rendre un jugement final, et devrait au contraire renvoyer la cause à la juridiction cantonale pour complètement de l'état de fait et nouvelle décision selon l'<ref-law> (<ref-ruling> consid. 1.3 p. 383; <ref-ruling> consid. 3). De plus, les conclusions doivent indiquer sur quels points la partie recourante demande la modification de la décision attaquée. Elles doivent en principe être libellées de telle manière que le Tribunal fédéral puisse, s'il y a lieu, les incorporer sans modification au dispositif de sa propre décision. En règle générale, les conclusions portant sur des prestations en argent doivent être chiffrées (<ref-ruling>; voir aussi <ref-ruling> consid. 4.2 et 4.3 p. 618, relatif à l'<ref-law>).
En l'espèce, la défenderesse n'explique pas dans son mémoire de recours et le Tribunal fédéral ne discerne pas pourquoi il ne pourrait pas mettre lui-même fin au litige, en cas de succès des arguments présentés, plutôt que renvoyer la cause au Tribunal cantonal. Les conclusions de cette partie sont donc lacunaires.
La défenderesse se fait conseiller et représenter par un avocat. Elle a procédé de manière pareillement déficiente déjà devant le Tribunal cantonal. Celui-ci a relevé, dans son jugement, que des conclusions « au fond » auraient dû être articulées dans le mémoire d'appel et que les conclusions en annulation étaient à elles seules insuffisantes. Le comportement procédural exigé a été ainsi rappelé à la défenderesse; néanmoins, celle-ci persiste dans un comportement incorrect. Dans ces conditions, le Tribunal fédéral peut se dispenser d'examiner si la motivation du recours remédie à l'insuffisance des conclusions; il peut au contraire, sans formalisme excessif, déclarer le recours irrecevable (situation identique: <ref-ruling>).
3.
Le recours de la demanderesse satisfait, lui, aux conditions de recevabilité du recours en matière civile.
La réponse de la défenderesse a été déposée alors que cette partie ne pouvait plus introduire elle-même un recours dans le délai prescrit par l'<ref-law>. En conséquence, les critiques du jugement d'appel développées dans cette écriture ne sont recevables que dans la mesure où elles peuvent aboutir par substitution de motifs au rejet des critiques valablement élevées par la demanderesse (<ref-ruling> consid. 2.3 i.f. p. 334).
4.
Le Juge de district a alloué à cette partie le montant de 712'766 fr. à titre de dommages-intérêts; ce montant incluait l'amende administrative infligée à hauteur de 100'000 fr. par l'autorité communale.
Le Tribunal cantonal confirme la responsabilité contractuelle imputée aux défenderesses et il confirme aussi le calcul des dommages-intérêts. Il retranche cependant l'amende administrative au motif qu'il s'agit d'une sanction strictement personnelle, insusceptible d'être reportée sur autrui par une action en dommages-intérêts. Le Tribunal cantonal opère ensuite une réduction de 10 % en raison d'une faute concomitante de la demanderesse, d'où il résulte que le jugement d'appel alloue seulement 551'490 fr. à titre de dommages-intérêts. Devant le Tribunal fédéral, la demanderesse conteste ces deux réductions.
4.1. Il est constant que l'amende administrative prévue par la législation valaisanne sur les constructions doit être infligée à raison de la faute imputable à la personne physique ou morale qui est condamnée. Il s'ensuit que cette amende ne peut pas constituer un dommage sujet à réparation en application du droit civil (<ref-ruling>). Nonobstant les protestations de la demanderesse, le Tribunal cantonal retient à bon droit qu'il incombait à cette partie de contester le prononcé de l'autorité communale et de faire valoir, si elle s'y estimait fondée, qu'elle n'assumait aucune responsabilité dans la réalisation d'un ouvrage divergeant des plans autorisés et contraire à la réglementation applicable.
4.2. Il est aussi constant que l'aménagement de pièces d'habitation supplémentaires dans les sous-sols des chalets s'est accompli conformément à une volonté exprimée par la demanderesse. Selon les juges de première instance et d'appel, les défenderesses s'étaient chargées de la confection des plans. Dans l'exécution de cette tâche, elles auraient dû avertir leur cocontractante que l'aménagement de pièces supplémentaires entraînait une augmentation de la surface habitable et que cette augmentation nécessitait l'acquisition de droits de bâtir eux aussi supplémentaires. Elles ont omis cet avertissement et leur responsabilité est par conséquent engagée à titre principal. Néanmoins, en raison des connaissances professionnelles des organes de la demanderesse, ceux-ci auraient pu et dû entrevoir par eux-mêmes les conséquences juridiques et financières de l'aménagement de pièces supplémentaires; c'est pourquoi les juges d'appel imputent une faute concomitante à cette partie. Leur raisonnement fait référence à un traité renommé dans le domaine du contrat d'entreprise (Peter Gauch, Der Werkvertrag, 6e éd., 2019, n° 1956 p. 856 et n° 2051 p. 881).
La demanderesse avait notamment pour but le développement d'affaires immobilières. Dès avant la demande d'autorisation de construire, le 10 juin 2003, et jusqu'au 23 décembre 2005, elle a eu pour organes non seulement ses deux actionnaires dont les connaissances professionnelles ou autres aptitudes ne sont pas constatées, mais aussi deux avocats. La limitation de la surface habitable d'un bâtiment en fonction de la surface constructible du terrain est une règle classique du droit des constructions, de sorte que des avocats actifs dans la promotion immobilière ne peuvent guère l'ignorer. Le Tribunal cantonal exerçait un large pouvoir d'appréciation dans l'application de l'<ref-law> relatif à la faute concomitante (<ref-ruling> consid. 8c p. 459). En dépit de l'opinion différente de la demanderesse, le tribunal a jugé sans abuser de ce pouvoir que les avocats organes de la demanderesse étaient en mesure de discerner que l'aménagement de pièces d'habitation supplémentaires, dans les sous-sols des chalets, pouvait engendrer une irrégularité au regard du permis de construire et de la réglementation applicable. La demanderesse n'est donc pas fondée à se plaindre, sur ce point, d'une violation des règles de la responsabilité contractuelle.
4.3. Le Tribunal cantonal n'a pas davantage abusé de son pouvoir d'appréciation en jugeant la faute concomitante suffisamment grave, en comparaison avec la faute principale des deux sociétés chargées de la réalisation, pour justifier une réduction de 10 % des dommages-intérêts. Sur ce point également, les critiques de la demanderesse doivent être rejetées.
5.
Le Juge de district a alloué à la demanderesse le montant de 1'271'375 fr.20 au titre de la peine conventionnelle convenue, pour soixante-sept semaines de retard dans la livraison des cinq chalets.
Le Tribunal cantonal confirme le calcul du juge de première instance. Il retient cependant que la pénalité correspondant à 16,75 % du prix forfaitaire convenu est excessive et sujette à réduction en application de l'<ref-law>. Il la réduit au maximum jugé tolérable, soit à 800'000 fr. correspondant à « un peu plus » de 10 % du prix. Devant le Tribunal fédéral, la demanderesse conteste cette réduction.
5.1. Aux termes de l'<ref-law>, le juge doit réduire les peines conventionnelles qu'il estime excessives. Cette disposition lui confère un pouvoir d'appréciation. Une réduction ne se justifie toutefois que si le montant fixé dépasse toute mesure raisonnable et compatible avec le droit et l'équité. Tel est le cas, notamment, lorsqu'il existe une disproportion évidente entre le montant convenu et l'intérêt du créancier à élever la totalité de sa prétention. Les circonstances de l'espèce sont déterminantes; il convient de tenir compte, en particulier, de la nature et de la durée du contrat, de la gravité de la faute, de la situation économique des parties et de leur expérience en affaires. Il n'incombe pas au créancier de prouver que la peine convenue est appropriée, mais au débiteur d'alléguer et d'établir des faits propres à justifier une réduction (<ref-ruling> consid. 5.2 p. 209; voir aussi <ref-ruling> consid. 4).
Le Tribunal fédéral ne contrôle qu'avec retenue une décision de dernière instance cantonale prise dans l'exercice du pouvoir d'appréciation. Le tribunal intervient lorsque le prononcé s'écarte sans raison des règles établies en la matière par la doctrine et la jurisprudence, ou lorsqu'il repose sur des faits qui, dans le cas particulier, ne devaient jouer aucun rôle, ou encore lorsqu'il méconnaît des éléments qui auraient absolument dû être pris en considération; en outre, le Tribunal fédéral redresse les décisions d'appréciation qui aboutissent à un résultat manifestement injuste ou à une iniquité choquante (<ref-ruling> consid. 4.2.5 i.f. p. 269; <ref-ruling> consid. 2.1 p. 254; <ref-ruling> consid. 2.1.1 p. 305).
5.2. Le Tribunal cantonal ne motive guère la réduction qu'il opère dans la présente contestation. Il mentionne deux contributions doctrinales selon lesquelles un contrat d'entreprise prévoyant une pénalité variable, croissant en fonction de la durée d'un retard dans la livraison de l'ouvrage, devrait aussi prévoir une limite de cette pénalité; les auteurs préconisent une limite à hauteur de 10 % du prix de l'ouvrage (Gaspard Couchepin, La clause pénale, 2008, p. 364 n° 1763; Peter Reetz, in Peter Gauch et al., Kommentar zur SIA-Norm 118, 2e éd., 2017, p. 521 n° 8.4). Le tribunal discute et rejette, ensuite, les arguments des défenderesses en faveur d'une réduction. Il met en évidence que la clause pénale insérée dans le contrat ne répondait à aucun but autre que protéger l'intérêt de la demanderesse à une livraison des chalets à la date convenue. Enfin, il met en évidence que la pénalité correspond à 16,75 % du prix convenu et, sans plus d'explication, il estime cette proportion excessive au regard de cet intérêt de la demanderesse.
L'approche ainsi adoptée équivaut à poser de manière absolue et générale qu'au regard de l'<ref-law>, une pénalité à calculer en fonction d'un retard dans la livraison de l'ouvrage ne peut pas excéder « un peu plus » de 10 % du prix de l'ouvrage. Un régime pareillement rigide ne pourrait se justifier que par des considérations topiques, objectives et irréfutables. Or, celles-ci ne se révèlent pas d'emblée et le Tribunal cantonal ne les expose pas. Il importe plutôt que le juge exerce son pouvoir d'appréciation et fonde une éventuelle réduction de la pénalité sur les circonstances concrètes de la cause. Dans l'affaire présentement discutée, le Tribunal cantonal ne relève aucun élément au regard duquel la pénalité calculée conformément au contrat puisse être jugée exorbitante de toute mesure raisonnable et incompatible avec le droit et l'équité. La motivation du jugement d'appel ne parvient donc pas à justifier la réduction de la pénalité.
5.3. Les juges d'appel considèrent notamment que la pénalité convenue ne doit être réduite, par hypothèse, ni en raison de l'inexpérience ni en raison de la faiblesse économique des sociétés chargées de la construction. La défenderesse revient sur ce premier point dans sa réponse au recours, toutefois sans parvenir à invalider une appréciation des juges qui est, celle-ci, motivée de manière circonstanciée. La défenderesse revient également sur des modifications que la demanderesse a fait apporter aux plans durant l'été de 2004 et sur le retard que ces modifications ont prétendument causé dans la réalisation du projet. Cette argumentation est vaine car le Tribunal cantonal constate en fait, en termes clairs et de manière à lier le Tribunal fédéral par l'effet de l'<ref-law>, que le retard postérieur à la fin de 2005 a sa cause exclusive dans les manquements des deux sociétés de construction.
La réduction de la pénalité ne peut donc pas non plus se justifier par substitution de motifs sur la base des arguments développés dans la réponse au recours. La demanderesse dénonce à bon droit une application incorrecte de l'<ref-law>, avec cette conséquence que le montant de la pénalité arrêté par le Juge de district doit être confirmé. Le jugement d'appel sera réformé sur ce point.
6.
Les jugements de première instance et d'appel allouent des dommages-intérêts supplémentaires au total de 29'861 fr.50; ce point n'est pas contesté et doit être confirmé.
7.
La défenderesse doit acquitter l'émolument judiciaire afférent à son recours, arrêté à 2'000 fr., et les dépens auxquels la demanderesse peut prétendre pour avoir pris position sur la demande d'effet suspensif. Ces dépens sont arrêtés à 500 francs.
Par rapport au jugement d'appel, les prestations allouées à la demanderesse sont augmentées d'à peu près 470'000 fr. alors que selon ses conclusions, elle réclamait une augmentation de 630'000 fr. environ. Cela conduit à la répartition de l'émolument et des dépens afférents à son recours (art. 66 al. 1 et 68 al. 1 LTF), à raison d'un quart à sa charge et de trois quarts à celle de l'adverse partie. Arrêté à 8'000 fr., l'émolument est donc imputé à hauteur de 2'000 fr. à la demanderesse et de 6'000 fr. à la défenderesse. La charge des dépens peut être évaluée à 9'000 fr. tant pour la demanderesse que pour la défenderesse. Celle-ci doit verser 6'750 fr. et recevoir 2'250 fr.; après compensation, le solde à sa charge s'élève à 4'500 francs.
L'émolument et les dépens à la charge de la défenderesse atteignent ainsi, au total, 8'000 fr. et 5'000 fr. respectivement.

Par ces motifs, le Tribunal fédéral prononce :
1.
Les causes sont jointes.
2.
Le recours de la défenderesse est irrecevable.
3.
Le recours de la demanderesse est partiellement admis et le jugement d'appel est réformé en ce sens que la défenderesse est condamnée à payer à la demanderesse les sommes ci-après :
- 1'271'375 fr.20 avec intérêts au taux de 5% par an dès le 1er février 2007;
- 551'490 fr. avec intérêts au même taux dès le 14 novembre 2007 sur 2'490 fr., dès le 27 novembre 2007 sur 27'000 fr. et dès le 6 février 2008 sur 522'000 francs;
- 29'861 fr.50 avec intérêts au même taux dès le 1er février 2007 sur 6'750 fr. et dès le 11 décembre 2007 sur 23'111 fr.50.
4.
La défenderesse acquittera un émolument judiciaire de 8'000 francs.
5.
La demanderesse acquittera un émolument judiciaire de 2'000 francs.
6.
La défenderesse versera une indemnité de 5'000 fr. à la demanderesse, à titre de dépens.
7.
La cause est renvoyée au Tribunal cantonal pour statuer à nouveau sur les frais et dépens des instances cantonales.
8.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton du Valais.
Lausanne, le 17 avril 2020
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente : Kiss
Le greffier : Thélin