Ismarlama yazılım, bazı durumlarda özel yazılım olarak da adlandırılır, bir şirketin, kuruluşun veya bireysel bir son kullanıcının gereksinimlerini karşılamak için özel olarak tasarlanmış ve oluşturulan bir uygulama veya yazılım paketidir. Bu ısmarlama yazılım paketlerine uygulanan özelleştirme düzeyi, bunları genel, ticari olarak satılan yazılım paketlerinden ayırır. Ismarlama bir yazılım geliştiricisi, bu özel yazılım uygulamalarının oluşturulmasında görevli olan ekip veya bireydir.
Mevcut bir yazılım geliştirme şirketinin bir parçası veya bireysel bir yüklenici olarak, ısmarlama yazılım geliştiricilerin, kendilerini son kullanıcının veya organizasyonun çalışma stiliyle tanıştırmaları beklenir. Genellikle yalnızca yazılımın geliştirildiği tek bir müşteri olacağı için, ısmarlama yazılım geliştiricisinin karşılaması gereken birkaç geliştirme aşaması olacaktır. Gelişimin her aşaması tamamlandıktan, test edildikten ve gerekli iyileştirmeler için analiz edildikten sonra, gelişimin bir sonraki aşaması başlayabilir.
Ismarlama yazılım geliştirme isteği, operasyonel, envanter, kaynak ve finansal süreçleri gerektiği gibi yönetmek için kullanılan özel yazılımların kullanıldığı daha büyük kuruluşlardan alınır. Yazılım geliştirildikçe, özgün tasarım özetindeki değişiklikleri dahil etmek için ısmarlama bir yazılım geliştiricisinin hazırlanması gerekir. Boş bir tuvalden geliştirmeye başlamak ve paketi sorunları ele almak için uyarlamak, özel yazılım geliştirmeyi geleneksel yazılım paketi oluşturmaya dahil olandan daha odaklı bir işlem haline getirir.
Özel yazılım gereksinimi, genellikle son kullanıcının gereksinimlerini karşılayacak mevcut bir ticari yazılım paketinin bulunmamasından kaynaklanır. Bu durumda, ısmarlama bir yazılım geliştiricisinin, paket için belirlenen gereksinimlerin karşılandığından emin olmak için yazılım anlamında yeni bir zemin kaplayan yenilik yapması beklenir. Müşteriler ayrıca, yazılım paketinde amaçlarına en iyi şekilde nasıl ulaşabilecekleri konusunda tavsiye için geliştiriciye de bakarlar. Bu alanda geliştiricinin son kullanıcının operasyonel çalışma uygulamalarını anlaması gerekir.
Özel işlevsellik gereksinimleri zaman zaman yalnızca yazılım paketi kullanılırken ortaya çıkar. Bu gerçekleştiğinde, geliştirici, gerekli değişiklikleri yapmak için oluşturulan yazılımı okuyacak konumda olmalıdır. Bu alanda, ısmarlama bir yazılım geliştiricinin rolü daha geleneksel bir yazılım geliştirme konumundan farklıdır. Yaratma sürecinin akıcı doğası ve program hatalarını düzeltmek için genelleştirilmiş iyileştirmeler veya yamalar yerine belirli müşteri ihtiyaçlarını karşılamak için devam eden iyileştirmeler, ısmarlama gelişime çok daha fazla ilgili ve kişisel bir his katmaktadır.


