التصميم بالعقود (بالإنجليزية: Desing by Contract) هي طريقة في إدارة المشاريع البرمجية حيث يقوم الفريق البرمجي بوضع الأطر العامة والصورة الكبيرة لما يجب أن يحدث أو يتم في كل جزء برمجي، مع ترك طريقة تنفيذ تلك المهمة للمبرمج.[1][2][3] للمثال على ذلك، يعرف أن المكابح في السيارة تعمل على إيقافها (هذا الاتفاق)، لكن الشركات المختلفة تستخدم طرقًا مختلفة في الكيفية التي تصمم بها عمل المكابح. في البرمجة يتفق المبرمجون على عمل الكائنات الوظائف بشكل عام وماذا يجب أن تكون نتيجتها، ويتركون كيفية العمل لكل شخص في فعل ما يراه مناسبًا دون أن يغير في ما اتفق عليه.
تستخدم عدد من الوسائل المتوفرة في البيئات البرمجة واللغات البرمجية المختلفة. فمثلا تستخدم سي وسي++ فكرة الملفات الرأسية، وتستخدم لغات برمجية أخرى فكرة الواجهات.