Yazılım bakımı, bir bilgisayar programının yayınlandıktan sonra değiştirildiği veya güncellendiği bir işlemdir. "Bakım" terimi, onarım ve hataların düzeltilmesi anlamına gelebilirken, bu işlemin yalnızca bir kısmı “düzeltici” olarak adlandırılan bu amaç için tasarlanmıştır. Bir programın değişen ortamlarda etkin ve kullanılabilir olmasını ve işlevselliği artıran "mükemmel" prosedürleri sürdürmesini sağlayan "uyarlamalı" işler için çok sayıda yazılım bakımı kullanılır. "Önleyici" bakım, daha sonraki güncellemelerin geliştirilmesini kolaylaştırmak için ek belgeler ve araçlar sağlayarak, gelecekte süreci kolaylaştırmak için kullanılır.
Bir geliştirici tarafından yaratılan ve daha sonra halka sunulan yamalar ile çok sayıda yazılım bakımı gerçekleştirilir. Bu dosyalar bir bilgisayar kullanıcısı tarafından kurulur ve bir sistemdeki temel programın işlevselliğini ve tasarımını değiştirir. Bu, bir programın yayınlanmasından sonra yapılır, ancak erken yazılım geliştirme de dikkate alınmalıdır.
Düzeltici yazılım bakımı, hataları gideren veya sorunları gideren bir programda değişiklik geliştirme işlemidir. Bu, zaten mevcut olmadıkça, programlamadaki bir hata nedeniyle kullanılamayacaksa, yeni özellikler eklemez. Tüm yazılım bakımlarının sadece dörtte biri düzeltme sorunları için kullanılır, ancak genellikle program kullanıcıları tarafından en önemli unsur olarak görülür.
Çok fazla sayıda yazılım bakımı, bir programı yeni bir ortamda çalışacak şekilde ayarlamak için kullanılan "uyarlamalı" olarak adlandırılır. Programlar genellikle belirli bir İşletim Sistemlerinde (İşletim Sistemi) çalışmak üzere tasarlanmış ve geliştirilmiştir. Bazı yazılımlar daha yeni sürümlerde çalışabilirken, bunu yapamayan birçok program vardır. Bir programa uyarlanabilir bir yama, yeni bir sistemde düzgün çalışmasını sağlamak için kodu değiştirebilir, güncel ve kullanılabilir halde tutar.
Mükemmel yazılım bakımı, bir ürüne yeni özellikler eklemek ve bir kullanıcıyı doğrudan etkileyebilecek değişiklikler yapmak için kullanılır. Bir şirket, örneğin birkaç yazım denetimi özelliği içeren bir kelime işlemci programı yayınlayabilir. Programdaki sözlüğü güncelleyen ve ek hata düzeltme seçenekleri oluşturan bir düzeltme eki yayınlarlarsa, mükemmel bakım olarak kabul edilirdi. Bu güncellemeler tipik olarak oldukça küçüktür, çünkü büyük revizyonlar genellikle yeni bir sürüm veya yazılımın "istemcisi" nin yayınlanmasını gerektirir.
Geliştiriciler ayrıca gelecekteki değişiklikleri daha da kolaylaştırmak için kullanılan önleyici yazılım bakımı üzerinde çalışabilirler. Gelişmeden sonra, bir şirket henüz gelişmemiş bir böcek potansiyeli olduğunu fark edebilir. Gerçekten de bir sorun olmadan önce bu sorunu çözen bir yamayı yayınlayabilirler. Gelecekteki bakımı kolaylaştırmak veya gereksiz hale getirmek için ek belgeler ve kod temizleme de yapılabilir.


