Une contrainte technique est une donnée d'entrée dans la recherche d'une solution technique. Elle va compliquer le développement ou la mise en œuvre d'une solution.
La contrainte peut être assimilée à un obstacle, à de la censure. Mais les limitations techniques, scientifiques, économiques, les lois de la nature, les délais, etc. sont souvent des contraintes qui amènent au progrès, comme la création des machines volantes pour « vaincre » la gravité. Dans le cas de la fabrication des Liberty ships, les contraintes socio-techniques de la production en grande quantité, à faible coût et en un temps minimal (conditions de guerre), a conduit à la création de l’ingénierie systémique. Quoique subie, elle produit les mêmes effets que la contrainte artistique volontaire, car la contrainte peut être résolue par l'innovation :
« […] Les contraintes ne sont ni des obstacles ni des barrières ou des entraves. Pour les sous-systèmes téléonomiques qu'elles contraignent – les organismes dans la nature, les personnes dans la société – elles sont les principes de créativité, les règles dont l’application rendent possibles la complexité de l'organisation. Dans les systèmes de communication, les contraintes des codes utilisés permettent – mais ne déterminent pas – l’organisation de l'information en messages réciproquement intelligibles par ceux qui partagent les codes[1]. »
— Anthony Wilden, Système et Structure. Essais sur la communication et l’échange, p. 523
En ingénierie, une contrainte est donc une condition à satisfaire. On identifie la « fonction de contrainte » pendant l'établissement d'un cahier des charges. Celui-ci spécifie la(les) fonction(s) de service et permet d’inventorier la(les) fonction(s) de contrainte que le mécanisme doit remplir. L'étude de contrainte peut à son tour imposer une nouvelle étude à un niveau de considération plus détaillé (analyse descendante) : on en vient alors à hiérarchiser les différents « niveaux de contrainte ».