نلجأ إلى التخصيص أو البرمجة في عدة حالات:
1- البرنامج الجاهز -مثلاً ArcGIS- لايتوفر فيه زر أو قائمة أو شاشة لما نريده، فنقوم بتصميم ذلك الزر أو القائمة أو الشاشة من خلال البرمجة.
2- أن العملية المطلوبة متوفرة في البرنامج الجهاز ولكن بطريقة معقدة، فيتم استخدام البرمجة لتوفيرها بطريقة مبسطة.
3- عندما يطلب عمل شاشات باللغة العربية مثلاً غير متوفرة في البرنامج الجاهز.
4- للحد من شراء عدد كبير ومكلف من الرخص البرمجية، فإذا تم عمل برنامج ويب باستخدام ArcGIS Server مثلاً فيمكن استخدامه من قبل مئات الموظفين دون أن يكون هنالك حاجة لكل واحد منهم لأن يحصل على رخصة كما هي الحالة لو استخدم ArcGIS Desktop.




ملاحظة: من الأفضل استخدام مصطلح "تخصيص" كما فعل الأخ ماهر عبدالكريم وليس مصطلح "واجهات برمجية" لأن المصطلح الثاني له معنى آخر عند المبرمجين حيث أنه ترجمة ل API أو Application Programming Interface: واجهة برمجة التطبيقات، وهي شيء مختلف عما يتضمنه سؤال الأخ السائل.